=== modified file 'mrp_subproduct/mrp_subproduct.py' --- mrp_subproduct/mrp_subproduct.py 2009-10-08 08:50:16 +0000 +++ mrp_subproduct/mrp_subproduct.py 2010-04-23 14:48:16 +0000 @@ -63,29 +63,30 @@ picking_id=super(mrp_production,self).action_confirm(cr, uid, ids) for production in self.browse(cr, uid, ids): source = production.product_id.product_tmpl_id.property_stock_production.id - for sub_product in production.bom_id.sub_products: - qty1 = sub_product.product_qty - qty2 = production.product_uos and production.product_uos_qty or False - if sub_product.subproduct_type=='variable': - if production.product_qty: - qty1 *= production.product_qty / (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) - data = { - 'name':'PROD:'+production.name, - 'date_planned': production.date_planned, - 'product_id': sub_product.product_id.id, - 'product_qty': qty1, - 'product_uom': sub_product.product_uom.id, - 'product_uos_qty': qty2, - 'product_uos': production.product_uos and production.product_uos.id or False, - 'location_id': source, - 'location_dest_id': production.location_dest_id.id, - 'move_dest_id': production.move_prod_id.id, - 'state': 'waiting', - 'production_id':production.id - } - sub_prod_ids=self.pool.get('stock.move').create(cr, uid,data) + if production.bom_id: + for sub_product in production.bom_id.sub_products: + qty1 = sub_product.product_qty + qty2 = production.product_uos and production.product_uos_qty or False + if sub_product.subproduct_type=='variable': + if production.product_qty: + qty1 *= production.product_qty / (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) + data = { + 'name':'PROD:'+production.name, + 'date_planned': production.date_planned, + 'product_id': sub_product.product_id.id, + 'product_qty': qty1, + 'product_uom': sub_product.product_uom.id, + 'product_uos_qty': qty2, + 'product_uos': production.product_uos and production.product_uos.id or False, + 'location_id': source, + 'location_dest_id': production.location_dest_id.id, + 'move_dest_id': production.move_prod_id.id, + 'state': 'waiting', + 'production_id':production.id + } + sub_prod_ids=self.pool.get('stock.move').create(cr, uid,data) return picking_id mrp_production()