diff --git a/addons/mrp/models/stock_rule.py b/addons/mrp/models/stock_rule.py index 1bb6bc2f820..df9dae68342 100644 --- a/addons/mrp/models/stock_rule.py +++ b/addons/mrp/models/stock_rule.py @@ -119,8 +119,8 @@ class StockRule(models.Model): 'origin': origin, 'product_id': product_id.id, 'product_description_variants': values.get('product_description_variants'), - 'product_qty': product_qty, - 'product_uom_id': product_uom.id, + 'product_qty': product_uom._compute_quantity(product_qty, bom.product_uom_id), + 'product_uom_id': bom.product_uom_id.id, 'location_src_id': self.location_src_id.id or self.picking_type_id.default_location_src_id.id or location_dest_id.id, 'location_dest_id': location_dest_id.id, 'bom_id': bom.id, diff --git a/addons/mrp/tests/test_procurement.py b/addons/mrp/tests/test_procurement.py index 98449ac845a..24350dca7ca 100644 --- a/addons/mrp/tests/test_procurement.py +++ b/addons/mrp/tests/test_procurement.py @@ -62,8 +62,8 @@ class TestProcurement(TestMrpCommon): 'location_id': self.warehouse.lot_stock_id.id, }).action_apply_inventory() produce_product_4.action_assign() - self.assertEqual(produce_product_4.product_qty, 8, "Wrong quantity of finish product.") - self.assertEqual(produce_product_4.product_uom_id, self.uom_dozen, "Wrong quantity of finish product.") + self.assertEqual(produce_product_4.product_qty, 96, "Wrong quantity of finish product.") + self.assertEqual(produce_product_4.product_uom_id, self.uom_unit, "Wrong quantity of finish product.") self.assertEqual(produce_product_4.reservation_state, 'assigned', "Consume material not available") # produce product4 diff --git a/addons/sale_mrp/tests/test_sale_mrp_flow.py b/addons/sale_mrp/tests/test_sale_mrp_flow.py index 36885f57834..24399b7c7db 100644 --- a/addons/sale_mrp/tests/test_sale_mrp_flow.py +++ b/addons/sale_mrp/tests/test_sale_mrp_flow.py @@ -344,8 +344,8 @@ class TestSaleMrpFlow(ValuationReconciliationTestCommon): mnf_product_a = self.env['mrp.production'].search([('product_id', '=', product_a.id)]) self.assertTrue(mnf_product_a, 'Manufacturing order not created.') - self.assertEqual(mnf_product_a.product_qty, 120, 'Wrong product quantity in manufacturing order.') - self.assertEqual(mnf_product_a.product_uom_id, self.uom_unit, 'Wrong unit of measure in manufacturing order.') + self.assertEqual(mnf_product_a.product_qty, 10, 'Wrong product quantity in manufacturing order.') + self.assertEqual(mnf_product_a.product_uom_id, self.uom_dozen, 'Wrong unit of measure in manufacturing order.') self.assertEqual(mnf_product_a.state, 'confirmed', 'Manufacturing order should be confirmed.') # ------------------------------------------------------------------------------------------