2017-01-17 21 views
0

販売注文フォームでは、顧客販売番号の特定のフィールドが必要です。デフォルトでは、レコードボタンを押した後に生成されるOdooセールスナンバーがこのフィールドに入力されます。しかし、値を手動で指定した場合、私はOdooの販売番号をコピーしたくありません。Odoo 8 - デフォルトのフィールド値

だからこれは私の現在のコードです:

<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販売数によって上書きされます。

私の間違いはどこですか?

答えて

0

問題を解決するには、次のコードを置き換えてみてください。

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

おかげ

関連する問題