跳转到主要内容
规则是 ABBYY Vantage 提供的用于自动验证提取数据的多种工具之一。通过规则,您可以设置特定字段必须满足的条件。只涉及同一组 (表) 中重复字段的规则本身也将是重复规则。这意味着,它会按顺序应用于该组中所有重复字段的各个实例 (从第一个实例开始,然后是第二个实例,依此类推) 。此类规则可用于处理表格中每一行的值。包含有一个或多个字段不满足规则的文档将被发送到人工审核。规则也可用于修改提取的数据 (例如对多个字段求和) 。 规则按预定义的顺序执行,以满足以下条件:
  • 所有尝试从某个字段读取数据的规则,都在向该字段写入值的规则之后执行。
  • 当某条规则检查一个字段并向第二个字段写入数据,而另一条规则检查第二个字段并向第三个字段写入数据时,这些规则将依次执行。
  • 当多个规则尝试同时向同一字段写入数据时,这些规则将按照其创建顺序执行。
  • 当某条规则读取一个字段并向第二个字段写入数据,而另一条规则读取第二个字段并向第一个字段写入数据时,将返回错误。
如果操作员在人工审核期间修改了某个字段的值,则将使用所有适用的规则再次对其进行检查。如果操作员在一个重复规则中只更改了重复字段的某个单独实例的值 (例如表格单元格) ,则该规则将第二次仅应用于被修改的那个实例。

创建规则

要创建字段验证规则,请在字段属性中单击 New rule 按钮。在随即打开的对话框中,将显示所有现有的 Vantage 规则列表。要添加新规则,请为其指定名称,并选择需要检查的字段。可通过在下拉列表中选择相应字段的名称来完成此操作。 您也可以使用脚本创建自定义规则。有关更多信息,请参阅 Business Rules Automation 部分。

内置规则

  • 校验和。将多个字段的值相加,并将结果与另一个字段的值进行比较。此规则仅支持处理 Number 和 Money 字段。
  • 校验乘积。将多个字段的值相乘,并将结果与另一个字段的值进行比较。此规则仅支持处理 Number 和 Money 字段。
  • 比较。比较多个字段的值。
  • 合并。合并多个字段的值。合并后的值将写入指定字段 (需预先创建) 。在合并字段时,可以从提供的列表中添加分隔符。
  • 数据目录查找。根据数据目录中的相应记录检查文档字段的值。有关更多信息,请参阅设置数据目录查找规则

在规则中使用表格

通过将某一列指定为字段,可以将所有内置和自定义规则应用于表格单元格。随后,该规则会应用于该列中的所有单元格。同一条规则可以同时引用表格列以及该表格之外的字段。 Check SumCheck Product 规则可用于对表格执行以下操作:

将一个或多个列中所有单元格的和/积与表格外某个字段的值进行比较

Add Up FieldsFields to Multiply 字段中,指定用于执行该操作的列。这些列可以属于不同的表格。即使只指定一个参数,规则仍会正常运行。在 Compare Sum withCompare Product with 字段中,指定位于该表之外的字段。这些列中的所有单元格都会被转换为输入参数,用于执行所指定的操作一次。

按行比较不同列中的值

如果在 Add Up Fields (Fields to Multiply) 和 Compare Sum with (Compare Product with) 字段中指定了同一张表中的列,则会为表中每一行的指定单元格设置一个循环执行的规则。比如,可以用它来检查订单中每个行项目的合计金额是否填写正确。具体做法是将单个行项目的单价乘以订购的数量。

按行将不同列的值与表格外的字段进行比较

如果在 Add Up Fields (Fields to Multiply) 字段中,将某个表格列和表格外的一个字段作为参数传入,并且在 Compare Sum with (Compare Product with) 字段中传入同一张表中的某一列,那么就会创建一个带有常量参数 (表格外字段的值) 的重复规则。该规则将针对表格中的每一行执行。