全局设置「规则事件」|飞书低代码平台

全局设置「规则事件」|飞书低代码平台

飞书低代码平台手册精选NaN-NaN-NaN
产品功能
功能介绍
对于复杂的「业务流 + 审批流」的场景,常常需要监听审批任务的变更,进行对应的业务逻辑处理,如审批任务生成后,将数据同步至第三方系统,在第三方系统中给对应的审批人发送消息等。
对于上述场景,可配置「规则事件」,实现在人工任务操作变更后,执行子流程,同时在子流程中配置对应的数据同步逻辑。
则在流程运行时,当有人工任务生成、或审批人进行了对应的审批操作时,均会触发子流程的执行,执行对应的逻辑。
配置步骤
进入流程编辑页,点击「设置」,全局设置中进入「审批规则事件」,按需点击新建事件:
250px|700px|reset
image.png
弹出展示事件配置弹窗,配置事件触发后执行的动作:调用子流程调用函数
250px|700px|reset
image.png
执行动作:调用子流程
选择子流程后,根据子流程的入参要求,完成入参配置
  • 变量选择面板中,最后一个分组「系统变量」中,支持选到事件输出的数据,可直接配置成为子流程的入参传递给子流程。
  • 事件输出数据的数据格式,可点击展开「事件输出的数据格式」进行查看
250px|700px|reset
image.png
250px|700px|reset
image.png
配置完成后,点击确定,事件配置完成。流程配置完成并启用后,在流程运行时,当流程进行了相关变更后,将触发子流程的执行。
开发者可通过流程执行历史查看子流程的执行情况:
250px|700px|reset
image.png
执行动作:调用函数
  1. 选择/新建一个函数
  1. 设置同步 or 异步执行
  1. 根据已选函数的入参定义,设置传入函数的值
  1. 可以查看事件输出的数据结构
  1. 实际发起一个审批实例
  1. 撤回流程
  1. 触发撤回流程后的事件
  1. 执行事件触发的函数
250px|700px|reset
image.png
事件说明
(一)审批拒绝后事件
功能说明:当流程审批人“拒绝”审批任务时,即触发执行「审批拒绝后事件」;若同时配置事件及「自定义拒绝流程」节点,则均会执行
配置步骤:
  1. 添加「审批后拒绝」的事件
  • 入口1:流程-设置-规则事件-审批拒绝后
  • 入口2:审批节点的「自定义拒绝流程」的引导按钮
  1. 配置事件发生后的执行动作:子流程或调用函数
以调用子流程为例,选择需要调用的子流程:
250px|700px|reset
image.png
设置给子流程传入的具体入参值,完成事件配置:
  • 选择子流程后,会自动将子流程的所需要的入参定义渲染到「传入流程的数据」中
  • 可以通过指定/引用/公式的方式给子流程的入参进行赋值,也支持引用到事件发送时输出的字段值
注意:当同时开启了「自定义拒绝流程」和「拒绝后事件」时,二者均会在运行时执行
事件输出的数据说明
字段名称
类型
说明
event_id
文本
事件 ID,事件的 key
instance_id
浮点数
流程执行 ID
operator_id
浮点数
操作人这一用户记录的 record ID
task_id
浮点数
事件发生时,所处的任务 ID
time
浮点数
事件发生时间,毫秒时间戳
reason
文本
拒绝原因
activity_label
文本
事件发生时,所处的节点的名称
zh_cn_text
文本
文本
en_us_text
文本
文本
extra
文本
-
(二)审批撤销后事件
流程发起人发起流程后,在「我的任务 >> 我发起的」审批任务流中,可以撤销审批流,重新修改申请内容的诉求。
流程配置:
  1. 在流程编辑页面,点击「设置 >> 人工任务」:选中「允许发起人撤销」
  1. 可对撤销后事件进行配置,配置步骤请参考
  1. 允许撤销的申请:
  1. 尚未被处理的申请
  1. 所有进行中的申请
运行演示
  1. 发起人发起流程
  1. 在「我发起的」流程中撤销对应的流程
  1. 填写撤销理由
  1. 原进行中的审批流程状态更改为「已撤销」
  1. 飞书 bot 也会同步消息通知
250px|700px|reset
image.png
事件输出的数据说明
字段名称
类型
说明
event_id
文本
事件 ID,事件的 key
instance_id
浮点数
流程执行 ID
operator_id
浮点数
操作人这一用户记录的 record ID
time
浮点数
事件发生时间,毫秒时间戳
reason
文本
撤销原因
extra
文本
-
(三)人工任务操作变更后事件
  • 流程中存在人工任务变更后均执行,包括人工任务生成、同意/完成、拒绝、加签、转交、撤销等,均执行
事件输出的数据说明
字段名称
类型
说明
extra ()
event_id
文本
事件的唯一标识
-
Instance_id
浮点数
触发了本次事件的流程执行 ID
-
type
文本
new_task:新任务生成
{
"assignees": [123, 456] // 分配的审批人user record id
}
approve:审批人操作了审批通过、填写任务节点的处理人操作了提交、抄送节点抄送完成,均推送为 approve
{
"approver": 123213, // 审批人user record id
}
reject:审批人操作了审批拒绝
{
"approver": 123213, // 审批人user record id
}
transfer:用户操作了转交
{
"assignees": [123213], // 新审批人
"reason": "由于XXX,转交给XXXX" // 转交原因
}
add_assign:审批人操作了加签
{
"add_assign_type": "after_assign" // 加签类型, currentAndAddAssign/afterAndAddAssign
}
withdraw:管理员操作了流程撤回
{
"reason": "由于XXX,转交给XXXX" // 撤回原因
}
terminate:管理员操作了流程终止
{
}
time
浮点数
事件发生事件,毫秒级时间戳
-
task_id
浮点数
审批任务 ID
-
operator_id
浮点数
操作人用户记录的 record ID
-
extra ()
文本
附加信息,与事件类型 type 字段关联,见右列
-
说明:
  • 对于新任务生成 new_task
  • 对于转交、加签操作,将触发两次事件
  • 举例:用户 A 加签了用户 B,
  1. 用户 A 操作加签完成后,触发一次,type = add_approver,operator_id = 用户 A 的记录 ID
  1. 加签完成,给用户 B 生成审批任务时,触发一次,type = new task,operator_id = 用户 B 的记录 ID
(四)「退回」至发起人/任一前序审批节点
支持两类退回规则
  • 退回至「仅发起人
  • 退回至「任一前序审批节点」 :审批人在审批流可操作从当前任务退回至指定的前序人工任务,并重新执行后续全部流程节点。若流程中涉及「数据回滚」,可通过配置「退回后事件」自定义退回后的执行逻辑。
操作说明
截图/录屏
配置步骤
  1. 在「审批」节点,可选择是否开启「允许审批人退回」
  1. 当开启时,可以进一步设置:
  1. 支持退回至「仅发起人
  1. 退回至「任一前序审批节点」
250px|700px|reset
250px|700px|reset
运行演示
  1. 点击「退回」
  1. 设置回退至前序的哪个节点
  1. 若流程配置的是「发起人」,则可选项只有发起人
  1. 若流程配置的是「前序任一节点」,则可选项为前序的任一一个审批节点
  1. 填写退回理由
  1. 退回后
  1. 操作退回的节点 状态变为:已退回
  1. 从退回至的节点起,重新执行流程中的后续全部节
250px|700px|reset
退回.gif
事件输出的数据说明
字段名称
类型
说明
event_id
文本
事件的唯一标识
Instance_id
浮点数
触发了本次事件的流程执行 ID
type
文本
new_task:新任务生成
time
浮点数
事件发生事件,毫秒级时间戳
current_task_id
浮点数
操作「退回」的任务 ,即当前任务任务 ID
operator_id
浮点数
操作人用户记录的 record ID
reson
文本
退回原因
先进生产力和业务协同平台
联系我们立即试用

先进团队,先用飞书

欢迎联系我们,飞书效能顾问将为您提供全力支持
分享先进工作方式
输送行业最佳实践
全面协助组织提效
联系我们立即试用