当我从销售订单快速创建时,我知道如何填写产品页面上的某些字段。这些字段基于销售订单(名称和客户)。我是否需要通过上下文传递它们?
由于
答案 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_1
是default_field_2
模型的字段,而product.product
和field_1
是field_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
字段会自动填入当前销售订单行的名称。