如何控制AND分支规则中设置的可选输出环节在流转对话框中默认不选中

AND要设置环节默认不选中,需要扩展流转对话框 AND和XOR都是在同一个方法中控制选择的环节的,因此可以参考xor设置默认选中指定环节中扩展实现 对Model.prototype.addActivity函数的定义进行如下修改: Model.prototype.addActivity = function(activityRows, executorRows, activity, control){ if (activity.isSelectable()){ var toItem = control.getToItemByID(activity.getID()); var isEnd = toItem.isEnd(); var selected = toItem.isSelected(); if(activity.isOptional()) activityRows.push({rowid: activity.getID(), selected: false, isEnd: isEnd, label:activity.getLabel()}); else activityRows.push({rowid: activity.getID(), [...]

流程页面获取数据的sql语句为什么会有and 1=0的条件

当运行是页面不显示数据,并且服务器端打出来的sql语句中有1=0这样的条件,说明页面中用了process组件 平台默认的用的process组件会给业务数据增加过滤条件,当process在设置过滤条件获取不到要过滤的数据的值时,会把条件设置为1=0 出现这种现象是把process组件上的autoFilter设置为false,process就不会默认给业务数据增加过滤条件

如何修改流转对话框的大小

流转对话框是用windowDialog打开的,windowDialog组件有height和width控制大小 因此控制流转对话框的大小,可以通过设置height和width的值实现 设置某个功能的流转对话框大小,可以在功能对应的.w的process组件的onBeforeOpenDialog事件中控制 如下: Model.prototype.processBeforeOpenDialog = function(event){ setTimeout(function(){ event.source._processDialog.set({width:"100%", height: "100%"}); },1); }; 如果是所有的流程功能都控制可以在/UI2/system/service/process/dialog/processDialog.w的model的onParamsReceive事件中控制 如下: this.owner.set({width:"100%", height: "100%"}); 只修改流转等待对话框的大小,可以添加如下的判断 设置某个功能的流转对话框大小,功能对应的.w的process组件的onBeforeOpenDialog事件中 Model.prototype.processBeforeOpenDialog = function(event){ setTimeout(function(){ if ((event.control.getToItems().length===0) && (event.control.getNoticeItems().length===0)){ event.source._processDialog.set({width:"100%", height: [...]

如何设置通过鼠标改变流转对话框的大小

流转对话框是用windowDialog打开的,windowDialog组件继承了dialog组件 dialog组件上提供了resizable属性设置是否允许改变大小,可以了_createResizeBar()方法控制鼠标操作 因此控制流转对话框通过鼠标改变大小,可以用resizable属性和_createResizeBar()方法实现 设置某个功能的流转对话框通过鼠标改变大小,可以在功能对应的.w的process组件的onBeforeOpenDialog事件中控制 如下: Model.prototype.processBeforeOpenDialog = function(event){ setTimeout(function(){ event.source._processDialog.set({resizable: true}); event.source._processDialog._createResizeBar(); },1); }; 如果是所有的流程功能都控制可以在/UI2/system/service/process/dialog/processDialog.w的model的onParamsReceive事件中控制 如下: this.owner.set({resizable:true}); this.owner._createResizeBar();

流程回退时如何修改任务标题

流程的回退规则中没有设置任务标题的,因此回退时要修改任务标题需要通过代码控制 可以在onAfterBackQuery事件中修改ProcessControl的信息,如下: public static void businessActivity3AfterBackQuery() { ProcessControl control = (ProcessControl) ContextHelper.getActionContext().getActionResult(); for (ProcessControlItem to : control.getFlowTos()) { to.getTask().setName("test修改任务名称"+to.getTask().getName()); } }

process根上事件-流转前事件中统一设置任务标题

设置流程标题的地方有:总流程的启动规则,每个环节的执行规则,但是如果环节太多了,维护就会麻烦的, 如果每个环节 标题的规则都是一样的,就可以在总流程的流转前事件中接管,一个方法就可以搞定了 public static void conReviewApprovalProcessBeforeAdvance() { String key = ProcessUtils.getProcessData1(); String fUnitName = getfUnitName(key);//根据id列去查询其他字段的值 ProcessControl flowControl = (ProcessControl)ContextHelper.getActionContext().getParameter("control"); for (ProcessControlItem to : flowControl.getFlowTos()) { Task task = to.getTask(); String sActivityNames = task.getActivityName(); [...]

如何判断流程是否流转到了结束

如果要判断流转是否流转到结束,然后加自己的操作逻辑可以在process组件的onAdvanceCommit事件中判断 如下: Model.prototype.processAdvanceCommit = function(event){ var processControl = event.processControl;//获取流转信息processControl var toItems = processControl.getToItems();//获取环节相应的流转信息 if (toItems) { var unit = toItems[0].getUnit();//获取环节 if(unit == "end1"){//end1就是process文件中结束环节的name属性的值 alert("end"); } } };

待办任务中如何显示业务字段的值

待办任务中的信息默认显示都是SA_Task中的字段信息,如果要显示业务字段的值,可以把业务字段的值存到SA_Task 平台默认提供了sData1、sData2、sData3、sData4是用于存储业务数据的字段,其中sData1中平台默认存储的业务数据的主键值,用于任务数据业务数据关联 sData2、sData3、sData4可以自己填充业务数据,因此可以把要在待办任务中显示的业务字段的信息存储到这3个字段中 如下,在process组件的onBeforeStart中把业务数据存储到sData2 Model.prototype.processBeforeStart = function(event){ var data = this.comp("mainData"); var fCode = data.getValueByID("fCode", event.relations["sData1"]); event.relations["sData2"] = fCode; }; 操作sData2还可以参考http://docs.wex5.com/bex5-process-question-list-10044/ 然后通过扩展空间修改在待办任务页面/UI2/SA/task/taskView/waitActivity.w 在list中放output设置bind-ref为sData2关系

启动规则中流程模版的设置如何通过代码实现

在流程模版管理中给相关组织设置了流程模版后要在process的启动规则中设置流程模版选择流程模版函数才可以 如果不在启动规则中设置,可以在process的onBeforeStart事件中代码控制,如下: public static void andProcessBeforeStart() { String temp = TemplateHelper.findTemplateByCurrentPerson(ContextHelper.getActionContext().getProcess().getFullName());//获取当前人的流程模板 if (Utils.isNotEmptyString(temp)) { Map<String, Object> map = (Map<String, Object>) ContextHelper.getActionContext().getParameter("attributes"); if (map == null) { map = new HashMap<String, Object>(); ContextHelper.getActionContext().setParameter("attributes", map); } [...]