default owner,default role owner 与can transit 没有任何关系。看了下HBP文档
default owner:在实际项目中若应用某一状态流时,处于某个状态的SFO的实体会自动出现在Owner的HBP收件箱(Inbox)中,等待处理。当SFO的实体离开某个状态时,它也会自动从该状态Owner的HBP收件箱中消失。
default role owner: Role Owner是上面我们提到的,在HBP Solution中指定负责SFO中某个状态的特定的一组人,即拥有同一角色的一组人。所有SFO都具有一个名为hs_role_owner的系统域,这个域中所存放的角色,即是SFO中负责当前状态的特定的角色.
当指定了SFO的某个状态的Role Owner后,当SFO的实体到达该状态时,它会出现在属于Role Owner所指定的角色用户的HBP队列(Queue)中。当其中的一个用户从队列中取出SFO的实体进行处理之后,它会从属于该角色所有用户的HBP队列中消失
记得以前碰到过这个情况。当指定了default owner,default role owner, can transit 函数里面依旧要增加 判断哪些人可以操作的代码。
并非指定了default owner,default role owner,就只有指定的这些人可以操作。default owner,default role owner 应该只涉及到 什么inbox,Queue......
的确是这样,咨询了原厂,以下是更详细的信息:
1. A state状态下指定了 hs_owner ,然后 A的transition 面板的action TAB页指定了only the owner of current state can do this transtion . 那么 can transition 是可以不写代码的。 但是如果 can transition 里面写了return false 的话, 指定了 only the owner of current state can do this transtion 也没有用。