4

我想在 ABBYY Flexicapture 中使用脚本规则执行计算总和规则的功能,因为我只想根据 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# 来做这件事。

4

1 回答 1

4

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

- 一组表格行。不适用于非表字段。
好吧,似乎“cu_location_taxes”不是表格。你说,它是一个重复组。

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

要获得正确的结果,请尝试使用您正在求和的字段的Items属性。

例如,您有一个包含数字字段field_1field_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。希望这会有所帮助。

于 2014-06-30T16:24:18.187 回答