触发器

触发器可以实现自动化、个性化的业务流程处理,例如为客户发送生日提醒、服务到期提醒、汇总客户总成交金额、自动审批、根据 A 字段的值自动填写 B 字段的值,甚至调用外部程序接口等等。

RB 的触发器采用 IFTTT 模式,其核心思想为“如果怎样,就怎样”,例如“如果合同审批通过,就创建订单”、“如果客户生日,就发送短信”等等。触发器是 RB 核心功能之一,支持丰富的自动化处理。

添加触发器

要添加触发器,首先进入管理中心 - 触发器,然后点击页面右上角的 [添加] 按钮。

  1. 根据需要选择合适触发器类型
  2. 选择触发源实体,即此触发器通过选择的实体触发

选择/填写完成后点击 [确定] 按钮,系统将进入下一步对触发器进行完整配置。

  1. 源实体
  2. 当(源实体记录)发生指定“动作”时执行该触发器
  3. 通过配置附加过滤条件进一步限定只有符合的数据才会被触发
  4. 触发器类型
  5. 根据不同的触发器类型,此处的触发内容也不同。详见 触发器类型
  6. 如果一个实体有多个触发器,且存在依赖,可配置触发的执行顺序。详见 理解优先级
  7. 立即执行此触发器(详情参见下文) ~~v3.1

触发动作中的“审批通过时”是指最终通过(即审批完成),而非某一审批步骤通过。同时注意部分触发动作可能不被源实体所支持,例如一个未开启审批流程的实体不会产生审批相关动作

附加过滤条件在“删除时”可能因无法匹配导致触发器无法触发,此类场景建议分成两个触发器(将删除动作独立出去,且不要配置附加过滤条件)

更新指定字段执行

“更新时”动作同时支持指定字段,即指定字段更新时才执行,若不指定则只要更新就会执行。

指定审批步骤执行 ~~v3.8

“审批通过时”动作同时支持指定审批步骤,即指定步骤审批通过时才执行。若不指定则仅最终通过(即审批完成)时才执行。审批步骤名称是您在审批流程节点中设置的名称。

定期执行

触发器除了在特定动作下触发执行,也可以被“定期执行”。对于那些没有合适触发时机或需要定期触发的业务(动作)特别有用(例如发送客户生日提醒)。

请注意下图中的执行时段,默认为 0~24 点,您可以根据需要选择指定的时段内执行。例如每天执行 2 次,执行时段选择 0~24 点,其执行时间分别为 0:00 和 12:00 点;执行时段选择 9~18 点,其执行时间分别为 9:00 和 13:00 点。

若您选择“每天”执行,其最大执行次数为 24 次(每小时一次);若“每月”执行,其最大执行次数为当月天数(每天一次);若“每小时”执行,其最大执行次数为 60 次(每分钟一次)

立即执行

立即执行不用等待特定的动作才执行。请注意如当前触发器已做修改请先保存,未保存的修改不会生效。同时,如您的数据较多耗时会较长,因此建议您在非业务繁忙阶段执行此操作。

可用触发器

RB 提供了丰富的触发器用于满足各种业务场景。我们将在后续版本中提供更多触发器,以便满足您的更多业务需要。

类型 说明
字段更新 用于更新关联实体(或自身),支持丰富的更新方式
字段聚合 用于聚合多条记录(例如订单明细聚合到订单),支持丰富的聚合方式
分组聚合 字段聚合的增强版
数据校验 用于验证数据是否符合要求
发送通知 用于向内部/外部用户发送通知,支持丰富的发送方式
自动审批 审批流程 自动化
自动分配 记录分配 自动化
自动共享 记录共享 自动化
自动取消共享 记录取消共享 自动化
自动记录转换 记录转换 自动化
自动删除 自动删除无效数据
新建动态 自动新建 动态
新建任务 自动新建 任务
回调 URL 用于三方系统对接,当数据变更时通知第三方系统

高级主题

级联执行

某些触发器可能会引起级联执行,例如 A 触发器用于更新某实体字段值,当某实体字段值被更新后,会被动触发“更新”动作,从而引起 B 触发器(若有)执行,B 触发器又可能引起 C 触发器(若有)执行… 简而言之,无论“更新”动作是如何发生(如手动更新、API 更新、触发器更新等),其对应的触发器都会被执行。

同时,如果两个(或多个)触发器之间存在循环级联执行,RB 会自动检测并避免死循环的发生,您通常无需关心此问题。

自 V3.8 开始,您可以在触发器中开启“禁用级联执行”(仅会产生级联效应的触发器支持)

理解优先级

优先级只在同一源实体的同一动作时才有意义。例如 A 实体有两个触发器(T1 和 T2),且均在“更新”时执行,此时可以通过配置优先级使 T1 和 T2 的执行顺序可控。但如果 T1 是在“更新”时执行,T2 是在“删除”时执行,则优先级的配置将没有意义。

优先级设置

当一个操作产生了多个触发器执行,通常情况下他们会在一个事物中执行(要么都成功要么都失败),但有些触发器例外。例如对于发送通知而言,若邮件/短信等已经发送,即使操作失败了也无法撤回。所以此触发器的优先级应尽量设置的足够小,以便让其最后执行(让前面的触发器先执行)。以下是应注意的触发器及优先级建议:

  • 数据校验:先执行
  • 发送通知:后执行
  • 回调 URL:后执行

过滤条件中使用字段变量

在触发器的高级查询组件中,您可以使用字段变量作为条件值进行更加灵活的条件判断。在以下配置中变量可用:

  1. 附加过滤条件
  2. 聚合数据条件
  3. 数据校验条件

字段变量以 {@ziduan} 格式填写,在实际执行时会使用触发记录作为源数据,并提取其对应字段值替换变量为实际值进行查询操作。

? 本功能仅对商业版本有效,且部分字段可能暂未支持填写字段变量

自动性能优化

在一些触发器中,系统会自动判定触发器执行内容是否会对目标记录产生影响。如果执行内容的结果与目标记录一致,系统可能会跳过执行。因此,当我们修改了无需参与执行内容计算的字段时,触发器并不会产生实际执行,以此提高执行效率。同时注意,如果跳过执行其可能存在的 级联执行 也不会被执行。

该文档内容对您是否有帮助?没有
您也可以通过 社区群组 向我们反馈问题
更新时间 2024-09-10
目录