全部文档
文档中心工作流使用手册节点流程服务多人任务

多人任务

多人任务与单人任务都属于任务类的节点,大多配置与单人任务节点一致,请一定先学习《单人任务》章节后再学习本章节,本章节对于相似的配置不再过多介绍。


多人任务在流程中相对于单人任务的一个人工任务处理节点,它会在流程流转到它的时候,会根据配置的执行单位数量生成对应数量的任务实例,指派策略中配置的所有执行单位都会有一个属于自己的任务。

单人任务和多人任务的主要区别就在与任务生成和指派:

  • 单人任务无论配置多少候选人,最终都只会生成一个任务,所有人均可以看到该任务,一旦任务被一个人认领,则其他人都将看不到这个任务;任务一旦被完成,则当前节点执行结束;

  • 多人任务,配置多少个指派人,就会生成多少个任务,每个指派人都会在我的任务中看到只属于自己的任务;节点是否执行结束取决于多人任务配置的完成规则;

展示名称、优先级、到期策略:同单人任务,见《单人任务》章节。

配置任务实例创建之后,用户可以对该任务进行的操作,这些动作会以按钮的形式展示在任务处理页面。


动态展示动作配置中

可执行动作列表区域会根据配置的任务动作,按任务角色和任务状态分区动态展示:


相较于单人任务节点,多人任务节点支持的执行逻辑范围有所区别,详见下章《执行逻辑》。

  • 名称:操作按钮最终的显示名称

  • 按钮样式:可选择按钮显示样式

  • 执行逻辑:该动作会执行的逻辑

  • 展示时机:按钮可显示的时机,根据任务状态(进行中/完成后/···)和用户身份(候选人/执行人/···)共同确定是否可查看当前配置的按钮

执行逻辑即该动作实际会执行的逻辑。

配置同单人任务。


基于常用场景,已包装好提交/同意/拒绝动作,执行逻辑为点击后则完成当前节点。

与单人任务有所不同的是**输出结果**相关的变量:

  • 多实例中的每个单人任务结束之后,单人任务会基于用户选择的操作创建一个变量${acr$outcome},此变量与单人任务相同,可用于单人任务完成时的监听;

  • 除此之外,整体多实例的多人任务还会基于${acr$outcome}和完成规则(或签/会签/等待特定应答),创建一个变量${macr$outcome},此变量可用于多实例整体结束时的监听、映射等,后续在《完成任务》章节会详细举例说明;

同单人任务。


效果为:点击后可选择转办的用户并添加备注,当前任务仍在进行中,只是执行人更改。

转办范围:目前不限范围。

这两个动作,仅串行的多人任务可用(如何配置串行见后续《完成任务-多任务执行方式》章节)。


效果为:点击后可选择需要加签的用户并添加备注。

  • 若为前加签,则当前任务结束,并为所有加签用户和当前用户创建新任务,串行顺序为加签用户>当前用户;

  • 若为后加签,为所有加签用户创建新任务,串行顺序在当前用户后;

关联配置:


  • 加签范围:目前不限范围

  • 加签任务展示名称:目前固定为加签: ${当前任务展示名称}

串行的多人任务可用(如何配置串行见后续《完成任务-多任务执行方式》章节)。


效果为:点击后退回给此多人任务节点内的上一个执行人。

关联配置:

  • 任务输出结果:

    • 退回上一执行人后,当前用户的任务完成,配置当前任务的输出结果,默认reject。

    • 和完成任务逻辑中的输入结果有所区别:不参与节点完成规则判断。例如,完成规则是普通会签,那么需要输出选项最多的结果,B用户在处理此任务时选择退回上一执行人A,此次B的处理结果是reject,但此次的reject并不计入次数,仅将完成任务逻辑的输入结果计入次数。

并行的多人任务可用(如何配置串行见后续《完成任务-多任务执行方式》章节)。


效果为:点击后选择需要加签的用户并添加备注,即可为所有加签用户创建新任务。

关联配置:

  • 加签范围:目前不限范围

  • 加签任务展示名称:目前固定为加签: ${当前任务展示名称}

同单人任务。

  • 添加备选结果:与单人节点不同,多人任务除了会根据配置的动作自动生成,还支持手动添加备选结果,用于完成规则为等待特定应答时,作为备选结果

  • 执行人单位:本配置用于判断用户组在完成任务时,是否需要换算为具体用户

    • 用户组:默认选项,将以组的名义完成任务,此后组内所有成员仍可查看并操作此任务,执行人仍为用户组;

    • 用户:将以个人名义完成任务,此后组内其他成员不再看到此任务,执行人更新为用户;

  • 多任务执行方式:

    • 并行:同时创建并与执行人对应数量的任务并派发各自执行人;

    • 串行:按执行人范围的行间顺序(行内按默认顺序),依次创建任务并派发,直到前一个任务完成后创建并派发下一个

  • 完成规则:

    • 并行可以配置或签/普通会签/等待特定应答逻辑,串行只可配置等待特定应答逻辑

    • 或签:第一人应答后立即结束任务,输出该结果

    • 普通会签:等待所有人应答后才结束任务,输出选项最多的结果

    • 等待特定应答:按顺序依次等待特定的应答(可以选择手动添加的备选结果),一旦出现该应答,则输出对应结果

结合《执行逻辑-完成任务》章节中提到的两个outcome变量,举例说明多实例任务在完成任务时的特点。


如果当前有一个多人任务,配置了3位执行人,则流转到此节点时就会产生3个单人任务,每人对应1个单人任务,假设这3位执行人针对此任务,将会执行的动作如下(但还未执行)

  • Vivian:approve

  • Jane:reject

  • Micheal:reject

在不同的完成规则下,变量${acr$outcome}和变量${macr$outcome}的值会如此变化:

  • 或签:假如Vivian第一个处理任务,那么变量${acr$outcome}和变量${macr$outcome}都会是approve,且多人任务立即结束,其他两位执行人不会再处理此任务;

  • 普通会签:

    • 每人处理任务后,变量${acr$outcome}都会有各自的值,对应各自的动作,即

      • Vivian的${acr$outcome}:approve

      • Jane的${acr$outcome}:reject

      • Micheal的${acr$outcome}:reject

    • 仅当Vivian、Jane、Micheal全部都处理完成后,变量${macr$outcome}才会有值,且是最多人选择的那个结果,即reject

  • 等待特定应答:根据配置的应答选项决定,此例中不讨论。

单人任务中配置的是**【候选人】的单位、范围等等,但多人任务中配置的是【执行人】**。


通常,在单人任务的场景下,候选人需要认领任务之后,才会成为此任务的执行人。针对任务中的这两个不同角色,可以配置不同的任务动作(例如,审批通过只能由执行人来处理,审批拒绝可以由候选人处理)。

但对多人任务来说,略去了候选人,指派后就是执行人。

配置步骤同单人任务,可查看《单人任务》对应章节,此处不再赘述。

基本同单人任务的任务监听,单人任务中支持监听的节点包括:当任务创建时、当任务开始后、当任务指派时、当任务完成时、任务级事件监听。


与单人任务相比,多人任务是多实例的,因此会多一些多实例层级的节点,比如说:当最后一个任务完成,多实例整体结束时。

以下节点对应多实例中的每个单人任务的对应节点,与单人任务配置基本相同(流程启动参数增加支持macp$变量),此处不再赘述,其他不同之处:

  • 当任务创建时

  • 当任务开始后

  • 当任务指派时:由于多人任务没有认领动作,因此执行时机只有转派转办

  • 当任务完成时:还未支持删除历史已完成和终止的任务实例

类似于当任务完成时,区别在于这是多实例中最后一个任务完成时,此任务完成后,整个多实例也会结束。


因此,在流程启动参数中,表达式赋值支持**macr$**变量:


相比单人任务节点,暂仅支持订阅撤回,即当接收到撤回消息后,触发订阅撤回关联的节点。

订阅撤回的事件结束时映射,支持的赋值类型包括:

  • 静态值

  • 表达式:支持当前节点(macp$)全局变量(wfv$)启动参数(wfi$)工作流实例(wfp$)工作流(wf$)变量

  • 执行信息:source_node_code-操作节点编码operator_id-操作人operate_time-操作时间

回到顶部

咨询热线

400-821-9199

我们使用 ChatGPT,基于文档中心的内容以及对话上下文回答您的问题。

ctrl+Enter to send