您可以创建公式以在 Vault 中完成各种任务。Vault 使用类似 Excel™ 的公式语言,其中包括允许计算日期和文本字符串以及数值的函数和运算符。

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 提供您可用于转换数据类型的函数:

  • 日期 → 文本:文本(日期、格式)
  • 日期时间 → 文本:文本(时间、格式)
  • 数字 → 间隔:日(数字)月(数字))年(数字)
  • 文本 → 数字:值(文本)
  • 对象引用 → 文本: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 并不考虑夏令时。