When a piece location is changed in the Receiving app, it works if a piece is edited, but fails to work properly if the location is changed during the receiving process. In this case, the locationId is added to the piece, but the holdingId is not updated.
Steps to Reproduce:
- Create order + line with a given location (createInventory = instance, holding, item)
- Open the order
- Receiving app - open the title and click on Receive button
- Select the line
- Click on "Create new holdings for location"
- Choose another location and click on "Save and Close"
- Click on Receive button
- After the dialog closes, click on the piece in the list
The piece has the right new location.
The piece displays the old location.
After receiving, the piece has the new locationId but keeps the old holdingId.
The check-in request uses a null holdingId. Backend is supposed to create the holding (which it does) and save the new holdingId in the piece (which it does not).
Change the piece location before receiving.