[FIX] stock: use quantity from new move_id

`quantity` on sm is depended on `quantity` on sml. When create new
sml, `quantity` of sm will always be 0. To fix it, we use origin sm in
the compute function to get correct value.

closes odoo/odoo#139913

Signed-off-by: Tiffany Chang (tic) <tic@odoo.com>
This commit is contained in:
yhu-odoo
2023-10-27 13:02:15 +00:00
parent 45ac37425b
commit dbfbc3a185
+3 -2
View File
@@ -140,8 +140,9 @@ class StockMoveLine(models.Model):
for record in self:
if not record.quant_id or record.quantity:
continue
if float_compare(record.move_id.product_qty, record.move_id.quantity, record.move_id.product_uom.rounding) > 0:
record.quantity = max(0, min(record.quant_id.available_quantity, record.move_id.product_qty - record.move_id.quantity))
origin_move = record.move_id._origin
if float_compare(record.move_id.product_qty, origin_move.quantity, record.move_id.product_uom.rounding) > 0:
record.quantity = max(0, min(record.quant_id.available_quantity, record.move_id.product_qty - origin_move.quantity))
else:
record.quantity = max(0, record.quant_id.available_quantity)