summaryrefslogtreecommitdiff
path: root/addons
diff options
context:
space:
mode:
authorAdrien Widart <awt@odoo.com>2021-05-12 14:41:40 +0000
committerAdrien Widart <awt@odoo.com>2021-05-18 07:18:55 +0000
commit2eee690d307e5a55dd2fc6ac05124ddd9c496da5 (patch)
tree651ced801846d99dc590c483fbb8c9d85eec553c /addons
parent13ff118da832a339d9cb43d74bf0b5dd0cf3c036 (diff)
[FIX] mrp: use MO's UoM on unbuild order creation
On unbuild order creation, when the user selects a manufacturing order, the UoM of the quantity will be defined with the product's UoM instead of MO's UoM. To reproduce the error: (Use demo data) 1. In Settings > General Settings, enable "Units of Measure" 2. Create two products P_finished and P_compo - Both are storable - Qty on Hand of P_compo = 12 3. Create a Bill of Material - Product: P_finished - Component: 1 x P_compo 4. Create a Manufacturing Order MO - Product: P_finished - Quantity To Produce: 1 Dozen(s) 5. Check Availability, Produce, Mark as Done 6. Create an Unbuild Order: - Manufacturing Order: MO Error: The unit of measure of the quantity is incorrect, this is Unit(s), it should be Dozen(s) The method `onchange_mo_id` defines the product, therefore the method `onchange_product_id` is also called and here is the issue: `onchange_product_id` will override the UoM using the product's UoM. OPW-2467017 closes odoo/odoo#70904 X-original-commit: b80321acd5553466862b5c2c56cff014765ecf99 Signed-off-by: William Henrotin <Whenrow@users.noreply.github.com> Signed-off-by: Adrien Widart <adwid@users.noreply.github.com>
Diffstat (limited to 'addons')
-rw-r--r--addons/mrp/models/mrp_unbuild.py2
1 files changed, 1 insertions, 1 deletions
diff --git a/addons/mrp/models/mrp_unbuild.py b/addons/mrp/models/mrp_unbuild.py
index 95f13ac7fa3..77537b55d0e 100644
--- a/addons/mrp/models/mrp_unbuild.py
+++ b/addons/mrp/models/mrp_unbuild.py
@@ -116,7 +116,7 @@ class MrpUnbuild(models.Model):
def _onchange_product_id(self):
if self.product_id:
self.bom_id = self.env['mrp.bom']._bom_find(product=self.product_id, company_id=self.company_id.id)
- self.product_uom_id = self.product_id.uom_id.id
+ self.product_uom_id = self.mo_id.product_id == self.product_id and self.mo_id.product_uom_id.id or self.product_id.uom_id.id
@api.constrains('product_qty')
def _check_qty(self):