跳到主要内容

条件、校验和自动化

条件、校验器和后置动作分别回答三个问题:任务是否可以走某条路径、用户能否执行当前操作、操作成功后还要做什么。

1. 三类配置的执行边界​

配置作用采购案例
Condition决定转换是否可用或网关走哪条分支Amount 是否达到财务审批阈值
Validator在操作提交前验证数据和状态审批意见必填
Post Function / Action操作成功后执行副作用发送通知、更新字段、调用 Webhook

能用结构化字段比较完成的条件,不应改写成难以维护的自定义脚本。跨系统副作用应放在操作成功后的自动化阶段。

2. 配置金额条件​

  1. 选中 Amount Gateway 的一条转换。
  2. 添加字段比较条件。
  3. 从候选项选择 Amount。
  4. 配置数字比较操作符和阈值。
  5. 在另一条分支配置互补条件,或明确设置默认分支。
字段比较条件展示 Amount 字段、数字操作符和阈值配置。images/pd-condition-amount-01.webp
截图待补充

请在条件编辑器中确认自定义字段引用,不在手册中固定未经验证的字段表达式语法。

3. 配置操作和表单​

人工节点可按当前能力配置 Assign、Transfer、Assign to Me、Multi Assign 或使用 Custom Form 的业务操作。每个操作应明确:

  • 显示名称
  • 使用的表单
  • 目标转换或目标节点
  • 允许执行的权限
  • 提交前校验器
  • 成功后的自动化

审批通过和拒绝应是工作流操作,不要在 Task Form 中放置一个只改页面状态的普通按钮。

4. 添加校验器​

采购审批可在 Approve 或 Reject 操作上添加:

  • 审批意见必填
  • 指定字段必填
  • 父任务或子任务状态满足要求
  • 当前任务字段比较通过
操作校验器展示审批操作下的 Field Required 或状态校验配置。images/pd-validator-operation-02.webp
截图待补充

校验失败时应阻止操作并返回可理解的提示。表单 Required 与操作 Validator 可以同时使用:前者改善输入体验,后者保障服务端业务规则。

5. 添加自动化​

常见后置动作包括:

  • 发送任务通知
  • 设置任务字段或详情值
  • 在字段间复制值
  • 调用 Webhook
  • 创建或更新 Business Object 数据

用流转自动记录审核结果​

采购案例中的审核结果应由流转写入,而不是让审批人在表单中手工选择:

流转FunctionField NameField Value
Department Review · ApproveSet Task FieldDepartment Review ResultApproved
Department Review · RejectSet Task FieldDepartment Review ResultRejected
Finance Review · ApproveSet Task FieldFinance Review ResultApproved
Finance Review · RejectSet Task FieldFinance Review ResultRejected

配置一条流转时,在右侧 Functions 点击添加,选择 Set Task Field,再选择目标字段并填写固定值。Function 只会在校验通过且该流转成功执行后应用,因此字段值能够准确表示实际执行的路径。Result 字段建议使用包含 Approved、Rejected 两个选项的 Select,并在 Create / Transition Form 中保持不可编辑,在 View Form 中只读展示。

可用动作由当前插件提供。配置 Webhook 或模型数据动作时,先明确幂等性、失败策略、敏感参数和重试影响;不要把密钥直接写进可见配置或日志。

后置动作展示通知、字段更新和 Webhook 等可用动作列表。images/pd-post-actions-03.webp
截图待补充

6. 测试矩阵​

场景预期结果
Amount 低于阈值Department Review 通过后直接 Approved
Amount 达到阈值进入 Finance Review
审批意见为空操作被校验器阻止
Department Review · Approve / RejectDepartment Review Result 写入 Approved / Rejected
Finance Review · Approve / RejectFinance Review Result 写入 Approved / Rejected
Reject进入 Rejected,并按配置通知 Applicant
Webhook 失败按配置返回明确失败或进入可追踪重试,不重复更新数据

7. 常见问题​

条件始终不命中:检查字段类型、空值、比较值类型和操作符;从编辑器重新选择字段并运行校验。

页面显示必填但接口仍能绕过:把关键规则配置为工作流 Validator,而不只依赖前端表单属性。

自动化执行两次:检查操作是否重复提交、Webhook 是否幂等,以及动作是否同时配置在多个阶段。

下一步​