From b4b04c9eb70271c8af2b442cb630d1067436d4eb Mon Sep 17 00:00:00 2001 From: Nicolas Martinelli Date: Mon, 22 Aug 2016 10:13:22 +0200 Subject: [PATCH] [FIX] mrp: BoM Structure report When printing a BoM Structure report, the quantitites are not multiplied down the line. For example, the BoM for Products 0 and 1: Product 0 8 Units of Product 1 Product 1 1 Unit of Product 2a 2 Units of Product 2b When printing the BoM Structure of Product 0, it shows: Product 0 8 Units of Product 1 1 Unit of Product 2a 2 Units of Product 2b It should be: Product 0 8 Units of Product 1 8 Unit of Product 2a 16 Units of Product 2b opw-686167 --- addons/mrp/report/bom_structure.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/addons/mrp/report/bom_structure.py b/addons/mrp/report/bom_structure.py index 2618de3994b..f3ee9173ade 100644 --- a/addons/mrp/report/bom_structure.py +++ b/addons/mrp/report/bom_structure.py @@ -15,12 +15,12 @@ class bom_structure(report_sxw.rml_parse): def get_children(self, object, level=0): result = [] - def _get_rec(object, level): + def _get_rec(object, level, qty=1.0): for l in object: res = {} res['pname'] = l.product_id.name_get()[0][1] res['pcode'] = l.product_id.default_code - res['pqty'] = l.product_qty + res['pqty'] = l.product_qty * qty res['uname'] = l.product_uom.name res['level'] = level res['code'] = l.bom_id.code @@ -28,7 +28,7 @@ class bom_structure(report_sxw.rml_parse): if l.child_line_ids: if level<6: level += 1 - _get_rec(l.child_line_ids,level) + _get_rec(l.child_line_ids, level, qty=res['pqty']) if level>0 and level<6: level -= 1 return result