全部文档
文档中心工作流节点说明流程服务单人任务

单人任务

流程到达单人任务节点时生成一条任务,候选人可认领并完成。

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

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

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

展示名称区别于名称,是任务类的节点独有的,是任务实例展示的任务名称。

支持插入变量,因此您可以配置一些动态的展示名称:

1710152279240-f8544b54-9ec2-417c-afa9-4bd24273fe9e

使用效果如下:

1710152429249-48731e1d-f624-4b73-aabc-7de94d98abdd

示例:一个请假审批节点

流程启动参数中可以配置两个启动参数:type(请假类型)、staff(员工)

此处展示名称配置时插入变量,插入作为启动参数传入的两个变量:${wfi!staff}的${wfi!type}请假审批

流程执行时候,会根据启动参数动态生成对应的流程实例名称,当启动流程时传入启动参数{type:“事假”;staff:“聪聪”}时,则生成一条流程实例,名称为:聪聪的事假请假审批


任务类的节点独有,用来标识该任务节点的相对优先级。

1710152566959-0f9f9800-804e-4ef7-9ef8-a485a65f9d2e

工作流不会针对不同优先级的任务做特殊处理,如果您有一些基于优先级的特殊需求,可以通过传递任务的优先级变量${acp!priority}进行实现。

需要注意:变量${acp!priority}中对应的变量值不是【高、中、低】,而是依次对应为【100、50、0】。


任务类的节点独有,可配置任务的到期时间;

支持根据基准时间+偏移时间计算出到期时间,基准时间支持JS表达式,偏移时间支持以分钟、小时、天、周为单位;

1705917224693-e6249335-010f-4e20-a770-c71618569795

目前到期策略本身并不会对任务数据产生影响,只会表现在过期状态字段上,但是基于生成的变量${acp!due_time}您可以做一些自定义的操作。

示例:您可以在任务监听中进行配置,当任务到期后启动一个子工作流,为某个人发送提醒消息,以实现催办。


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

1709809353964-2703b161-301f-4541-badc-34b31684cbfb

1710155044288-c556133f-b83a-4fb5-85bd-51dda9a54bab

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

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

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

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


执行逻辑即该动作实际会执行的逻辑。单人任务节点支持的执行逻辑如下:

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

额外关联配置:

1710154151438-d559e781-4e73-4507-8ec6-8bf9bed9199c

额外关联配置说明:

  • 附件选项:完成任务时是否可以上传附件

    1708929591820-a1cd23bc-3c51-4ad2-ad7e-aa9e42df70bc

  • 输出结果:可以配置完成任务时的输出结果

    • 任务结束之后,单人任务会基于用户选择的操作创建一个变量${acr$outcome}

    • 您可以将该局部变量映射到全局变量后,在后续节点进行判断/记录

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

额外关联配置:

1710154249935-b1a41e69-05ee-4594-a946-e2a5d219c85c

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

点击后,待办页面中该任务实例会从【待认领的任务】移动到【我的任务】,任务的执行人更新为当前用户

1709809749727-3c598aa3-7b78-4d17-acab-ad12536fa348

点击后,待办页面中该任务实例会从【我的任务】移动到【待认领的任务】,任务的执行人更新为空

1709809724106-b48224b6-1013-47d6-82e5-1a5b63bd1463

同《全局配置》章节中的【流程动作-流程撤回】。

点击后向可撤回节点发送撤回消息,可撤回节点收到消息后中断并执行该节点配置在订阅撤回的关联事件。

额外关联配置:

1710154328520-74a9ab80-a456-4ad2-942a-7cce67479c8d

  • 可撤回节点:选择发送撤回消息的目标节点,只允许选择已经配置【订阅撤回】事件监听的任务节点

  • 执行条件:配置允许撤回的条件

    • 默认无条件

    • 自定义条件支持多个可撤回节点自由编排:

      • 节点状态为进行中

      • 节点为多人任务的,该多人任务产生的多实例中没有任何一个任务实例被完成

支持完成当前任务后,再跳转至目标节点。

当前任务是被完成而非终止,所以配置在单人任务上的任务完成时监听、任务完成时映射都会被触发,任务状态会变为已完成。

额外关联配置:

1724228929374-43d75e1f-b3a6-4359-a8f2-faec14db2426

配置说明:

  • 附件选项:同【完成任务】,决定用户在跳转时是否能上传附件

  • 输出结果:可选本节点内,执行逻辑为【完成任务】的动作的输出结果

  • 跳转范围:

    • 不限范围:则使用时,可选任意节点

    • 设定范围:多选可跳转节点,使用跳转时,可选的节点仅限此处配置的范围内

      1712633024635-d480fdec-cac4-417f-9ac9-8ed4ece14d79

  • 被跳转节点完成任务后直达本节点:被跳转的节点,当完成任务的输出结果符合要求时,允许直接跳转到本节点,无需逐级审批

    1756176856238-4d0dec71-cbed-4783-880b-4dc90ad68ebc

    • 使用案例可以至【最佳实践->驳回】章节查看自由驳回相关用法

跳转的使用效果(未启用上传附件):

1712633837626-3f8e63a0-45c8-4997-b0d2-b37ebfd1424e

1712634100447-5804fceb-e7ba-4419-80b7-0cb10ff17169


根据【任务动作】中配置的、执行逻辑为【完成任务】的按钮和对应的输出结果,动态展示:

1709809911655-ec449d0a-5a52-48ec-a9db-9dc80da25dc8


单人任务通过候选人范围确定哪些人可以参与处理同一个任务,通常认领后成为执行人。配置多位候选人,仍然只生成一个任务。

候选人单位、七种指派方式、多个用户ID的写法、Python 输出映射和人员为空时的处理,统一参见《任务指派配置》。

以下说明单人任务的运行中处理和自动认领规则。

运行实例中,如果出现了候选人为空的异常,又不想通过重新发起新的流程实例来解决,推荐的常见处理方式:

  • 如果是通过角色方案、用户对象、表达式等配置导致的候选人为空,可以更改对应角色方案、对象数据等配置后,在【流程监控-异常信息】进行重试,将按照新的配置生成对应任务

  • 如果是提供了具体的用户或组,或静态的用户ID或用户组ID,则无法通过修改业务配置解决,可以修改此节点的acp$candidate变量值后进行异常重试

默认启用,单人任务创建的用户任务默认需要用户认领,但是当任务最终的候选人只有一个人时,可以配置该用户自动认领、


即在待办页面中通过点击查看按钮可以跳转查看的页面,一般配置用来进行任务处理

1706000389711-f767d734-b8f4-4c0f-9d5e-2e848278b650

  • 目前待办跳转页面支持页面2.0和UX元素,建议使用UX元素

  • UX 中先声明外部变量,例如字符串类型的 task_id、proc_id,保存后在待办跳转界面加载并为同名参数赋值:task_id = acp$task_id、proc_id = wfp$proc_id。UX 控件通过变量选择器或 $var.task_id、$var.proc_id 使用这些值。

  • UX 的完整步骤见 打开 UX 与传参。维护页面2.0的已有方案时,参见 页面2.0关联说明。

  • 常见的关联元素配置(以UX为例):

    1710155152182-c4c2d0f8-6aea-4cf9-9b56-ecb25a35f965

对于一些简单的任务,不需要跳转待办界面进行任务处理,可以配置允许快速完成,勾选后支持直接在待办页面上完成任务:

  • 待办页面对应任务上将出现快速处理按钮

  • 勾选任务后支持批量处理

  • 处理的逻辑仅限于完成任务,其他执行逻辑(例如转办、加签等)需要进入待办跳转界面处理

    1703818516543-f86bfbbe-8277-417b-b4e0-563077fc23ca


同《全局配置》章节中的【流程监听】,任务监听用以监听当任务实例到达某些节点时,执行对应的监听动作。

1710155361786-bc0627e1-9203-4e9b-a427-d63179380c8e

执行动作支持:

  • 启动工作流。流程启动参数支持以下类型的赋值:

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


任务开始后,支持在任务上创建多个监听动作,以实现一些不影响当前流程执行的逻辑。

基于此配置,您可以实现以下需求:

  • 任务开始向任务执行人发送提醒消息

  • 任务到期后每12小时,向任务执行人发送催办提醒消息

点击添加可添加一条任务监听,支持添加多条

1703818681585-d6e01428-3406-41e3-a7c2-42cea62efed5

添加后可修改名称或删除

1703819526027-dfced484-f244-453b-84ce-d3ae215c2b76

可以配置监听动作的执行时间

1710155649249-a24c56fb-e596-44ae-8047-872f299c80f4

  • 首次激活时间:基准时间+偏移时间即首次执行监听动作的时间

    • 基准时间可以配置表达式或者静态值

      • 例:您可以配置任务开始时间${acp!start_time}或者任务截止时间${acp!due_time}作为基准时间

    • 偏移时间用来辅助您实现更复杂的激活时间设置,如您需要在任务到期两小时后执行某个监听(入发送通知),您可以配置基准时间为${acp!due_time},偏移时间为2小时,支持的偏移时间单位有分钟/小时/天/周

  • 重复激活:支持您对于一个监听事件多次重复执行

    1710155717353-56d68d3e-958d-4abf-b63d-2730c02d9656

    • 可指定重复间隔,如每12小时重复执行一次,支持的间隔时间单位有分钟/小时/天/周

    • 最多激活次数/最晚激活时间:为了避免由于误配置导致多次重复执行,我们提供了该配置,用来定义监听动作的执行上限,达到最多激活次数/最晚激活时间,不再执行监听事件

      • 默认最多激活次数的上限为100次,即对于同一个监听动作,我们最多只会重复100次

  • 激活条件:当前始终激活。

1710155991548-9e529f7d-92ee-4033-bc72-c3a4668a7edc

1710155966375-309697c3-48fc-4df0-b729-b1a951435637

1716348116168-a56c1bb3-fd93-4767-a64f-a792d7b85942

目前支持的执行动作有:

  • 启动工作流:支持您启动一个额外的动作流

    • 通过此配置,您可以启动一个与当前工作流执行无关的流程,用来发送消息、执行脚本或其他行为

    • 流程启动参数支持表达式类型的赋值:支持当前节点(acp$)、全局变量(wfv$)、启动参数(wfi$)、工作流实例(wfp$)、工作流(wf$)变量

  • 发送消息:向目标流程发送指定消息,消息的定义详见《消息》章节

  • 完成当前任务:支持到期自动完成

    • 完成任务的操作用户为指派的任务执行人,若指派的执行人单位为用户组,则以组的名义完成任务,操作人为“任务监听-计时执行”

    • 若指派的执行人为空,当前仅支持不完成,等待用户处理

    • 完成当前任务的输出结果,可选本节点内,执行逻辑为【完成任务】的动作的输出结果,默认选择approve

    • 任务备注支持静态值和表达式

      • 静态值:默认超时自动完成

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

    • 效果:

      1716356762002-a1c6dcdf-3172-47df-9844-ee9274274281

当任务发生指派行为时(转办、转派、认领、取消认领),可以创建多个监听动作,启动一个与当前工作流执行无关的流程。

流程启动参数支持以下类型的赋值:

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

    1710156384337-601c4651-3cde-4b79-82c3-af34f8660e16


当任务完成时,可以通过任务完成时的监听额外执行一些事情,比如修改业务数据状态/记录日志等。

完成任务时的监听只能配置一个,因为这是一个瞬时的操作,您可以将所有需要进行的操作放到一个启动的流程中处理。

1710156480683-83e7d08b-a739-42bd-be38-d9f525aacc1b

  • 删除历史已完成和终止的任务实例:审批中驳回修改的场景,会创建新的提交任务实例,产生冗余的被驳回的历史任务实例,可以开启此配置以保留最新一次的提交任务,但相关流程记录不会被清除。

  • 执行逻辑:执行动作支持启动工作流,流程启动参数支持以下类型的赋值:

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


事件监听是唯一可以在任务运行中,从外部干预任务节点的方式,目前有两种配置通用消息和订阅撤回

1710156613946-0608bfaf-5406-42d0-9ab5-069627a3ebb0

1706001798841-bfacfbda-3c30-4b47-8732-4f5221595596

配置说明:

  • 目标节点:每一个事件监听需要配置一个目标输出节点,标识订阅到对应事件后的后续执行逻辑

    1710156791588-e227b9a4-0578-493d-8549-6fa3e7100747

    • 配置事件监听之后,需要在画布上为当前的事件监听配置一个输出节点,然后在配置项中选择此输出节点,进行匹配

  • 事件名称:有多个事件监听时,可以用来进行用途区分

  • 订阅消息:可以选择一个全局设置的消息事件进行订阅,当订阅的消息被接收时,执行关联的目标节点(消息事件如何定义,见《消息》章节)

  • 中断当前活动:开启后,当接收到订阅的消息时,会直接中断当前节点,执行事件订阅的目标节点

    • 不开启时,则不会影响当前节点执行

    • 开启后,若中断节点,节点中正在运行的任务会直接变更为 **【已终止】 **状态

  • 事件结束时映射:执行当前事件监听后,可进行数据映射操作,赋值类型包括:

    • 静态值

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

    • 消息参数:订阅消息的消息属性,可选与全局变量数据类型相同的参数

      1710156876197-01db69f7-ea04-4808-b78d-d02d5f0f000f

1703820687918-12dcf9d7-6f26-4c99-8d6a-88e229893ac8

订阅撤回实际上是订阅通用消息的一种特例,系统默认了一种撤回消息专门用来进行撤回操作。因此,对比通用消息来说,您无需再进行消息事件等额外配置。

当流程实例订阅到撤回消息时,本节点自动被打断终止,并根据事件监听配置的目标节点继续向后执行。

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

  • 静态值

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

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

    1710213054841-5ed4bbb2-388f-4bcc-a4a9-49f2919049cd

回到顶部

咨询热线

400-821-9199