Odoo 8 - 默认字段值



在销售订单窗体中,我想有一个特定的字段来表示客户销售编号。默认情况下,此字段应填写在按下记录按钮后生成的Odoo销售编号。但是,如果手动指定值,我不想复制Odoo销售编号。

所以这是我当前的代码:

<field name="pricelist_id" position="after">
    <field name="customer_sale_number" readonly="0" />
</field>

--

@api.one
@api.depends('name')
def compute_default_customer_sale_number(self):
    if self.customer_sale_number == '/' or self.customer_sale_number is False:
        self.customer_sale_number = self.name
customer_sale_number = fields.Char('Customer reference', compute='compute_default_customer_sale_number', store=True)

此代码有效,但如果手动指定值,则它将被Odoo销售编号覆盖。

我的错误在哪里?

您可以通过替换以下代码来尝试解决问题。

@api.one
@api.depends('name')
def compute_default_customer_sale_number(self):
    self.customer_sale_number = self.customer_sale_number or self.name
customer_sale_number = fields.Char('Customer reference', compute='compute_default_customer_sale_number', store=True)

谢谢

最新更新