注:请阅读本文的更新版本:理解伙伴云的表达式
什么是表达式?
表达式是一种类似 Excel 公式的赋值方法,跟 Excel 语法十分相似,函数的用法也很接近。表达式在伙伴云触发器、数据验证、填写向导、计算字段、自动填写等自动化功能中有广泛的使用。
表达式是实现复杂业务逻辑,满足高级计算、汇总需求最重要的部分,通过表达式您可以结合自己的业务,灵活配置出所需要的功能。
表达式举例:
IF({当前数据.分数} >= 60, '及格', '不及格')
变量和常量
在上面的例子中,我们就用到了当前数据.分数
这个字段变量,以及'及格'
、 '不及格'
这两个字符串常量。
提示:放在“{}”中的变量与常量,不可通过复制的方式插入,只可通过推荐的变量与常量进行选择。因为虽然看到的是变量或常量的文字,但每一个“{}”都对应了一个唯一的ID,只有通过选择添加的方式才能获取到对应的ID。
变量
即字段变量,当由不同的数据触发执行触发器时,可以在表达式中通过引入字段变量,来代表不同的数据的字段值。
可以通过输入左花括号“{”来引入变量,输入后我们会给出自动提示,按方向键“下”或鼠标点击进行选择,您还可以直接输入文字,我们还会根据文字自动搜索并推荐出您需要用到的变量。选择变量后,右花括号“}”会自动补齐。
例如:{当前数据.分数}
就是一个字段变量
不同的字段类型,对应的字段变量的结果类型不同:
字段类型 | 返回值类型 |
---|---|
文本(单行/多行/带格式)、号码、条码 | 文本 text |
数值(数值/百分比)、金额、计算公式(结果为数字/百分比) | 数字 number |
日期和时间(仅日期/日期和时间)、计算公式(结果为仅日期/日期和时间) | 日期 datetime |
选项(单选项/多选项)、下拉菜单(单选项/多选项) | 选项 category |
工作区成员(一个成员/多个成员) | 用户 user |
关联其他表格(一条数据/多条数据) | 数据 item |
图片、附件 | 文件 file |
除字段变量外,还提供了如下变量:
变量 | 语法 | 数据类型 | 含义 |
---|---|---|---|
指定表格 | {表格名称} | 表格 table | 当使用统计函数时,才可引入指定的表格变量,用于统计指定表格的数据。 |
当前表格 | {当前表格} | 表格 table | 用于引入当前触发触发器的表格变量,可用于统计函数。 |
当前数据 | {当前数据} | 数据 item | 由数据触发的触发器中才可引入的变量,通过此变量可引入该数据的所有字段的值。 |
当前操作人 | {当前操作人} | 用户 user | 由用户触发的触发器才可引入的变量,即通过定时到期触发的触发器不可引入。 |
目标表格 | {目标表格} | 表格 table | 用于引入对目标表格数据的筛选时用到的目标表格字段。 |
目标数据 | {目标数据} | 数据 item | 当触发器的后续操作要对指定表格修改数据时,每一条被操作的数据作为目标数据。 |
查找数据表格 | {查找数据表格} | 表格 table | 用于引入要查找数据的表格字段。 |
查找到的数据 | {查找到的数据} | 数据 item | 可在批量创建数据时引入找到的数据。 |
一般情况下,在数据变量下可通过“.”引入如下变量:
变量 | 语法 | 数据类型 | 含义 |
---|---|---|---|
字段 | {数据.字段名} | 详见上表 | 该数据的所有字段值,根据字段类型的不同,会返回不同的数据类型。 |
创建时间 | {数据.创建时间} | 日期 datetime | 该数据的创建时间。 |
创建人 | {数据.创建人} | 用户 user | 该数据的创建人。 |
修改时间 | {数据.修改时间} | 日期 datetime | 该数据的修改时间。 |
修改人 | {数据.修改人} | 用户 user | 该数据的修改人。 |
当触发条件只选择了“修改数据”时,在数据变量下可通过“.”引入如下变量:
变量 | 语法 | 数据类型 | 含义 |
---|---|---|---|
字段(原值) | {数据.字段名-原值} | 同字段 | 表示数据修改之前的原值,在字段变量下引入。 |
字段(新值) | {数据.字段名-新值} | 同字段 | 表示数据修改之后的新值,在字段变量下引入。 |
修改时间(上次) | {数据.修改时间-上次} | 日期 datetime | 表示数据上次的修改时间,在字段变量下引入。 |
修改时间(本次) | {数据.修改时间-本次} | 日期 datetime | 表示数据本次的修改时间,在字段变量下引入。 |
修改人(上次) | {数据.修改人-上次} | 用户 user | 表示数据上次的修改人,在字段变量下引入。 |
修改人(本次) | {数据.修改人-本次} | 用户 user | 表示数据本次的修改人,在字段变量下引入。 |
常量
在表达式与变量做比较或运算的,大多是常量。可使用的常量如下:
常量 | 语法 | 数据类型 | 含义 |
---|---|---|---|
数字 | 2.34 | 数字number | 直接书写数字即可,用于计算,或为数字字段赋值。 |
文本 | ‘字符串’ | 文本text | 文本需用英文单引号扩起来,用于文本拼接,与文本字段比较,或为文本字段赋值。 |
备选项 | {C:表格名称.字段名称.备选项} | 选项category | 通过输入“{C:”来触发引入选项字段下的备选项,只可用于与所属选项字段进行比较,或为选项字段赋值。 |
用户 | {U:用户姓名} | 用户user | 通过输入“{U:”来触发引入工作区成员,可输入用户姓名直接搜索,用于与用户类型的字段变量进行比较,或为工作区成员字段赋值。 |
数据 | {I:表格名称/数据标题} | 数据item | 通过输入“{I:”来触发引入指定表格的指定数据,可输入表格名称或数据标题直接搜索,用于与关联了相同表格的关联字段的变量进行比较,或为关联字段赋值。 |
字段 | {I:表格名称/数据标题.字段名} | 同字段 | 在指定数据下,可引入该数据的所有字段值,根据字段类型的不同,会返回不同的数据类型。 |
文件 | {F:附件文件名} | 文件file | 可通过上传文件引入,为图片或附件字段赋值。 |