Odoo 中文社区

    • 注册
    • 登录
    • 搜索
    • 版块
    • 标签
    • 热门
    • 用户
    • 群组

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

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

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

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

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

    [分享]几个查询工作流数据的SQL

    Odoo 开发与实施交流
    2
    4
    3112
    正在加载更多帖子
    • 从旧到新
    • 从新到旧
    • 最多赞同
    回复
    • 在新帖中回复
    登录后回复
    此主题已被删除。只有拥有主题管理权限的用户可以查看。
    • N
      NewMoon 最后由 编辑

      下面是经常用的几个查询工作流数据的SQL,比界面上查询用着顺,就写下来了
      --查询某个工作流的activity和transition
      select
      a.name,a.osv,a.on_create,
      d.id,d.condition,d.group_id,d.signal,
      b.id as from_act_id,b.name as from_action,b.split_mode,b.join_mode,b.kind,
      c.id as to_act_id,c.name as to_action,c.split_mode,c.join_mode,c.kind
      from wkf a
      join wkf_activity b on a.id = b.wkf_id
      join wkf_activity c on a.id = c.wkf_id
      join wkf_transition d on b.id = d.act_from and c.id = d.act_to
      where a.osv = 'sale.order'
      --and b.name in('sent' ,'router', 'wait_invoice','wait_ship','ship')
      order by b.name

      --查询某个对象的工作流实例的workitem
      select a.inst_id,a.act_id,c.name as act_name,a.state, c.split_mode,c.join_mode,c.kind
      from wkf_workitem a
      join wkf_instance b on a.inst_id = b.id
      join wkf_activity c on a.act_id = c.id
      where b.res_type = 'sale.order'
      and b.res_id = 53

      --查询某个对象的工作流实例的log
      select a.* ,b.name as act_name
      from wkf_logs a
      join wkf_activity b on a.act_id = b.id
      where res_id = 53 and res_type = 'sale.order'

      1 条回复 最后回复 回复 引用 0
      • mrshelly
        mrshelly 最后由 编辑

        嗯. 工作流的重置状态 很需要啊...

        一个方法,给定一个对象,ID以及当前状态, 将工作流激活. 这一个方法很重要.

        推荐将SQL化为 method, 然后 就OK了.

        1 条回复 最后回复 回复 引用 0
        • N
          NewMoon 最后由 编辑

          对,这个只是查询,OpenERP的工作流架构很不错,但是维护界面离产品化还是有一定差距

          1 条回复 最后回复 回复 引用 0
          • First post
            Last post