问题描述
我想通过我的向导中出现的新数据更新我的 stock.move 数据我做了这段代码,但由于帮助我,它不起作用:
class StockPickingSplitWizard(models.TransientModel):
_name = "stock.picking.split.wizard"
line_ids = fields.One2many('stock.picking.split.wizard.line','wizard_id',string='Lines')
====== 这是获取当前值的默认函数==========
@api.model
def default_get(self,fields):
ctx = self.env.context.copy()
picking_ids = ctx.get('active_ids',[])
stock_picking_obj = self.env['stock.picking']
lines = []
for picking in stock_picking_obj.browse(picking_ids):
for move in picking.move_lines:
lines.append({
'product_id': move.product_id.id,'location_id': move.location_id.id,'location_dest_id': move.location_dest_id.id,'move_id': move.id,'product_uom_qty': move.product_uom_qty,'product_uom': move.product_uom.id
})
defaults = super(StockPickingSplitWizard,self).default_get(fields)
defaults['line_ids'] = lines
return defaults
======这是我在向导中更新旧的功能 ======
@api.multi
def action_transferer(self):
ctx = self.env.context.copy()
picking_ids = ctx.get('active_ids',[])
stock_picking_obj = self.env['stock.picking']
for line in self.line_ids:
for picking in stock_picking_obj.browse(picking_ids):
for move in picking.move_lines:
move.update({
'product_id': line.product_id.id,'location_id': line.location_id.id,'location_dest_id': line.location_dest_id.id,'product_uom_qty': line.product_uom_qty,})
move.action_assign()
class StockPickingSplitWizardLine(models.TransientModel):
_name = 'stock.picking.split.wizard.line'
move_id = fields.Many2one('stock.move','Stock Move')
product_id = fields.Many2one('product.product','Article')
product_uom_qty = fields.Float(u'Quantité',digits_compute=dp.get_precision('Product Unit of Measure'))
location_id = fields.Many2one('stock.location','Source Location',select=True)
location_dest_id = fields.Many2one('stock.location','Destination Location',required=True)
product_uom = fields.Many2one('product.uom','Unit of Measure',required=True)
wizard_id = fields.Many2one('stock.picking.split.wizard','Wizard')
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)