跳转至内容
  • 版块
  • 标签
  • 热门
  • 用户
  • 群组
皮肤
  • 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. 工作流的条件判断去向,该判断条件应该怎么设置呢?

工作流的条件判断去向,该判断条件应该怎么设置呢?

已定时 已固定 已锁定 已移动 Odoo 新手求助
7 帖子 2 发布者 3.6k 浏览
  • 从旧到新
  • 从新到旧
  • 最多赞同
登录后回复
此主题已被删除。只有拥有主题管理权限的用户可以查看。
  • J 离线
    J 离线
    jundi1000
    写于 最后由 编辑
    #1

    我的工作流:
    [img http://i.imgur.com/IngqTao.png /img]

    在trans里该怎么设置呢,把条件放在condition,是对的吗?然后price_unit和list_price前面需要加什么吗?例如:product_id.list_price之类的。
    [img http://i.imgur.com/zhTrZdL.png /img]

    price_unit
    [img http://i.imgur.com/soFNLHm.png /img]

    list_price
    [img http://i.imgur.com/qLCnVXQ.png /img]

    1 条回复 最后回复
    0
    • digitalsatoriD 离线
      digitalsatoriD 离线
      digitalsatori 管理员
      写于 最后由 编辑
      #2

      @judi1000 基本思路是对的, 也看得出来你是在销售订单上设置工作流。

      但是你的判断条件是针对销售订单明细的,销售订单和明细是一对多的关系。需要对其作遍历,所以一般情况下,这个判断条件应该要写成一个函数。

      【上海先安科技】(tony AT openerp.cn)

      1 条回复 最后回复
      0
      • J 离线
        J 离线
        jundi1000
        写于 最后由 编辑
        #3

        @digitalsatori 那该函数该怎么写呢?希望能指点下我。谢谢

        1 条回复 最后回复
        0
        • digitalsatoriD 离线
          digitalsatoriD 离线
          digitalsatori 管理员
          写于 最后由 编辑
          #4
          def product_discount(self, cr, uid, ids, context=None):<br />&nbsp; &nbsp; context = context or {}<br />&nbsp; &nbsp; for so in self.browse(cr, uid, ids, context=context):<br />&nbsp; &nbsp; &nbsp; &nbsp; return any(sol.price_uinit &lt; sol.product_id.list_price for sol in so.order_line)<br />&nbsp; &nbsp;  <br />
          


          需要继承sale.order 对象,定义上述方法。并在workflow的condition中将price_unit<list_price改为[tt]product_dicount()[/tt], 将price_unit>list_price改为:[tt]not product_discount()[/tt]
          代码没有经过测试,仅供参考。

          【上海先安科技】(tony AT openerp.cn)

          1 条回复 最后回复
          0
          • J 离线
            J 离线
            jundi1000
            写于 最后由 编辑
            #5

            好的,我试试看先

            1 条回复 最后回复
            0
            • J 离线
              J 离线
              jundi1000
              写于 最后由 编辑
              #6

              [quote author=digitalsatori link=topic=16355.msg27921#msg27921 date=1398306437]

              def product_discount(self, cr, uid, ids, context=None):<br />&nbsp; &nbsp; context = context or {}<br />&nbsp; &nbsp; for so in self.browse(cr, uid, ids, context=context):<br />&nbsp; &nbsp; &nbsp; &nbsp; return any(sol.price_uinit &lt; sol.product_id.list_price for sol in so.order_line)<br />&nbsp; &nbsp;  <br />
              


              需要继承sale.order 对象,定义上述方法。并在workflow的condition中将price_unit<list_price改为[tt]product_dicount()[/tt], 将price_unit>list_price改为:[tt]not product_discount()[/tt]
              代码没有经过测试,仅供参考。
              [/quote]

              @digitalsatori 你提供的代码经过测试是可行的,谢谢啦。 🙂

              1 条回复 最后回复
              0

              • 登录

              • 没有帐号? 注册

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