Skip to content
Snippets Groups Projects
Commit 02a68278 authored by Adrien Widart's avatar Adrien Widart
Browse files

[FIX] point_of_sale: use lot's location for SML's location source


When selling a tracked product that comes from a specific place in the
warehouse, the module will ignore this information and set the parent
warehouse as source location.

To reproduce the error:
(Use demo data)
1. In Settings, enable "Multi-Warehouses"
2. Create a product P:
    - Product Type: Storable Product
    - Available in Pos: True
    - Tracking: By Unique Serial Number
3. Update its quantity:
    - Location: WH/Stock/Shelf 1
    - Serial Number: USN01
    - Qty: 1
4. Start a POS session
5. Sell P
    - Enter the same serial number
6. Go back to quantity update page for product P

Error: The quantity for "WH/Stock/Shelf 1, USN01" is still 1, it should
be 0. Moreover, a new line appeared: "WH/Stock, USN01, -1" which is
incorrect. The POS module considered that the product sold came from
WH/Stock instead of WH/Stock/Shelf 1.

OPW-2473002

closes odoo/odoo#70169

X-original-commit: dd62f84e
Signed-off-by: default avatarpimodoo <pimodoo@users.noreply.github.com>
parent 60b97ff4
No related branches found
No related tags found
No related merge requests found
......@@ -117,8 +117,10 @@ class StockPicking(models.Model):
'product_id': line.product_id.id,
'name': lot.lot_name,
})
quant = existing_lot.quant_ids.filtered(lambda q: q.quantity > 0.0 or q.location_id.parent_path.startswith(move.location_id.parent_path))[-1:]
ml_vals.update({
'lot_id': existing_lot.id,
'location_id': quant.location_id.id or move.location_id.id
})
else:
ml_vals.update({
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment