跳转到主要内容
Script 活动用于在技能中实现脚本规则,以补充各种提取活动中可用的规则。脚本可以包含用于处理或更正由其他活动提取数据的规则。在以下情况下,您可能需要使用脚本规则:
  • 规范化字段值,例如,将文档中指定的字母代码(三字母货币代码)与金额字段中的货币金额分离。
  • 从多个字段值中选择其中一个,例如,当同一个字段的值由多个活动提取时,指定应将多个值中的哪一个选中并记录到结果字段中。
  • 计算在文档中未找到的字段值,例如,在所有含应税金额的字段都已被提取的前提下,使用已知的税率计算应付税额。
与业务规则不同,脚本规则不会在人工审核期间突出显示包含错误的值。这是因为脚本规则旨在补充和更正处理文档时获得的各种数据,并且是文档技能不可或缺的一部分。 要设置 Script 活动,请执行以下步骤:
  1. Activities 选项卡中,将 Script 活动添加到文档处理流程中。请注意,应在您的规则可能使用到的所有其他字段提取活动之后添加该活动。
  2. Activity Properties 面板中,单击 Script Editor
  3. 在随即打开的对话框中,以脚本形式设置您的规则,使用 JavaScript 创建一个执行所有所需操作的脚本。您可以使用屏幕上方的快速编辑按钮,将预设代码片段添加到脚本中。以下是一些可供使用的脚本规则示例。

示例脚本规则

  • 此脚本规则用于在 Total 字段的数值后追加一个三字母货币代码。该规则首先检查 Country 字段的值。如果该字段的值是 “USA” 或 “United States”,则在 Total 字段的数值后追加 “USD” 代码。如果 Country 字段的值是 “United Kingdom” 或 “Great Britain”,则在 Total 字段的数值后追加 “GBP” 代码。
if ( Context.GetField("Country").Value == "USA"|"United States" ) {
               Context.GetField("Total").Value = Context.GetField("Total").Value + " USD";
} else 
if( Context.GetField("Country").Value == "United Kingdom"|"Great Britain" ) {
               Context.GetField("Total").Value = Context.GetField("Total").Value + " GBP";
}
  • 此脚本规则用于将选定组织的名称添加到指定字段中。Preamble Org 重复字段包含文档序言中列出的所有组织名称,这些名称由 Named Entities (NER) 活动提取。脚本规则设置为:如果 Preamble Org 字段包含多于两个组织的名称,则第一个提取到的值将写入 Party 1 字段,而最后一个提取到的值将写入 Party 2 字段。
var preambleOrgsFields = Context.GetFields("Preamble Org");
 
if (preambleOrgsFields.length > 2)
{
   Context.GetField("Party 1").Value = preambleOrgsFields[1].Value;
   Context.GetField("Party 2").Value = preambleOrgsFields[preambleOrgsFields.length - 1].Value;
}
  1. 脚本准备就绪后,单击 Save。此操作会在 Activity Properties 窗格中显示一个列表,其中包含脚本中使用的所有字段。请确认列表中包含所有必需的字段。
  2. 单击 Test Activity 测试技能并分析提取结果。如果规则未按预期运行,请检查脚本是否编写正确。此外,请检查脚本规则中使用的所有字段的提取质量。