组织可以自动设置文档或对象记录上的字段值,以确保数据完整性并简化用户互动。

使用的一些示例:

  • 生成“智能作业编号”,其中合并了其他的文档字段,例如产品名称批准日期
  • 添加与另一个日期之间的日、月、年偏移量,以计算定期审查日期
  • 在对象记录每次进入审查中状态时加一 (1),以使处于“审查中”状态的次数等字段递增
  • 根据用户所处的时区,设置用户使文档进入其已批准状态的日期和时间

此功能将 Vault 的公式语言与生命周期状态入口操作、事件操作和工作流步骤结合使用。

如何配置入口操作

使用公式设置字段更新记录字段入口操作,您可以在更改状态期间设置文档或对象字段的值。

用于文档的“使用公式设置字段”入口操作

要配置一个使用使用公式设置字段入口操作的入口操作:

  1. 入口操作页面中,选择使用公式设置字段操作和一个要更新的文档字段。
  2. 单击计算器图标,以打开公式生成器。
  3. 使用来自字段函数运算符列表的项,在公式字段中创建一个表达式。要将一个项从这些列表中移到公式字段,请双击它。公式字段的操作就像一个基本的文件编辑器。请在《Vault 公式引用指南》中了解函数和有效的运算符。
  4. 单击检查语法。Vault 将告知您的表达式是否有效。
  5. 单击标题,以查看高级设置
  6. 可选:选择一种运行时错误处理。这将决定当发生错误并导致 Vault 无法执行公式时会发生什么情况。
  7. 可选:为空白值处理选择一个选项。这将决定 Vault 如何处理公式内的空白字段值。
  8. 单击保存,以关闭公式生成器。

用于对象记录的“更新记录字段”入口操作

要配置一个使用更新记录字段入口操作的入口操作:

  1. 入口操作页面中,选择更新记录字段操作和一个要更新的对象记录字段。
  2. 单击计算器图标,以打开公式生成器。
  3. 使用来自字段函数运算符标签页的项,在公式字段中创建一个表达式。单击一个项,以将其移到公式字段中。公式字段的操作就像一个基本的文件编辑器。请在《Vault 公式引用指南》中了解函数和有效的运算符。
  4. 单击检查语法。Vault 将告知您的表达式是否有效。
  5. 单击保存,以关闭公式生成器。

如何配置更新字段步骤

要使用公式生成器配置更新记录字段工作流步骤:

  1. 单击操作工作流步骤。
  2. 从步骤的操作菜单中,单击编辑
  3. 选择一个要在工作流步骤中更新的字段
  4. 单击计算器图标,以打开公式生成器。
  5. 使用来自字段函数运算符标签页的项,在公式字段中创建一个表达式。单击一个项,以将其移到公式字段中。公式字段的操作就像一个基本的文件编辑器。请在《Vault 公式引用指南》中了解函数和有效的运算符。
  6. 单击检查语法。Vault 将告知您的表达式是否有效。
  7. 单击保存,以关闭公式生成器。

支持的字段类型

此功能支持下列字段类型:

  • 日期
  • 数字
  • 文本
  • 是/否
  • 选项列表
  • 日期时间(只能通过文档生命周期入口操作使用)

不支持某些标准字段。不支持的字段包括:合并字段 (merge_fields__v)

定义公式时,请确保公式中的运算符、函数、字段和值与字段的数据类型匹配。对于“日期”和“日期时间”字段类型,请参阅有关时区处理的信息。

运行时错误处理

这些选项控制着当 Vault 无法解析公式表达式时会发生什么情况。对于每个入口操作,您可以选择要应用的错误处理类型:

  • 严格处理:如果在计算值时发生任何错误,Vault 将不允许文档更改状态。相反,文档会保持它的原始状态。如果状态更改是工作流的一部分,工作流将无法继续进行。
  • 灵活处理:如果在计算值时发生错误,Vault 将修改结果,以允许完成公式计算。这意味着 Vault 可以将字段值设置为“0”或空白。
错误灵活处理的结果
计算出的值大于字段的最大值将字段设置为最大值
计算出的值小于字段的最小值将字段设置为最小值
计算出的文本值大于字段的最大长度在最大长度处将值截断
计算结果除以零除法得到零
计算导致必填字段为空值忽略“必填”设置

空白值处理

这将决定 Vault 如何处理公式内的空白字段值:

  • 使用将空白值视为零时,Vault 将使用零来替代空白值,以使您能够完成公式计算。
  • 使用将空白值视为空白时,一个空白字段值会导致整个表达式返回一个 null/空白值。

示例

公式:Document.days_in_draft__c + Document.days_pending_qc__c

处于“草稿”状态的天数等待质检的天数“将空白值视为零”结果“将空白值视为空白”结果
555
9空白9空白

多函数公式中的空白

如果一个公式中包含多个函数,例如 numTimesInValue(Document.status__v, "Draft") + numTimesInValue(Document.status__v, "Pending QC"),则 Vault 始终将此公式字段的空白值视为空白(并非零)。