- 简介
- 入门指南
- 使用 BPMN 进行流程建模
- 使用 Case Management 进行流程建模
- 使用 Flow 进行流程建模
- 流程实施
- 流程运营
- 流程监控
- 流程优化
- 参考信息
暂停流程,以分配任务以供人工审核、批准或输入。
“人工任务”节点暂停流程并将任务分配给人员,然后在人员完成后继续。当流程需要人工审核、批准或输入才能继续时,请使用此功能。
本页面涵盖“快速表单”任务类型,可直接在节点上构建表单。有关动手操作,请参阅“向工作流添加人工审批” 。
何时使用人工任务与决策
当需要人员在流程继续之前查看信息并做出响应时,请使用“人工任务”节点。当分支无需人工参与即可根据现有数据自动解析时,请使用决策节点。
人工任务节点通过其自己的输出句柄路由受分配人选择的结果。当分支来自现有数据而非人员选择时,即刻做出决策。
任务类型
“类型”字段控制向受分配人呈现任务的方式。
快速表单
直接在节点上构建表单。您可以定义受分配人查看的字段以及他们可以选择的结果。这是默认设置,最适合审批和直接收集数据。本页的其余部分将介绍快速表单。
自定义应用程序
使用编码 Action 应用程序支持任务,以获得更丰富的自定义界面。选择Actions 应用程序下的应用程序,并映射其输入。Action Apps 文档介绍了构建应用程序本身。
配置
| 字段 | 必填 | 默认 | 描述 |
|---|---|---|---|
| 类型 | 是 | 快速表单 | 任务演示模式。快速表单显示节点上定义的表单;自定义应用程序提供了编码操作应用程序。 |
| 交付渠道 | 是 | Action Center 和电子邮件,已分配给组 | 任务交付目标和受分配人。支持的渠道包括Action Center 、电子邮件、 Slack和Microsoft Teams ; Slack 和 Microsoft Teams 需要 Integration Service 连接。 |
| 任务架构 | 是 | 提交结果 | 表单结构,包括被分配者查看或填写的字段,以及他们可以选择的结果。有关完整结构,请参阅架构:字段和结果。 |
| 任务标题 | 否 | 无 | 受分配人在其任务列表中显示的标题。 |
| 优先级 | 否 | 无 | Action Center 中显示的优先级:低、中或高。 |
| 标签 | 否 | 无 | 用于组织任务的逗号分隔标签,例如finance,approval 。 |
架构:字段和结果
任务架构定义了被分配者看到的内容以及他们返回给流程的内容。它包含两部分:字段和结果。
字段
字段将数据带入和带出任务。每个字段都有一个方向。
- 输入字段是被分配者的只读上下文,绑定到流程值,例如
$vars.start.output.employeeName。 - 输出字段由受分配人填写并返回给流程。
- “输入”/“输出”字段具有双重功能:它们向受分配人显示作为起点的流程值,受分配人可以在值返回到流程之前对其进行编辑。
每个字段都有一个类型。可用类型:
textnumberdatebooleanfile
结果
结果是指受分配人用于完成任务的按钮,例如“批准”和“拒绝” 。默认架构有一个“提交”结果。第一个结果标记为主要操作。
每个结果都将自己的输出句柄添加到节点。当受分配人选择结果时,流程将从该结果句柄继续,因此您可以将每个结果路由到不同的路径。请参阅在结果上分支。
输出
在$vars.<nodeName>.output访问节点的输出,在$vars.<nodeName>.status访问选定的结果。
输出
任务结果:一个对象,用于保存受分配人提交的值,由输出字段键入。使用$vars.<nodeName>.output.<fieldId>读取单个字段。该对象还带有设置为所选结果的Action属性。
状态
受分配人选择的结果,例如Approve 。按此值创建分支以路由流程。
根据结果创建分支
您定义的每个结果都会向“人工任务”节点添加一个输出句柄。受分配人完成任务后,流程将从他们选择的结果的句柄继续。将每个结果句柄连接到应为该路径运行的节点。您不需要决策节点即可根据结果进行拆分。
Human Task
├─ Approve → continue processing
└─ Reject → notify the requester and terminate
Human Task
├─ Approve → continue processing
└─ Reject → notify the requester and terminate
使用$vars.<nodeName>.output.<fieldId>读取任何下游节点中已提交的字段:
// In a Script node on one of the outcome paths
return $vars.approval.output.comment;
// In a Script node on one of the outcome paths
return $vars.approval.output.comment;
如果您需要在表达式中使用所选结果,则也可以将其用作$vars.<nodeName>.status 。
常见问题
受分配人未出现任务
请验证受分配人(无论是用户还是组)是否正确以及是否有权访问 Action Center。
输出中缺少输出值
确认已在任务架构中的输出方向定义相应字段。
结果路由到错误路径
确认每个结果的输出句柄已连接到您想要的节点。您在架构中定义的每个结果在人工任务节点上都有自己的句柄。
注意
要在没有真实受分配人的情况下进行测试,请使用模拟输出来模拟status和output响应。有关操作步骤,请参阅向工作流添加人工审批。
- 如果受分配人是一个组,则该组的任何成员都可以声明并完成任务。
- 要获得比表单更丰富的界面,请将“类型”设置为“自定义应用程序” ,并使用“操作应用程序”支持任务。