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

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

[已解决] 批量提交Bug

[复制链接]
塞普克 发表于 2012-6-13 15:22:02 | 显示全部楼层 |阅读模式
本帖最后由 shary 于 2012-6-28 13:58 编辑

批量提交.png

如图,批量提交以后,状态变为下个节点,但是节点审批人为空...
我是用脚本的方式指定审批人的:
var doc = $CURRDOC.getCurrDoc();
var userId =doc.getItemValueAsString("cstm_id");
deptUnderList.add(getUserByLoginno(userId));
deptUnderList;
purple 发表于 2012-6-13 17:17:04 | 显示全部楼层
您好,我这边测试之后,再回复您。
purple 发表于 2012-6-13 17:27:06 | 显示全部楼层
您好,请问您的审批人还有其他脚本吗?
purple 发表于 2012-6-13 17:34:34 | 显示全部楼层
因为审批人使用代码方式,必须返回用户对象,所以我是用下列脚本测试的:
var loginno=getWebUser().getLoginno();
var user=getUserByLoginno(loginno);
user;
没有重现您的问题。
 楼主| 塞普克 发表于 2012-6-14 12:10:56 | 显示全部楼层
结果呢?人呢?
purple 发表于 2012-6-14 13:58:42 | 显示全部楼层
不好意思,上午在处理其他的东西,忘记回复您测试结果了,获取表单某字段值,返回用户对象集合,我这边测试的结果是都无法提交至下一节点。
shary 发表于 2012-6-28 13:58:14 | 显示全部楼层
跟客户沟通问题已解决。
具体解决方案为在视图新建一个查询类型的操作按钮。在其动作执行前脚本通过代码实现提交的业务。
具体脚本如下:

  1. var user = getWebUser();
  2. var selects =getParameter("_selects");
  3. if(selects!=""){
  4.         selects = splitText(selects, ";");
  5.         var process = getDocProcess(getApplication());
  6.         var docArray =new Array();
  7.         for(var i =0;i<selects.length;i++){
  8.                 var doc = findDocument(selects[i]);
  9.                 if(doc!=null && doc.getStateLabel()!=null &&  doc.getStateLabel() == "Initial"){
  10.                         docArray[docArray.length] = selects[i];
  11.                 }
  12.         }

  13.         if(docArray.length > 0){
  14.                 process.doBatchApprove(docArray,  user, Packages.cn.myapps.constans.Environment.getInstance(), createParamsTable());
  15.         }
  16. }
复制代码

本版积分规则

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

GMT+8, 2026-8-12 11:34

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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