Установка свойства SumAll
поможет вычислить итоги отчета при условии, что вы используете разделы нижнего колонтитула.
В разделе нижнего колонтитула должен быть элемент управления суммой (класса ReportSumControl ) и ссылка на суммуполе в свойстве DataFieldName
.
Это можно сделать неявным образом с помощью автоматического проектирования.Возьмите отчет TaxDeviation
в качестве примера.Он имеет поля TaxAmount
и TaxBaseAmount
с установленным свойством SumAll
.Разделы нижнего колонтитула создаются во время выполнения для общего итогового раздела нижнего колонтитула и для каждого поля сортировки со свойством AutoSum
, установленным на Yes
.
Это можно четко увидеть, если вы сгенерируете дизайн, выбрав «Создать»design "на узле ReportDesign1
.
Вы можете с помощью кода ссылаться на сгенерированные суммы, используя element.sumControl
или element.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;
}
Этот метод рассчитывает коэффициент взносов для суммы строки продаж, равной LineAmount
и CostAmount
.