MRP Improvement (uos)
bzr revid: fp@tinyerp.com-150294032ddeb4d5f431d937a1d46792c6531c7f
This commit is contained in:
parent
c638832ebd
commit
caa91cd401
|
@ -145,28 +145,21 @@ class mrp_bom(osv.osv):
|
|||
'code': fields.char('Code', size=16),
|
||||
'active': fields.boolean('Active'),
|
||||
'type': fields.selection([('normal','Normal BoM'),('phantom','Phantom')], 'BoM Type', required=True, help="Use a phantom bill of material in lines that have a sub-bom and that have to be automatically computed in one line, without habing two production orders."),
|
||||
|
||||
'date_start': fields.date('Valid from'),
|
||||
'date_stop': fields.date('Valid until'),
|
||||
|
||||
'sequence': fields.integer('Sequence'),
|
||||
|
||||
'position': fields.char('Internal Ref.', size=64),
|
||||
'product_id': fields.many2one('product.product', 'Product', required=True),
|
||||
'product_uos_qty': fields.float('Product UOS Qty'),
|
||||
'product_uos': fields.many2one('product.uom', 'Product UOS'),
|
||||
'product_qty': fields.float('Product Qty', required=True),
|
||||
'product_uom': fields.many2one('product.uom', 'Product UOM', required=True),
|
||||
|
||||
'product_rounding': fields.float('Product Rounding'),
|
||||
|
||||
'product_efficiency': fields.float('Product Efficiency', required=True),
|
||||
|
||||
'bom_lines': fields.one2many('mrp.bom', 'bom_id', 'BoM Lines'),
|
||||
'bom_id': fields.many2one('mrp.bom', 'Parent BoM', ondelete='cascade', select=True),
|
||||
|
||||
'routing_id': fields.many2one('mrp.routing', 'Routing', help="The list of operations (list of workcenters) to produce the finnished product. The routing is mainly used to compute workcenter costs during operations and to plan futur loads on workcenters based on production plannification."),
|
||||
|
||||
'property_ids': fields.many2many('mrp.property', 'mrp_bom_property_rel', 'bom_id','property_id', 'Properties'),
|
||||
|
||||
'revision_ids': fields.one2many('mrp.bom.revision', 'bom_id', 'BoM Revisions'),
|
||||
'revision_type': fields.selection([('numeric','numeric indices'),('alpha','alphabetical indices')], 'indice type')
|
||||
}
|
||||
|
@ -307,6 +300,7 @@ def rounding(f, r):
|
|||
class mrp_production(osv.osv):
|
||||
_name = 'mrp.production'
|
||||
_description = 'Production'
|
||||
_date_name = 'date_planned'
|
||||
_columns = {
|
||||
'name': fields.char('Name', size=64, required=True),
|
||||
'origin': fields.char('Origin', size=64),
|
||||
|
@ -428,6 +422,8 @@ class mrp_production(osv.osv):
|
|||
'product_id': production.product_id.id,
|
||||
'product_qty': production.product_qty,
|
||||
'product_uom': production.product_uom.id,
|
||||
'product_uos_qty': production.product_uos and production.product_uos_qty or False,
|
||||
'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,
|
||||
|
@ -504,12 +500,17 @@ class mrp_production(osv.osv):
|
|||
if not production.product_lines:
|
||||
self.action_compute(cr, uid, [production.id])
|
||||
production = self.browse(cr, uid, [production.id])[0]
|
||||
autopick = True
|
||||
try:
|
||||
autopick = production.product_id.auto_picking
|
||||
except:
|
||||
pass
|
||||
picking_id = self.pool.get('stock.picking').create(cr, uid, {
|
||||
'origin': (production.origin or '').split(':')[0] +':'+production.name,
|
||||
'type': 'internal',
|
||||
'move_type': 'one',
|
||||
'state': 'auto',
|
||||
'auto_picking': True,
|
||||
'auto_picking': autopick,
|
||||
})
|
||||
toconfirm = True
|
||||
|
||||
|
@ -520,6 +521,8 @@ class mrp_production(osv.osv):
|
|||
'product_id': production.product_id.id,
|
||||
'product_qty': production.product_qty,
|
||||
'product_uom': production.product_uom.id,
|
||||
'product_uos_qty': production.product_uos and production.product_uos_qty or False,
|
||||
'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,
|
||||
|
@ -539,6 +542,8 @@ class mrp_production(osv.osv):
|
|||
'product_id': line.product_id.id,
|
||||
'product_qty': line.product_qty,
|
||||
'product_uom': line.product_uom.id,
|
||||
'product_uos_qty': line.product_uos and line.product_uos_qty or False,
|
||||
'product_uos': line.product_uos and line.product_uos.id or False,
|
||||
'location_id': production.location_src_id.id,
|
||||
'location_dest_id': source,
|
||||
'move_dest_id': res_final_id,
|
||||
|
@ -551,6 +556,8 @@ class mrp_production(osv.osv):
|
|||
'product_id': line.product_id.id,
|
||||
'product_qty': line.product_qty,
|
||||
'product_uom': line.product_uom.id,
|
||||
'product_uos_qty': line.product_uos and line.product_uos_qty or False,
|
||||
'product_uos': line.product_uos and line.product_uos.id or False,
|
||||
'date_planned': newdate,
|
||||
'move_dest_id': res_dest_id,
|
||||
'location_id': production.location_src_id.id,
|
||||
|
|
Loading…
Reference in New Issue