跳转到主要内容规则是 ABBYY Vantage 提供的用于对提取数据进行自动校验的工具之一。规则允许你为特定的 field 设定必须满足的条件。仅涉及同一组(表)中重复 field 的规则本身也将是重复的。也就是说,它会按顺序应用于这些重复 field 的所有实例(先处理第一个实例,再处理第二个,依此类推)。此类规则可用于处理表格中每一行的值。如果文档中存在不满足一条或多条规则的 field,该文档将被发送到人工校验。规则也可用于修改提取的数据(例如对多个 field 求和)。
规则按预定义的顺序执行,以满足以下条件:
- 所有尝试从某个 field 读取数据的规则,都会在向该 field 写入值的规则之后执行。
- 当一个规则检查一个 field 并向第二个 field 写入数据,而另一个规则检查第二个 field 并向第三个 field 写入数据时,这些规则将依次执行。
- 当多个规则同时尝试向同一个 field 写入数据时,这些规则将按其创建顺序执行。
- 当一个规则读取第一个 field 并向第二个 field 写入数据,而另一个规则读取第二个 field 并向第一个 field 写入数据时,将返回错误。
如果操作员在人工校验期间修改了某个 field 的值,将会使用所有适用的规则重新进行检查。如果操作员只在重复规则中更改了某个重复 field 的单个实例(例如表格单元格)的值,则该规则将仅对被修改的该实例再次应用。
要创建字段验证规则,请在字段属性中单击 New rule 按钮。在随即打开的对话框中将显示所有现有的 Vantage 规则列表。要添加新规则,请为其指定名称并选择需要检查的字段。可通过在下拉列表中选择相应字段名称来完成。
您也可以通过脚本创建自定义规则。有关更多信息,请参见 Business Rules Automation 章节。
- Check Sum。将多个字段的值相加,并将结果与另一个字段的值进行比较。此规则仅支持处理 Number 和 Money 字段。
- Check Product。将多个字段的值相乘,并将结果与另一个字段的值进行比较。此规则仅支持处理 Number 和 Money 字段。
- Compare。比较多个字段的值。
- Merge。合并多个字段的值。合并后的值将写入指定字段(需预先创建)。在合并字段时,您可以从提供的列表中添加分隔符。
- Data Catalog Lookup。将文档字段的值与数据目录(data catalog)中的对应记录进行校验。更多信息,请参见设置数据目录查找规则。
通过将某一列指定为字段,可以将所有内置和自定义规则应用于表格单元格。随后,该规则会应用于该列中的所有单元格。单个规则可以同时引用表格中的列以及该表格之外的字段。
可以使用 Check Sum 和 Check Product 规则对表格执行以下操作:
将一个或多个列中所有单元格的和/乘积与该表之外某个字段的值进行比较
在 Add Up Fields 或 Fields to Multiply 字段中,指定要用于执行该操作的列。这些列可以来自不同的表。即使只指定一个参数,规则也能正常运行。在 Compare Sum with 或 Compare Product with 字段中,指定位于表外的字段。列中的所有单元格将被转换为输入参数,用于执行一次指定的操作。
如果将同一张表中的列分别填写到 Add Up Fields(Fields to Multiply)和 Compare Sum with(Compare Product with)字段中,将会设置一个重复规则,对表格每一行的指定单元格执行。比如,这可用于检查订单中每个行项目的总计是否填写正确。其方法是将行项目的单价与订购数量相乘。
按行将不同列的值与表格外的一个 field 逐一比较
如果在 Add Up Fields(Fields to Multiply)fields 中分别传入一个表格列和一个表格外的 field,并且在 Compare Sum with(Compare Product with)field 中传入同一张表中的另一列,则会设置一个带有常量参数(表格外 field 的值)的重复规则。该规则将对表格的每一行执行。