在ABBYY Flexicapture中的脚本中计算总和

时间:2014-06-13 18:51:22

标签: abbyy

我想在ABBYY Flexicapture中使用脚本规则执行Calculate Sum规则的功能,因为我只想基于if语句的求值来执行计算。

我在C#脚本规则中尝试了以下内容:

IFields AllTaxes = Context.Field("cu_location_taxes").Rows;

这给了我错误“字段不是表格。”

我也试过

IFields AllTaxes = Context.Field("cu_location_taxes").Children;

它给出了错误“无法访问未在规则设置中指定的字段”。即使我已将重复组cu_location_taxes添加到c#脚本规则。

一旦我能够在某种数组或列表或IFields变量中获取它们,我想以某种方式对子值求和。我愿意使用JScript或C#。

1 个答案:

答案 0 :(得分:4)

您遇到错误的原因可以在ABBYY FlexiCapture帮助中找到。 在IField类的描述中,您可以找到以下属性描述:

- 一组表行。 对于非表格字段不可用。
好吧,似乎是" cu_location_taxes"不是一张桌子。你说,这是一个重复的小组。

儿童 - 字段的子项(表格的单元格)。 在脚本规则中不可用 。 但据我了解,您正在使用脚本规则。

要获得正确的结果,请尝试使用与您汇总的字段完全相同的属性。

例如,您有一个重复组,其中包含数字字段 field_1 field_2 。并且您想要计算所有 field_1 实例的总和。 然后,您可以使用以下代码(JScript):

sum = 0
for (i = 0; i < this.Field("field_1").Items.Count; ++i)
{
    sum += this.Field("field_1").Items.Item(i).Value
}

另外,请不要忘记在规则设置的可用字段中添加 field_1 。 希望这会有所帮助。