Есть отчет с гуппами. Каждая группа печатается с нового листа. Нужно добавить еще один лист который содержал бы все строки отчета просуммированные по группам и суммы по этому листу.
Вопрос возможно детский, тогда ткните носом где читать. Я пока вышел из положения добавив еще один набор данных, где уже все сгруппировано, и лист отчета на этом наборе. Но мне кажется это не правильно, да и отчет притормозился.
Добавлять новый набор данных необязательно. Достаточно добавить ещё одну страницу, на которую поместить GroupHeader, MasterData, GroupFooter, ReportSummary.
Группировку повторить из предыдущей страницы, высоту MasterData установить в 0, суммы выводить на GroupFooter, а итоги - на ReportSummary
Посмотрите в демо отчёт Group totals in header. В этом отчёте итоги запоминаются в массиве, а на втором проходе выводятся в заголовке группы.
При формировании основной части отчёта можно накапливать суммы в соответствующих элементах массива, а затем, например в ReportSummary заполнить Memo элементами массива
Memo1.Memo.Add('...');
Т.к. массив может быть только одномерным, то придётся использовать два массива: в одном хранить названия критериев группировки, а во втором - накапливать суммы
Придётся повозиться со скриптом, но, думаю, скорость построения должна увеличится
Комментарии
Группировку повторить из предыдущей страницы, высоту MasterData установить в 0, суммы выводить на GroupFooter, а итоги - на ReportSummary
Есть
Группа 1
Строка 1 1
Строка 2 2
Строка 4 4
Группа 2
Строка 3 3
Строка 4 4
Группа 3
Строка 1 1
Строка 3 3
Строка 4 4
Нужен такой лист
Итого
Строка 1 1+1
Строка 2 2
Строка 3 3+3
Строка 4 4+4+4
Сейчас я этого достиг дополнительным набором данных. Можно ли это сделать по другому?
При формировании основной части отчёта можно накапливать суммы в соответствующих элементах массива, а затем, например в ReportSummary заполнить Memo элементами массива
Memo1.Memo.Add('...');
Т.к. массив может быть только одномерным, то придётся использовать два массива: в одном хранить названия критериев группировки, а во втором - накапливать суммы
Придётся повозиться со скриптом, но, думаю, скорость построения должна увеличится