Odoo中文社区可以通过以下两个域名访问:shine-it.net , odoo.net.cn

由于系统升迁的原因,本论坛部分较早期的内容存在格式和链接损坏失效的问题,并非本论坛系统本身的缺陷,望谅解

本社区没有维护任何QQ群讨论组,任何与本社区同名的QQ群讨论组的言论与本社区无关!

开发人员可以登录gitter讨论组: http://gitter.im/odoo-china/Talk, 需要github账号

如果您登录系统碰到问题,请在微信公众号留言:

compute 计算出错



  • 要求:订单里面有多个订单行,订单行的状态的修改需要跟该订单一致。
    (其中depends的第二个字段是后来添加的)

    问题:现在有数据后,最近发现有些计算是错误的,有些明明所有订单行都是done了,但是该订单的状态没有变成done。

    测试:没有把问题重现出来,也没看出来计算的方法有什么问题。

    有没有补救办法,可以使已有的数据能重新计算,达到纠正错误数据的目的。

        @api.multi
        @api.depends('action_ids', 'action_ids.state')
        def _compute_action_count(self):
            for item in self:
                          
                sourcing = item.action_ids.filtered(lambda r: r.type == "sourcing").mapped('state')
                           
                if not sourcing:
                    item.state_sourcing = 'noaction'
                elif 'progress' in sourcing:
                    item.state_sourcing = 'progress'
                elif 'confirmed' in sourcing:
                    item.state_sourcing = 'confirmed'
                else:
                    item.state_sourcing = 'done'
    

Log in to reply