← Back to team overview

openerp-india team mailing list archive

[Bug 1268085] [NEW] Incorrect BOM explode in production

 

Public bug reported:

BOM explosion in production orders is incorrect.

If you have a BOM with the following structure
Product F: 333kg
Components:
Product A: 333 kg
Product B: 33 Units
Product C: 3330 Units

If desired production order production of 100 kg of product F system
calculates:

Product A: 103.23 kg
Product B: 33 Units
Product C: 3330 Units

The correct calculation would be
Product A: 100 kg
Product B: 9.90990991 Units can be rounded to 10 Units
Product C: 990.990991 Units can be rounded to 991 Units

If desired production order production of 500 kg of product F system
calculates:

Product A: 502.83 kg
Product B: 66 Units
Product C: 6660 Units

The correct calculation would be
Product A: 500 kg
Product B: 49.54954955 Units can be rounded to 50
Product C: 4954.954955 Units can be rounded to 4955


We have identified the problem in mrp.py in method _bom_explode

        routing_obj = self.pool.get('mrp.routing')
        factor = factor / (bom.product_efficiency or 1.0)
        max_rounding = max(bom.product_rounding, bom.product_uom.rounding) # <----- is wrong
        max_rounding = bom.product_rounding
        factor = rounding(factor, max_rounding)

** Affects: openobject-addons
     Importance: Undecided
         Status: New

** Attachment added: "BOM"
   https://bugs.launchpad.net/bugs/1268085/+attachment/3945927/+files/Capture1.PNG

-- 
You received this bug notification because you are a member of OpenERP
Indian Team, which is subscribed to OpenERP Addons.
https://bugs.launchpad.net/bugs/1268085

Title:
  Incorrect BOM explode in production

Status in OpenERP Addons (modules):
  New

Bug description:
  BOM explosion in production orders is incorrect.

  If you have a BOM with the following structure
  Product F: 333kg
  Components:
  Product A: 333 kg
  Product B: 33 Units
  Product C: 3330 Units

  If desired production order production of 100 kg of product F system
  calculates:

  Product A: 103.23 kg
  Product B: 33 Units
  Product C: 3330 Units

  The correct calculation would be
  Product A: 100 kg
  Product B: 9.90990991 Units can be rounded to 10 Units
  Product C: 990.990991 Units can be rounded to 991 Units

  If desired production order production of 500 kg of product F system
  calculates:

  Product A: 502.83 kg
  Product B: 66 Units
  Product C: 6660 Units

  The correct calculation would be
  Product A: 500 kg
  Product B: 49.54954955 Units can be rounded to 50
  Product C: 4954.954955 Units can be rounded to 4955

  
  We have identified the problem in mrp.py in method _bom_explode

          routing_obj = self.pool.get('mrp.routing')
          factor = factor / (bom.product_efficiency or 1.0)
          max_rounding = max(bom.product_rounding, bom.product_uom.rounding) # <----- is wrong
          max_rounding = bom.product_rounding
          factor = rounding(factor, max_rounding)

To manage notifications about this bug go to:
https://bugs.launchpad.net/openobject-addons/+bug/1268085/+subscriptions


Follow ups

References