跳转至内容
  • 版块
  • 标签
  • 热门
  • 用户
  • 群组
皮肤
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • 默认(Flatly)
  • 不使用皮肤
折叠

Odoo 中文社区

  1. 主页
  2. 版块
  3. Odoo 开发与实施交流
  4. compute 计算出错

compute 计算出错

已定时 已固定 已锁定 已移动 Odoo 开发与实施交流
1 帖子 1 发布者 497 浏览
  • 从旧到新
  • 从新到旧
  • 最多赞同
登录后回复
此主题已被删除。只有拥有主题管理权限的用户可以查看。
  • H 离线
    H 离线
    hui
    写于 最后由 编辑
    #1

    要求:订单里面有多个订单行,订单行的状态的修改需要跟该订单一致。
    (其中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'
    
    1 条回复 最后回复
    0

    • 登录

    • 没有帐号? 注册

    • 登录或注册以进行搜索。
    • 第一个帖子
      最后一个帖子
    0
    • 版块
    • 标签
    • 热门
    • 用户
    • 群组