【问题标题】:How to get the values of a popup view from another model?如何从另一个模型获取弹出视图的值?
【发布时间】:2016-03-22 14:29:41
【问题描述】:

我在 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,
    }

我正在研究,我认为您应该使用上下文属性在视图之间传递数据,但不知道如何做到这一点。

【问题讨论】:

    标签: python odoo odoo-9


    【解决方案1】:

    确实,您可以使用上下文设置默认数据。语法很简单:

    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,
    )
    

    【讨论】:

    • 如果我想将产品名称添加到弹出视图行,就像它在上一张图片中显示的那样?我怎么能这样做?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-05-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多