在OE的工作流设计中,不同节点的审核人通常是不一样的,每个节点需要审核上一个节点提交过来的数据,如果该模块被公司多个人使用的话,那么数据就需要进行一个过滤,具体到程序里面就是在view里面用domain表达式来进行过滤,类似<field name="domain">[('state','not in',('draft','done'))]</field>,但是如果流程很多的时候就会有很多的审批人,domain表达式就会写的很复杂(如下图所示),而且我测试发现domain表达式在表达式过多的时候不起作用。
建议的方法是使用一个当前审批人的id(假设为curr_user),写入到数据表中,在model里面到下一步的时候顺便把当前审批人也更改为下一个审批人的user_id,然后在domain表达式<field name="domain">['state','not in',('draft','done'),'curr_user.uid','=','uid'],然后就可以看到每个审批人看到的都只是提交给自己的记录。(如下图所示)