|
发表于 2014-5-23 17:20:07
|
显示全部楼层
本帖最后由 hua_love2011 于 2014-5-23 17:22 编辑
你好,我给“批流转”按钮添加了事件
代码如下:
stt_SCZBZWTCXActivity.trigger4Click = function(event) {
batchAdvanceProcess("process1");
}
function batchAdvanceProcess(processID){
var p = justep.xbl(processID);
//使用其中的一条待办执行流转查询,并弹出流转对话框给用户修改,以得到control信息
tasks=justep.xbl("dataTaskDXJ").getID();
p.advanceQueryExt(tasks[0]);
}
给process控件添加了onBeforeAdvance 事件 代码如下:
stt_SCZBZWTCXActivity.process1BeforeAdvance = function(event) {
event.cancel = true; //取消后续操作
//所有的待办按得到的control中的执行人进行流转
var options = {};
options.process = justep.Context.getCurrentProcess();
options.activity = justep.Context.getCurrentActivity();
options.action = "batchAdvanceAction";
options.directExecute = true;
options.parameters = new justep.Request.ActionParam();
var taskParam = new justep.Request.ListParam();
for (var i=0; i<tasks.length; i++){
taskParam.add(tasks);
}
options.parameters.setList("datas", taskParam);
var controlData = null;
if (event.processControl.getDataType != undefined){
//2000 sp2及之后的版本
if (event.processControl.getDataType() == "json"){
options.contentType = "json";
controlData = event.processControl.getData();
}else{
options.contentType = "xml";
controlData = event.processControl.getXMLString();
}
}else{
//2000 sp2之前的版本
options.contentType = "xml";
controlData = event.processControl.getXMLString();
}
var controlParam = new justep.Request.ObjectParam(controlData, "com.justep.system.process.ProcessControl");
options.parameters.setObject("control", controlParam);
justep.Request.sendBizRequest2(options);
justep.Portal.closeWindow();
};
后台java类按照你的写的,没有被执行到
// 批量处理流程
public static void batchAdvance(List<String> datas,ProcessControl control) {
System.out.println("--------------------------");
for (String data : datas) {
String task = getTaskFromData(data);
if (!task.equals("")) {
ProcessControl cur = ProcessUtils.advanceProcessQuery(task);
modifyFlowToExecutor(cur, control);
modifyNoticeExecutor(cur, control);
ProcessUtils.advanceProcess(task, cur);
}
}
}
在执行的时候会报“JUSTEP230033, 执行流转查询出错, 任务标识不允许为空”错误,请问怎么解决呢?
|
|