summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorlen-odoo <len@odoo.com>2018-11-27 13:05:34 +0000
committerlen-odoo <len@odoo.com>2018-11-30 09:27:37 +0000
commitbfb0f1e2a5d3a921bef89718e06c5f68da4f43ac (patch)
tree538815f9a10a624f76f94a8e357fbf9bcd5282df
parent3987d11a8098d557bf4566992eda82b3331bdf73 (diff)
[FIX] mrp: update unit_factor when updating MO quantity
Set a BOM to create 10^k units of Product P, using n units of raw material R. On R, put rounding to 1 unit. Create a MO to produce 1 unit of P. Since it needs n/10^k units and rounding is set to 1, it sets 1 unit of R to consume. Now "update" (quantity to produce) to 10^k'. It correctly updates the quantity to consume. However, since it doesn't update the unit_factor, when you "produce", it will consume 10^k' units instead of 1. We copy the way the unit_factor is initially computed when updating the lines. opw 1903776 closes odoo/odoo#29067
-rw-r--r--addons/mrp/models/mrp_production.py1
1 files changed, 1 insertions, 0 deletions
diff --git a/addons/mrp/models/mrp_production.py b/addons/mrp/models/mrp_production.py
index fef233c4d05..636d0abd8dc 100644
--- a/addons/mrp/models/mrp_production.py
+++ b/addons/mrp/models/mrp_production.py
@@ -440,6 +440,7 @@ class MrpProduction(models.Model):
if move:
if quantity > 0:
move[0].write({'product_uom_qty': quantity})
+ move.unit_factor = quantity / move.raw_material_production_id.product_qty
elif quantity < 0: # Do not remove 0 lines
if move[0].quantity_done > 0:
raise UserError(_('Lines need to be deleted, but can not as you still have some quantities to consume in them. '))