【发布时间】:2019-11-22 00:17:09
【问题描述】:
我正在尝试对重复部分 (section-a-it) 内的计算值求和,并将结果放在重复部分之外的计算值上,但它不起作用。
我试图像我的 sum 字段 (section-a-summary-total) 一样声明公式
sum($section-a-it/section-a-it-iteration/section-a-repetition/section-data/section-value-total[string() castable as xs:decimal])
所有组合每次删除一个节节点。
我的表单如下所示:
<form>
<section-a>
<section-a-summary>
<section-a-summary-total/>
</section-a-summary>
<section-a-it>
<section-a-it-iteration>
<section-a-repetition>
<section-data>
<section-percent/>
<section-value/>
<section-value-total/>
</section-data>
</section-a-repetition>
</section-a-it-iteration>
</section-a-it>
</section-a>
</form>
在每次迭代中 section-value-total 声明为 round-half-to-even($section-data-value* ($section-percent div 100))
当我在 section-percent 和 section-value 上引入值时,section-value-total 工作正常,但 section-a-summary-total 始终是 0.00
我试过这个https://doc.orbeon.com/form-builder/formulas/formulas-examples#sum-of-values-in-a-repeat
我在https://pastebin.com/eTHqY0ia附上了初始源代码
如果我尝试将其放入 sum() round-half-to-even($section-value[string() castable as xs:decimal] * ($section-percent[string() castable as xs:decimal] div xs:decimal(100)),2) 有时会在第一次迭代中起作用
在尝试了一些想法并在计算上进行了一些更改之后,在这一点上,您的解决方案可以使用此版本https://pastebin.com/6MSFq1WL我能够更新值。我不得不输入xxf:analysis.calculate="true",因为只有在添加新行后才计算值。
【问题讨论】:
-
HCP,我没有尝试过下面我的回答中提到的代码,因为我没有你的表单的来源,所以如果这对你有用,你会告诉我。跨度>
标签: orbeon