天翎MyApps技术社区 - 低代码平台 | 流程管理系统 | BPM软件

 找回密码
 注册成为天翎用户
查看: 4193|回复: 0

[Iscript] 视图中用脚本批量处理流程到下一个节点【脚本-批量提交流程】

[复制链接]
spiral 发表于 2012-10-25 16:54:41 | 显示全部楼层 |阅读模式
本帖最后由 spiral 于 2013-6-20 09:41 编辑

Q:如何在视图中用脚本批量处理流程到下一个节点呢?

A:您可以在视图中添加一个类型为查询的操作按钮来处理流转流程
具体代码如下:

  1. //该代码只能批量处理到某一固定流程节点,因此想实现动态提交的话,需要自行修改其中的逻辑

  2. var flowid="11e2-1773-1018e18f-b51d-550c59b4247c";   //流程Id
  3. var comment = "系统自动流转";          //备注
  4. var flowoption = "80";           //流程操作参数   
  5. var user=getWebUser();         //当前用户对象为审批人     
  6. var recordid = splitText(getParameter("_selects"),";");        //得到选中记录组的id
  7. var nextnodeid = new Array();      
  8. nextnodeid[0]="1350379305843";         //下一流程节点ID
  9. var process = getDocumentProcess();//申明文档业务处理类

  10. for(var i=0;i<recordid.length;i++)
  11. {
  12. var doc = findDocument(recordid[i]);             //获得选中记录的文档对象
  13. var state = doc.getStateLabel();
  14. if(state != "经理审批" )
  15. {
  16.     //当前记录只有在”经理审批“这个流程节点时才进行自动提交
  17.     break;
  18. }
  19. var params = createParamsTable();                        
  20. params.setParameter("_flowid", flowid);      
  21.          
  22. var st=new Packages.cn.myapps.core.workflow.engine.StateMachine();
  23. //getCurrUserNodeRT的第二个参数必须是第一个参数的审批人
  24. var nodert = st.getCurrUserNodeRT(doc,user);
  25. var currnodeid = nodert.getNodeid();//获取流程当前流程节点ID

  26. process.doFlow(doc,params,currnodeid,nextnodeid,flowoption,comment,user);        //流程处理  
  27. }
复制代码
关于获取下一流程节点ID说明:
正常运作流程到你希望获得的流程节点
然后在表t_relationhis中查看该记录对应的列ENDNODEID的值,即可获取流程节点ID

关于流程参数的更详细说明可以参考下帖:
http://www.teemlink.com/bbs/viewthread.php?tid=165246

本版积分规则

QQ|手机版|天翎MyApps技术社区 ( 粤ICP备11093750号 )

GMT+8, 2026-8-12 18:03

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表