触发器

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

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

添加触发器

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

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

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

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

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

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

更新指定字段时执行

部分触发器支持配置“更新”指定字段时执行,包括 数据校验发送通知新建动态回调 URL

定期执行

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

请注意下图中的执行时段,默认为 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 会自动检测并避免死循环的发生,您通常无需关心此问题。

理解优先级

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

优先级设置

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

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

过滤条件中使用字段变量

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

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

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

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

自动性能优化

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

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