1 概述
在进行流程办理时,如果可以提前知道下一步会提交到什么环节,下一步办理人是谁,在提交时办理人员就可以判断流程流向是否符合预期,避免因为表单数据填写问题或误操作走错流程。
更进一步,可能下一办理环节或办理人员也需要由当前环节办理人员主观选择确定,针对以上流程业务中可能涉及的场景,本专题主要介绍不同业务场景下展示下一步环节和办理人的解决方案。
2 业务场景
1)流程图仅涉及串行和排他网关
此类场景一般是简单业务工作流,在流程图中仅涉及用户任务的串联或使用排他网关判别不同分支的流转。
这种方式下,流程的走向是较为明确和容易计算的,因此只需要在工作流配置时在全局配置【提交界面样式】勾选【显示下一环节及办理人】,如下图所示。前端在执行时即可在待办任务处理时显示下一环节和对应环节的待办人员。
以下方这个流程图为例。
① 串行场景
【A】和【B】是直接串行的,因此【A】在办理时会显示下一步是【B】,并根据【B】中的响应人配置自动计算和显示对应的办理人员,如下图所示。
倘若在环节【B】设置响应人时勾选了【办理人允许指定】,则在【A】提交时还能对【B】的办理人进行修改后提交。
② 排他网关
而【B】与后续环节之间存在排他网关,在【B】的办理界面,会根据排他网关后流转线上定义的条件自动计算下一环节究竟是流向【C】还是【D】,例如这个条件是【B】的审批意见“同意”或“拒绝”,则环节【B】在审批时选择“同意”和“拒绝”时,显示的下一步和办理人就是不同的,如下图所示“同意”提交界面下一环节显示为【C】及其响应人。
而在“拒绝”提交界面,下一环节则显示为【D】及其响应人。
2)排他网关:手动选择下一环节
有时流程业务中涉及排他网关的还有一类业务,就是后续如何流转不是业务上确定的,而是交由排他网关前的环节办理人手动指定的。关于这种业务如何配置可以查阅相关专题:流程提交时支持手动选择下一流转节点,这里不再展开,仅说明在全局配置【提交界面样式】勾选【显示下一环节及办理人】时,下一环节和办理人也可根据选项实时计算和展示,
还是以下方这个流程图为例,我们重点关注环节【B】,业务上我们定义流程在【B】提交时是由办理人手动选择去往【C】或【D】。
我们在流程设计时在环节【B】的全局变量赋值中将默认变量“下一环节”进行赋值,并在后续流转线上以“下一环节”变量值作为流转条件。
执行效果如下:可以实时根据选项切换显示对应环节的办理人,并达到控制流程走向的目的。
3)包容性网关:手动选择后续环节(多选)和相应办理人
案例:例如下面的流程图:环节【B】后面跟随的是包容性网关,业务要求后续环节必须流经【C】,环节【D】和【E】及则作为可选环节由【B】提交时选择,不光环节可选,【D】和【E】的办理人也在一定范围内由环节【B】办理人提交时指定。
解决方案:
为应对上述场景,乐创者在版本V7.3.0工作流用户任务全局变量赋值的配置中,增加了一类手动选择控件【环节选择】,我们可以在环节【B】上配置这类控件,环节【B】的提交界面可以展示为如下图所示。
通过界面上选择环节和办理人可以实现我们前面所描述的那类场景,让流程按当前环节办理人选择的环节和办理人进行流转。
配置方式和执行效果如下:
(1)预声明流程全局变量
由于这种业务场景下,后续环节往哪流转,流转以后流程办理人是谁都是由上一步办理人在提交时指定,因此我们要调整一下设计思路。需要预定义一些流程变量,在【B】提交时进行赋值,在后续流转和后续环节响应人上直接使用这些赋好值的变量,便可以达成目的,如下图所示我们预定义了后续3个环节的办理人变量,由于环节流转要用到的变量可以使用系统预设的“下一环节”变量,因此不需要额外声明。
(2)全局变量赋值设置
在环节【B】上,为流程变量“下一环节”设置为“手动选择”;
在【设置】中进一步配置;
- 显示名称:可以设置前端界面这个控件的标题。
- 选择控件:当前场景下我们需要选择“环节选择”这类控件。
- 控件选项:这里需要将下一步可能流经的环节设为选项,定义好编码和显示名称。如此在前端选择时,会将已选的选项编码赋值给“下一环节”变量,才方便在后续网关出口设置流转条件,让流程按选择的选项进行流转。
- 必选:默认不勾选,每个选项可以配置是否必选,勾选后反映在前端就是默认选中了此项,可以实现例如案例中环节【C】必须流经这类业务。
- 办理人设置:每个选项支持单独配置后续环节办理人赋值的变量和数据源。
选择提前声明好的需要赋值的办理人变量,办理人展示目前支持三类控件:
①标签:适用于仅作为展示,不允许选择的场景
- 控件默认值:可以通过常量或表达式设置,例如直接使用用户ID等;
- 解码数据源:因为一般赋值都通过编码赋值,因此为了前端显示的可读性,允许设计者配置解码数据源。
②下拉单选框:适用于办理人单选的场景
- 控件数据源:设置下拉单选控件数据来源,支持元数据EasySearch和BdoEasySearch,其BdoEasySearch支持通过传参设置实现选项的动态过滤。
- 控件默认值:可以通过常量或表达式设置,例如直接使用用户ID等;
- 默认选中第一项:配置前端控件是否默认选中第一个选项。
③下拉多选框:适用于办理人多选的场景
- 控件默认值:可以通过常量或表达式设置,例如直接使用用户ID等;
- 控件数据源:设置下拉多选控件数据来源,支持元数据EasySearch和BdoEasySearch,其BdoEasySearch支持通过传参设置实现选项的动态过滤。
(3)流程图设置
配置好【B】环节上的变量赋值以后按照既定的设计思路,还需配置后续网关出口的流转条件和后续环节的响应人。
如下图所示:为网关出口连线分别配置上如下流转条件。
由于示例中设置的办理人都是用户维度,因此后续节点的响应人配置可以直接使用预定义的全局变量“环节C办理人”、“环节D办理人”和“环节E办理人”。
如果办理人选项维度不是用户级,例如是部门级、角色级等,则响应人设置就需要通过部门和角色等自行查询对应的用户来得到正确的办理人。
(4)执行效果
提交界面可以通过勾选选择想要流转的环节以及每个环节的办理人,如下图所示。
提交后会按勾选项为相应的变量传值,从流程设计时的配置可以实现:①流程按照勾选的环节进行流转 ②各环节的响应人根据选择的响应人生成待办任务,实现包容性网关后的环节和办理人都在前一步指定。
若仅选中其中个别环节,例如仅选中环节C和环节D,
执行结果如下:
最后编辑:Eric 更新时间:2025-04-24 13:55
