Страница 1 из 1

Суммирование промежуточных итогов

Добавлено: 26 янв 2016, 13:43
Леонид
Добрый день!

Подскажите, как суммировать промежуточные итоги по DataBand'у. Отчёт переделал, сделав два FooterBand'а, на одном отображаются промежуточные итоги, на втором конечные (только для последней страницы - они считаются правильно, т.к. суммирование идёт по всему DataTable). Промежуточные же итоги считаются так же по всему DataBand'у, а нам надо только для каждой страницы, как это сделать?

Пробовал добавить переменные и суммировать необхимые значения для каждой страницы, а для новой страницы сбрасывать их значения в ноль. В этом случае всё работает, но есть только один нюанс, - событие BeforePrint у FooterBand'а происходит раньше, чем BeforePrint у DataBand'а, поэтому суммирование, разумеется ещё не успевает выполнится.

Уже добавил группировку, но не придумал, по какому условию разбивать.
Подскажите, пожалуйста, как это сделать.

Описать на псевдоязыке можно было так: нужна фукция {Sum(PageNumber, Field)}, т.е. чтобы суммировала только то, что на текущей странице по указанной колонке.

P.S. Сам отчёт (без данных, просто чтобы посмотреть на сам .mrt-файл) и скриншоты с коротким описанием в приложении.

Re: Суммирование промежуточных итогов

Добавлено: 26 янв 2016, 15:21
HighAley
Здравствуйте.

Для расчёта суммы по странице вы можете использовать функцию Totals.cSum(DataBand1, DataSource1.Column1)
Также для расчётов на компоненте, который отрисовывается ранее вы можете установить у этого компонента Process At в значение End Of Page.

Спасибо.

Re: Суммирование промежуточных итогов

Добавлено: 26 янв 2016, 15:56
Леонид
Это то, что нужно! А я делал переменными через события с использованием EndOfPage, и в принципе всё работало, за исключением последней страницы.

Огромное спасибо! :)

Re: Суммирование промежуточных итогов

Добавлено: 26 янв 2016, 16:37
Andrew
Леонид.

Рады помочь Вам.

Хорошего дня!