当使用合并字段时,您可以在多选对象引用字段的令牌中包含一个 WHERE 子句或一个 ORDER BY 子句,以允许 Vault 对多个数据值进行筛选。WHEREORDER BY 子句支持 VQL 类表达式。请在开发人员门户中了解有关如何创建 VQL 表达式的更多信息。

令牌语法

要使用记录筛选或排序功能,请使用多选对象引用字段令牌,并在末尾附加 WHERE 和/或 ORDER BY 这两种 VQL 类表达式,表达式之间使用分号分隔。令牌遵循如下模式:

WHERE 令牌

${vault:relationshipname__vr.relationshipname__vr.fieldname__v;WHERE VQL_Expression}

例如,

${vault:document_quality_event__cr.findings__cr.name__v;WHERE findings__cr.criticality__c = ‘Major’}

将在严重性值为重大时,返回与质量事件相关并经过筛选的结果的列表。

使用 WHERE 子句,Vault 可以筛选来自文档字段中指定的根对象(即您的令牌中列出的第一个对象)的一个或多个相关对象。您可以创建具有最多五 (5) 个关系的令牌。WHERE 子句的所有部分都应引用一个对象。在上述示例中,质量事件是根对象,结果是相关对象。

ORDER BY 令牌

(可选)您可以使用 ORDER BY 子句,通过 VQL 运算符 ASCDESC 对令牌返回的值进行排序。在此子句之后,使用 ASC 按升序顺序排序,使用 DESC 按降序顺序排序。如果不在子句之后使用 ASCDESC 运算符,默认将按升序排序。请注意,您只能按令牌中返回的数据排序,或者按表格内返回的数据字段排序。

您也可以在多选对象引用字段的令牌中包含一个 ORDER BY 子句,以允许 Vault 对所显示的字段进行排序。

例如,

${vault:document_quality_event__cr.lead_auditors__cr.name__v;ORDER BY lead_auditors.name__v ASC}

将返回与质量事件相关并按名称的升序字母顺序排序的主要审计员的列表。

限制

以下限制会影响合并字段的 WHERE 子句:

  • 您无法对根对象进行筛选。
  • 您只能对具有出站关系的对象进行筛选。

请注意,当与 WHERE 子句结合使用时,ORDER BY 子句会受到同样的限制。

记录筛选

使用 WHERE 子句,Vault 可以对多个数据值进行筛选。WHERE 子句可以支持多个条件,例如对状态当前签名类型最终批准签名进行筛选。

您可以在 WHERE 子句中使用以下标准 VQL 运算符:

  • =
  • !=
  • <
  • >
  • <=
  • >=
  • AND
  • OR
  • CONTAINS
  • BETWEEN {} AND {}
  • LIKE {}

请注意,对于合并字段子句,Vault 不支持 IN 运算符。

对富文本进行筛选和排序

当在 Microsoft Word™ 文件中合并富文本字段时,您需要正确使用富文本令牌语法,以确保使用富文本格式设置解析和显示令牌。

要使用记录筛选功能,令牌应遵循如下模式:

${vault:relationshipname__vr.relatedobject__vr.rich_text_fieldname__v;WHERE relatedobject__vr.fieldname__v = ‘Value’;richtext}

要使用记录排序功能,令牌应遵循如下模式:

${vault:relationshipname__vr.relatedobject__vr.rich_text_fieldname__v;ORDER BY relatedobject__vr.fieldname__v;richtext}

Vault 会将非富文本字段中的任何富文本令牌语法解析为纯文本。

对表格进行筛选和排序

Vault 支持在表格内使用具有 WHEREORDER BY 子句的令牌:

结果严重性类别子类别
${vault:document_quality_event__cr.findings__crname__v;WHERE findings__cr.criticality__c = ‘Major’ ORDER BY findings__cr.criticality__c DESC}${vault:document_quality_event__cr.findings__cr.criticality__c}${vault:document_quality_event__cr.findings__cr.finding_category__c}${vault:document_quality_event__cr.findings__cr.finding_subcategory__c}

如果表格具有一行令牌,这些令牌包含两个不相关的多值对象引用字段或不同的 WHERE 子句,Vault 会将第一个字段作为行来填充,但将后续字段作为列表来填充。

合并字段还支持在最多三级的嵌套表格内使用 WHEREORDER BY 令牌:

名称状态国家/地区
${vault:document_product__vr.name__v; ORDER BY product_vr.status__v DESC}${vault:document_product__vr.status__v}${vault:document_country__vr.abbreviation__vs; ORDER BY country__vr.abbreviation__vs}${vault:document_country__vr.name__v}
名称状态国家/地区
WonderDrug活动US美国
Nyaxa活动CA加拿大
US美国
Cholecap活动AU澳大利亚
CA加拿大
US美国

多列表格排序

Vault 还支持在最多具有三 (3) 列的表格中对多列进行排序。要使用多列进行排序,请使用 ORDER BY 和/或 WHERE 子句,为表格的第一列添加一个令牌。此子句支持按最多三 (3) 个字段对 VQL 声明进行排序。Vault 根据令牌中为字段指定的顺序对字段进行排序。

要对一个表格中的多列进行排序,令牌应当类似以下格式:

${vault:document_relationshipname__vr.objectname__vr.fieldname__v;ORDER BY objectname__vr.fieldname__v ASC|DESC, objectname__vr.fieldname2__v ASC|DESC, objectname__vr.fieldname3__v ASC|DESC}

例如,

国家/地区州/省城市
${vault:document_city__cr.province__cr.country__cr.name__v;WHERE country__cr.name__v=‘Canada’ OR country__cr.name__v=’United States’ ORDER BY country__cr.name__v ASC, province__cr.name__v DESC, city__cr.name__v}${vault:document_city__cr.province__cr.name__v}${vault:document_city__cr.name__v}
国家/地区州/省城市
加拿大魁北克省蒙特利尔
加拿大安大略省多伦多
加拿大新斯科舍省哈利法克斯
美国纽约布法罗
美国纽约纽约
美国加利福尼亚州洛杉矶
美国加利福尼亚州普莱森顿
美国加利福尼亚州圣地亚哥

使用条形码进行筛选

对一个具有 WHERE 子句的令牌应用条形码时,Vault 将使用筛选出的结果创建此条形码。要为您的令牌添加一个条形码,请将条形码部分附加到 WHERE 子句之后,并使用分号分隔。

例如,

${vault:document_quality_event__cr.findings__cr.name__v;WHERE findings__cr.criticality__c = ‘Major’;barcode}

示例配置

共同审计员

当创建一个报告时,您的源文档包含用于识别主要审计员和共同审计员的令牌:

主要审计员:${vault:document_quality_event__cr.lead_auditor__c}

共同审计员:${vault:document_quality_event__cr.audit_team__cr.team_member__c}

团队成员对象包含所有类型的用户,所生成的格式副本会同时列出共同审计员和观察员,而不按任何逻辑顺序列出共同审计员:

主要审计员:Teresa Ibanez

共同审计员

  • 观察员:Gladys Dunford
  • 共同审计员:Thomas Chung
  • 共同审计员:Cody Brandon

您可以在令牌中使用一个 WHERE 子句,以便按团队成员类型进行筛选,以使格式副本在共同审计员列表中不包含观察员,并使用一个 ORDER BY 子句,以便按字母顺序列出这些审计员:

共同审计员:${vault:document_quality_event__cr.audit_team__cr.team_member__c;WHERE audit_team__cr.team_member_type__c = ‘Co-Auditor’ ORDER BY audit_team__cr.team_member__c ASC}

更新之后,所生成的格式副本将会列出:

主要审计员:Teresa Ibanez

共同审计员

  • 共同审计员:Cody Brandon
  • 共同审计员:Thomas Chung