我在GUI中創建一個字段Odoo有一個'compute'的方法。但我無法得到它。如何在GUI Odoo中的字段中定義計算?
我有一個在sale.py模塊的sale.order.line中使用compute屬性創建的字段。
niu = fields.Char(string="NIU", compute="_niu_validation", readonly=True, store=True)
@api.depends('product_id.product_tmpl_id.type')
def _niu_validation(self):
for rec in self:
if rec.product_id.product_tmpl_id.type == 'product' and not rec.niu:
rec.niu = self.env['ir.sequence'].next_by_code('sale.order.line')
這個工作完美,但這同樣想在GUI Odoo中做。
下面的圖片顯示:http://es.zimagez.com/zimage/computefield.php
但它讓我看到以下錯誤:
ValueError: forbidden opcode(s) in u"for rec in self:\n if rec.product_id.product_tmpl_id.type == 'product' and not rec.niu:\n \t rec.niu = self.env['ir.sequence'].next_by_code('sale.order.line')"
也許有一個語法錯誤,但我不知道如何定義的方法GUI Odoo中的字段。
歡迎任何幫助,建議,建議。如果有人能幫助我,我將非常感激。
你儘量避免for循環?也許嘗試只刪除它,並只使用條件。 –
現在我收到以下錯誤: ValueError:「name'rec'未定義」評估 – beriliox
當我說要避免循環時,當然需要修改其餘的代碼! –