|
|
本帖最后由 spiral 于 2013-6-20 09:41 编辑
Q:如何在视图中用脚本批量处理流程到下一个节点呢?
A:您可以在视图中添加一个类型为查询的操作按钮来处理流转流程
具体代码如下:
- //该代码只能批量处理到某一固定流程节点,因此想实现动态提交的话,需要自行修改其中的逻辑
- var flowid="11e2-1773-1018e18f-b51d-550c59b4247c"; //流程Id
- var comment = "系统自动流转"; //备注
- var flowoption = "80"; //流程操作参数
- var user=getWebUser(); //当前用户对象为审批人
- var recordid = splitText(getParameter("_selects"),";"); //得到选中记录组的id
- var nextnodeid = new Array();
- nextnodeid[0]="1350379305843"; //下一流程节点ID
- var process = getDocumentProcess();//申明文档业务处理类
- for(var i=0;i<recordid.length;i++)
- {
- var doc = findDocument(recordid[i]); //获得选中记录的文档对象
- var state = doc.getStateLabel();
- if(state != "经理审批" )
- {
- //当前记录只有在”经理审批“这个流程节点时才进行自动提交
- break;
- }
- var params = createParamsTable();
- params.setParameter("_flowid", flowid);
-
- var st=new Packages.cn.myapps.core.workflow.engine.StateMachine();
- //getCurrUserNodeRT的第二个参数必须是第一个参数的审批人
- var nodert = st.getCurrUserNodeRT(doc,user);
- var currnodeid = nodert.getNodeid();//获取流程当前流程节点ID
- process.doFlow(doc,params,currnodeid,nextnodeid,flowoption,comment,user); //流程处理
- }
复制代码 关于获取下一流程节点ID说明:
正常运作流程到你希望获得的流程节点
然后在表t_relationhis中查看该记录对应的列ENDNODEID的值,即可获取流程节点ID
关于流程参数的更详细说明可以参考下帖:
http://www.teemlink.com/bbs/viewthread.php?tid=165246 |
|