From dbfbc3a1852546ec03259f957295a22b55cbd012 Mon Sep 17 00:00:00 2001 From: yhu-odoo Date: Thu, 26 Oct 2023 15:14:26 +0200 Subject: [PATCH] [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) --- addons/stock/models/stock_move_line.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/addons/stock/models/stock_move_line.py b/addons/stock/models/stock_move_line.py index bf3b542b082..9a153e20301 100644 --- a/addons/stock/models/stock_move_line.py +++ b/addons/stock/models/stock_move_line.py @@ -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)