[FIX]mrp_byproduct: Fixed the UoM conversion issue between subproduct defined in BOM and UoM defined in manufacturing order
bzr revid: mma@tinyerp.com-20121123114339-2ffxfzjn0aa5rfrh
This commit is contained in:
committed by
Mayur Maheshwari (OpenERP)
parent
b5a0489979
commit
f57f48100e
@@ -86,18 +86,23 @@ class mrp_production(osv.osv):
|
||||
@return: Newly generated picking Id.
|
||||
"""
|
||||
picking_id = super(mrp_production,self).action_confirm(cr, uid, ids)
|
||||
product_uom_obj = self.pool.get('product.uom')
|
||||
for production in self.browse(cr, uid, ids):
|
||||
source = production.product_id.product_tmpl_id.property_stock_production.id
|
||||
if not production.bom_id:
|
||||
continue
|
||||
for sub_product in production.bom_id.sub_products:
|
||||
product_uom_factor = product_uom_obj._compute_qty(cr, uid, production.product_uom.id, production.product_qty, production.bom_id.product_uom.id)
|
||||
qty1 = sub_product.product_qty
|
||||
qty2 = production.product_uos and production.product_uos_qty or False
|
||||
product_uos_factor = 0.0
|
||||
if qty2 and production.bom_id.product_uos.id:
|
||||
product_uos_factor = product_uom_obj._compute_qty(cr, uid, production.product_uos.id, production.product_uos_qty, production.bom_id.product_uos.id)
|
||||
if sub_product.subproduct_type == 'variable':
|
||||
if production.product_qty:
|
||||
qty1 *= production.product_qty / (production.bom_id.product_qty or 1.0)
|
||||
qty1 *= product_uom_factor / (production.bom_id.product_qty or 1.0)
|
||||
if production.product_uos_qty:
|
||||
qty2 *= production.product_uos_qty / (production.bom_id.product_uos_qty or 1.0)
|
||||
qty2 *= product_uos_factor / (production.bom_id.product_uos_qty or 1.0)
|
||||
data = {
|
||||
'name': 'PROD:'+production.name,
|
||||
'date': production.date_planned,
|
||||
|
||||
Reference in New Issue
Block a user