如何使用SumAll属性?

时间:2012-02-07 11:18:40

标签: axapta dynamics-ax-2009 x++

我的报告中包含由TaxBase方法打印的列TaxBase()

在我的报告部分结束时,我需要显示TaxBase的总和列。 我不知道怎么做!

也许财产 SumAll 可以提供帮助?但是,它是如何使用的?

1 个答案:

答案 0 :(得分:4)

如果您使用页脚部分,设置SumAll属性将有助于计算报告总数。

您的页脚部分必须有一个总和控件(类ReportSumControl)并引用DataFieldName属性中的求和字段。

这可以使用自动设计隐式完成。以报告TaxDeviation为例。它包含TaxAmountTaxBaseAmount字段,并设置了SumAll属性。页脚部分在运行时为总页脚部分和每个排序字段生成,AutoSum属性设置为Yes

如果通过在ReportDesign1节点上选择“生成设计”来生成设计,则可以清楚地看到这一点。

您可以使用element.sumControlelement.sum通过代码引用生成的总和。例如,这可用于计算贡献率(使用两种方法):

display ContributionRatio contributionRatioSum()
{
    SalesLine locSalesLine = this.last(tableNum(SalesLine));
    SalesAmount salesAmount = Currency::MSTAmount(element.sum(tableNum(SalesLine), fieldNum(SalesLine,LineAmount)), locSalesLine.CurrencyCode);
    return salesAmount ? 100.0 * dg(salesAmount, element.sumControl(identifierStr(costAmount))) : 0;
}

此方法计算销售额总和LineAmountCostAmount的贡献率。