从其他表单创建Odoo自动填充字段

时间:2017-11-16 15:06:29

标签: python openerp field odoo-8

当我从销售订单快速创建时,我知道如何填写产品页面上的某些字段。这些字段基于销售订单(名称和客户)。我是否需要通过上下文传递它们?

由于

1 个答案:

答案 0 :(得分:0)

是的,可以使用context完成。在sale.order.line XML视图中,您有一个名为Many2one的{​​{1}}字段(它指向product_id模型)。

您必须为每个product.product字段指定所需的默认值,并提取当前视图(product.product)字段的值:

sale.order.line

其中<xpath expr="//field[@name='product_id']" position="attributes"> <attribute name="context">{'default_field_1': field_1, 'default_field_2': field_2}</attribute> </xpath> default_field_1default_field_2模型的字段,而product.productfield_1field_2模型的字段。

示例:

sale.order.line

在上述情况下,当您从<xpath expr="//field[@name='product_id']" position="attributes"> <attribute name="context">{'default_name': name}</attribute> </xpath> 树或表单视图创建新产品(单击Many2one字段product_id下拉列表的创建选项)时,{将打开{1}}表单,sale.order.line字段会自动填入当前销售订单行的名称。