【问题标题】:Summing repeated section calculated value求和重复部分计算值
【发布时间】: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


【解决方案1】:

尝试将您的 section-a-summary-total 字段计算为:

sum($section-value-total[string() castable as xs:decimal])

当您在重复网格之外(在“迭代”之外)并引用字段的值时,表达式(在本例中为 $section-value-total)返回该字段的所有值的序列,您可以直接将其传递给sum()。

【讨论】:

  • 我已经尝试过您的解决方案,但仍然无法正常工作。我想知道问题出在四舍五入的某个地方。我试图仅对部分值或部分百分比求和并且有效,但是当我尝试对部分值总计求和时不起作用。我也尝试将相同的公式放在 Sum 参数中,有时第一次迭代有效,但是当我添加第二个时,总和值消失。
  • 在做了一些计算更改后,我附上了带有功能版本的新代码pastebin.com/6MSFq1WL我很确定它可以改进。终于你的解决方案奏效了!一如既往地感谢大家
  • 优秀的@HCP,我很高兴你设法使这些计算工作,并感谢你的更新。 ——亚历克斯
猜你喜欢
  • 1970-01-01
  • 2021-03-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-06-14
  • 1970-01-01
相关资源
最近更新 更多