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';
}

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

相关推荐
麦聪聊数据6 小时前
为何通用堡垒机无法在数据库运维中实现精准风控?
数据库·sql·安全·低代码·架构
不爱学英文的码字机器10 小时前
解读CANN MindX SDK仓库:AIGC应用开发的“低代码加速器“
低代码·aigc
HUIBUR科技13 小时前
低代码赋能供应商管理:打破管理壁垒,重塑供应链效能
低代码·数字化转型
guizhoumen13 小时前
2026国内外企业级cms建站系统的BI图表功能评测
低代码·cms·网站建设·建站系统·内容管理系统
豆豆13 小时前
企业级CMS和低代码平台标杆:PageAdmin新版的可视化BI和自定义表单功能体验
低代码·cms·可视化·bi·表单功能·工单功能·统一平台
红迅低代码平台(redxun)14 小时前
构建企业“第二大脑“:AI低代码平台如何打造智能知识中枢?
人工智能·低代码·ai agent·ai开发平台·智能体开发平台·红迅软件
feasibility.3 天前
在OpenCode使用skills搭建基于LLM的dify工作流
人工智能·低代码·docker·ollama·skills·opencode·智能体/工作流
IT研究所3 天前
信创浪潮下 ITSM 的价值重构与实践赋能
大数据·运维·人工智能·安全·低代码·重构·自动化
希艾席帝恩4 天前
智慧城市建设中,数字孪生的价值在哪里?
人工智能·低代码·私有化部署·数字孪生·数字化转型
小W与影刀RPA4 天前
【影刀 RPA】 :文档敏感词批量替换,省时省力又高效
人工智能·python·低代码·自动化·rpa·影刀rpa