REBUILD 高级计算公式实战

高级计算公式在触发器 字段更新 中使用,是 RB 最强大的功能之一。他可以根据业务需要计算出您需要的值并进行自动更新。介于高级计算公式的强大能力,其使用也需要一定的技术门槛,且具有一定的复杂度。

本文将通过一些示例介绍触发器的使用,希望对您有一定启发。在开始前,您需具备以下能力,否则可能无法理解本文所涉内容。

  1. 对编程语言有一定了解
  2. 了解 RB 的 触发器 和 字段更新
  3. 了解 Aviator 脚本语言

高级计算公式基于 Aviator 脚本语言,实际上当您在编写公式时就是在编写 Aviator 脚本

基础示例

从最简单的例子开始,如下图所示。

此示例用于将地区 district 和地址 address 拼接为一个完整地址,并且中间用 - 相连。其中:

  • ## 开头的一行是注释,不是必须的。注释在实际执行时不起作用,只是在编写复杂公式时通过注释可以帮助我们更好的理解
  • {district} {address} 是字段内部标识,可以看出他使用 {} 包裹起来,这是必须的

基于上述示例我们再进一步,如果地区和地址为空,我们就不拼接,该如何编写?请参考:

go 复制代码
if ({district} == nil && {address} == nil) {
  return nil;
} else {
  return {district} + "-" + {address};
}

可以看到,这是一个多行的公式,因此他需要完整的语法表达,包括:

  • 尾部使用 ; 结束(相较于上述单行示例无需 ;)
  • 通过 return 来返回我们需要的值(相较于上述单行示例无需 return)
  • 其中 nil 代表空(其他编程语言一般使用 null 请注意区分)

如上,若您能理解并通过上述示例举一反三,恭喜您已具备编写高级计算公式的能力。

示例列表

根据企业注册时间修改客户等级

实体和字段

  • 实体1:Account
  • 关键字段:
字段 字段类型 说明
registrationDate 日期 企业注册日期
accountLevel 下拉列表 客户等级

公式

kotlin 复制代码
## 未填写企业注册日期则返回原值(即不做修改)
if (ISNULL({registrationDate})) {
  return {accountLevel};
}

## 用当前日期减去企业注册日期得出注册天数
let xday = CURRENTDATE() - {registrationDate};

## 根据注册天数返回客户等级
## 请注意下拉列表需要返回 ID,详情参阅 https://getrebuild.com/docs/admin/trigger/fieldwriteback#%E5%AD%97%E6%AE%B5%E5%8F%98%E9%87%8F%E5%80%BC%E8%AF%B4%E6%98%8E 
## 具体 ID 值可通过 OpenAPI 获取 https://getrebuild.com/docs/dev/how-use-apis
if (xday > 3650) {
  return '012-018dcbe2fa5b003d';
} elsif (xday > 1825) {
  return '012-018dcbe2fa5b003a';
} elsif (xday > 365) {
  return '012-018dcbe2fa5b003c';
} else {
  return '012-018dcbe2fa5b0031';
}

更多示例陆续编写中......

相关推荐
昵称画15 小时前
交接班记录电子化:三班之间的信息不漏
开发语言·数据库·人工智能·低代码·php
缓慢更新15 小时前
审批的加签与会签:多人意见怎么合
android·java·数据库·低代码·rxjava
静默执行19 小时前
接口契约的多人维护:谁改谁通知
低代码
细水长流6451 天前
生产异常的群内闭环:从报警到认领
低代码
窗边看云1 天前
侄女实操快印系统:非标规格,固化成报价规则
低代码
驰骋工作流1 天前
一份 BPM 平台能力对标清单:25 个评估维度的横向观察驰骋BPM驰骋低代码低代码工作流引擎
低代码
ebok.1 天前
低代码平台如何集成 AI:从开发侧到运行侧的技术实践与京微智枢方案
人工智能·低代码·ai·rxjava
窗边看云2 天前
波次拣货的分工:三个人怎么不撞车
低代码
ZKNOW甄知科技2 天前
燕千云迭代版本发布:智能Agent深入业务现场
运维·人工智能·低代码·机器学习·自然语言处理·自动化·aigc
她的男孩2 天前
条件分支两边审批一样,却发成两份待办:Forge Admin 审批设计器的公共节点合并
spring boot·低代码·工作流引擎