我在按下打开弹出窗口时在sale.order.line模型上创建一个按钮,此视图位于stock.picking.form中。问题是,当我打开弹出窗口时显示空白表单。我想要的是弹出窗口显示我在sale.order.line表单中输入的数据。例如:产品名称,数量,客户名称等...
这是我的view.xml中的按钮:
<button name="action_stock_picking" string="Inventario" type="object" icon="fa-arrow-right"/>
这是我的按钮功能,打开弹出窗口:
@api.multi
def action_stock_picking(self):
self.ensure_one()
picking_form = self.env.ref('stock.view_picking_form', False)
ctx = dict(
default_model='stock.picking',
default_res_id=self.id,
default_composition_mode='comment',
mark_invoice_as_sent=True,
)
return {
'name': _('Formulario de Inventario: Recepciones'),
'type': 'ir.actions.act_window',
'view_type': 'form',
'view_mode': 'form',
'res_model': 'stock.picking',
'views': [(picking_form.id, 'form')],
'view_id': picking_form.id,
'target': 'new',
'context': ctx,
}
我正在研究,我认为你应该使用context属性在视图之间传递数据,但不知道如何做到这一点。
实际上,您可以使用上下文设置默认数据语法很简单:
default_fieldx : val
在向导中设置默认产品名称的示例将此行添加到您的代码中
ctx = dict(
default_name : self.name,
default_model='stock.picking',
default_res_id=self.id,
default_composition_mode='comment',
mark_invoice_as_sent=True,
)