首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在GUI Odoo的字段中定义计算?

如何在GUI Odoo的字段中定义计算?
EN

Stack Overflow用户
提问于 2016-03-01 20:00:27
回答 3查看 2.4K关注 0票数 1

我在GUI中创建了一个字段,Odoo有一个带有'compute‘的方法。但是我拿不到。

我使用sale.py模块的sale.order.line中的compute属性创建了一个字段。

代码语言:javascript
运行
复制
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

但它显示了以下错误:

代码语言:javascript
运行
复制
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中的字段定义方法。

欢迎任何帮助,建议,建议。如果有人能帮助我,我将不胜感激。

EN

Stack Overflow用户

发布于 2016-03-01 21:21:05

我不使用v9,所以我认为你只需要做一些试验和错误。

试试这个:

代码语言:javascript
运行
复制
    if self.product_id.product_tmpl_id.type == 'product' and not self.niu:
            self.niu = self.env['ir.sequence'].next_by_code('sale.order.line')

如果它不起作用,也许可以试试:

代码语言:javascript
运行
复制
    if self.product_id.product_tmpl_id.type == 'product' and not self.niu:
            return self.env['ir.sequence'].next_by_code('sale.order.line')
票数 1
EN
查看全部 3 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35722344

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档