2017-03-03 41 views
0

我从fleet.vehicle.log.services创建stock.picking这样的:选股创建失败产品 - Odoo V9社会

@api.multi 
def create_picking(self): 
    self.ensure_one() 
    vals = { 
     'location_id': self.location_id.id, 
     'location_dest_id': self.location_dest_id.id, 
     'product_id': self.product_id.id, # shouldn't be set on stock.picking, products are handled on it's positions (stock.move) 
     'product_uom_qty': self.product_uom_qty, # the same as for product_id 
     'picking_type_id': self.picking_type_id.id 
    } 
    picking = self.env['stock.picking'].create(vals) 
    return picking 

创建采摘,这种方法被称为与视图按钮,如下所示:

<button name="create_picking" string="Crear Picking" type="object" class="oe_highlight"/> 

我的问题是,product_idproduct_uom_qty不进stock.picking,但他们被称为具有One2many场,上stock.picking模型是这样的:

'move_lines': fields.one2many('stock.move', 'picking_id', string="Stock Moves", copy=True), 

所以,product_idproduct_uom_qtystock.move,所以当我点击我的按钮,创建了采摘,但它没有考虑产品,因此,如何从我的函数中添加这种关系?

+1

转到更新move_lines为*数据库结构*,并找出* stock.picking *对象。打开该记录并查看必填字段以创建记录集。根据你的创建* vals *更新。 –

+0

嗨,不,产品不在那里,我怎么能说这个? – NeoVe

回答

1

创建采摘stock.move
的线,然后在stock.picking

@api.multi 
def create_picking(self): 
    self.ensure_one() 
    #creating move_lines 
    move_vals = { 
     'product_id':your_product, 
     'product_uom':your_uom, 
     'product_uom_qty':product_uom_qty, 
     'picking_type_id': self.picking_type_id.id, 
     } 
    move_ids = self.env['stock.move'].create(move_vals) 
    vals = { 
     'location_id': self.location_id.id, 
     'location_dest_id': self.location_dest_id.id, 
     'product_id': self.product_id.id, # shouldn't be set on stock.picking, products are handled on it's positions (stock.move) 
     'product_uom_qty': self.product_uom_qty, # the same as for product_id 
     'picking_type_id': self.picking_type_id.id 
     #the move_lines here 
     'move_lines':[(6,0,move_ids.ids)] 
    } 
    picking = self.env['stock.picking'].create(vals) 
    return picking 
+0

嗨,非常感谢,但是,可以举个例子吗?我问过这里:http://stackoverflow.com/questions/42614194/expected-singleton-stock-move-odoo-v9-community,但我想尽可能保持代码清洁,我不认为我在这个问题上的做法是最简单的方式。谢谢。 – NeoVe

+1

太棒了!非常感谢! – NeoVe