您可以创建公式以在 Vault 中完成各种任务。Vault 使用类似 Excel™ 的公式语言,其中包括允许计算日期和文本字符串以及数值的函数和运算符。
Vault 中公式的一些示例包括:
- 通过公式类型对象字段计算值或动态显示图标。
- 设置对象记录或文档的默认字段值。
- 在工作流中或生命周期状态更改时设置文档或对象记录的字段值。
本文包括有关公式语法、有效字段和数据类型的信息,以及编写公式的一般指南。Vault 公式引用指南提供所有函数和运算符的详细信息。
注意:Vault 还允许管理员创建公式数据类型的自定义文档字段。这些函数仅作为可在报告中显示的指标,它们使用一组不同的函数和运算符。请参阅使用公式字段创建自定义报告指标。
有效字段
有效字段类型因生成公式的位置而异。有关受支持的字段类型和其他使用特定信息,请参阅以下文章:
生命周期状态字段
您可以在公式内引用对象记录的生命周期状态。在运行时,Vault 将这些内容替换为记录的当前生命周期状态的名称或标签。例如:
state__v
或[Object Name].state__v
会检索名称planned_state__v
Text(state__v)
会将标签作为文本检索:“已计划”
对象引用字段
您可以检索公式中记录的对象引用。例如:
country__c
检索记录的对象引用Text(country__c)
检索文本形式的记录标签,即“美国”ID(country__c)
检索文本形式的记录 ID
数据类型
定义公式时,请确保公式中的运算符、函数、字段和值与字段的数据类型匹配。例如,您无法乘以文本值,但如果文本字段包含数字,您可以先将该字符串转换为数字值,然后再相乘。
转换数据类型
在公式中使用时,Vault 自动转换以下数据类型:
- 选项列表 → 文本(对象的公式字段或字段默认值中除外)
- 日期时间 → 日期(对象的公式字段或字段默认值中除外)
注意:日期时间 → 日期转换使用 Vault 的默认时区设置,并截断值的时间部分。
Vault 提供您可用于转换数据类型的函数:
- 日期 → 文本:
文本(日期、格式)
- 日期时间 → 文本:
文本(时间、格式)
- 数字 → 间隔:
日(数字)
、月(数字))
、年(数字)
- 文本 → 数字:
值(文本)
- 对象引用 → 文本:
ID (对象_记录)
、文本(对象_记录)
公式指南
在 Vault 中创建表达式时,请使用这些指南。
公式表达式
编写公式表达式时,请使用以下指南:
- 小数点为句点,而无论 Vault 的区域设置如何。
- 公式的最大长度为 1,500 个字符。
- 当公式包含多个表达式时,使用括号 () 包围表达式。
字段
将文档或对象字段添加到公式表达式时,请使用以下指南:
- 使用字段名称(如字段面板中所示),而不要使用字段标签。例如,使用 status__v,而不是 Status。
- 引用文档时,字段名称包括前缀,以指示其是应用于文档 (Document.) 还是文档的相关对象 (document_product__vr.)。直接引用对象字段(不通过关系)时,没有前缀,但引用对象的相关对象需要关系名称 (campaign__cr.)
- 字段名称区分大小写。
- 从字段面板添加时,Vault 会自动插入正确的语法。
- 无法在另一个公式表达式中引用公式类型字段。
函数
使用以下指南将函数添加到公式表达式:
- 函数名称区分大小写。
- 函数可能拥有一个或多个参数。
- 您可以在另一个函数内使用函数。
- 某些函数具有字段参数和值参数,其中值取决于字段。要输入值,请使用值标签并将其置于双引号内,例如,“Draft”。
算术运算符
使用以下指南将算术运算符添加到公式表达式:
- 标准运算顺序适用:除非使用括号分组进行覆盖,否则先乘除后加减。
- 您可以直接输入运算符或使用公式字段下方的按钮。
- 您可以使用数学运算添加数字和数字类型字段,例如 durationInValue(Document.status__v, “Draft”) + 5。
日期字段的时区处理
Vault 以 UTC 时间在数据库中存储日期和日期时间类型字段的所有值。使用减法计算日期差异时,我们使用以下规则进行时区转换:
- 对于涉及两个日期字段的计算,我们不执行时区转换。考虑日期字段,而不包括时间。
- 对于涉及两个日期时间字段的计算,我们不执行时区转换。两个字段值都以 UTC 时间存储,因此函数不受时区影响。我们执行日期对日期计算,并将值四舍五入到最近的整数。定义时,文档公式字段值可以包括小数位,以准确反映日期差异。
- 对于涉及日期字段和日期时间字段的计算,我们将日期时间值从 UTC 时间转换为 Vault 的默认时区设置时间,并截断值的时间部分。然后,我们执行日期到日期计算。请注意,Vault 并不考虑夏令时。