报错- var str="aa";
- var doc =getCurrentDocument();
- var flowState;
- var flowStateProcess = createProcess("cn.myapps.core.workflow.storage.runtime.ejb.FlowStateRTProcessBean");
- flowState=flowStateProcess.findFlowStateRTByDocidAndFlowid(doc.getId(),doc.getFlowid());//这里要2个参数docid和flowid,这里怎么拿flowid
- // flowState= doc.getState();//获得流程实例
- var noderts = flowState.getNoderts();
- var _index=1;
- for (var iterator = noderts.iterator(); iterator.hasNext();) {
- //获得单个流程节点对象
- var nodeRT = iterator.next();
- //获得节点的所有处理人信息(这里获取到的是当前待处理的处理人信息,如果本来待处理人有3个人的话,有1个人已经处理了的话,这里只会拿到剩下2个处理人的信息,那么问题就来了,我不知道总共的处理人有多少,又怎么知道该流程是否已处理过呢?)
- var actors = nodeRT.getActorrts();
- //然后迭代 处理人
- //返回结果为true 说明这个处理人已经处理过
- for(var i=0;i<actors.size();i++){
- var _tmp_actor=actors.get(i);
- //假设本来有3个处理人,如果1个人已经发送过(也就是已处理),那么这里只会打印2条语句,这个打印的值都是false,我不知道这里什么时候能打印出true的值,因为如果你已经处理过将不会再出现在这个for循环里.
- $PRINTER.println("==("+_index+")=getIsprocessed:"+_tmp_actor.getIsprocessed()+" pending:"+_tmp_actor.isPending());
-
- }
- _index++;
- //ActorRT.getIsprocessed()==true
- }
- $PRINTER.println("====_index:"+_index);
- str;
复制代码 |