我想在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#。
答案 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 。 希望这会有所帮助。