Одной лишь сортировкой можно обойтись только для очень небольших отчетов. В общем случае требуется введение в отчет некоторой обобщающей и промежуточной информации. Для этого служат группы Crystal Reports.
После создания группы в отчете, кроме сортировки, добавляются две дополнительные секции отчета:
Добавляются и удаляются эти секции только вместе (но любую из них можно скрыть). Можно поместить в эти секции значения промежуточных итогов и любую обобщающую информацию. Кроме того, группировка создает в отчете дерево групп, что приводит к появлению окна проводника в левой части окна предварительного просмотра (и во вьюверах). Дерево групп поддерживает быстрый просмотр структуры отчета и позволяет перемещаться сразу к определенной группе.
Создать группу можно двумя способами:
Первый способ:
Идем в меню Insert->lGroup. Открывается окно создания группы:
В верхнем комбобоксе выбирается поле, по которому будет создана группа, в нижнем комбобоксе – порядок сортировки. Здесь кроме сортировки в восходящем и нисходящем порядке доступно еще два значения: in specific order (в порядке определенном пользователем) и in original order (фактически – без сортировки).
Если отметить чекбокс Keep group together, Crystal Reports будет стремиться не разрывать группу при переходе на новую страницу.
Чекбокс Repeat group on each new page – при разрыве группы повторяет ее название в начале новой страницы.
После нажатия кнопки OK, можно сразу же увидеть новые группы:
Также автоматически создается текстовое поле для вывода имени группы.
Второй способ:
Применяется если в отчете есть поле, по которому необходимо произвести подсчет промежуточных итогов.
Для этого необходимо выделить поле, для которого будут вычисляться промежуточные итоги, и щелкнуть правой кнопкой мыши и выбрать в контекстном меню команду Insert Subtotal пойти в меню: Insert->Subtotal.
Появится окно создания группы (см. выше), только в нем вы сможете прочитать предупреждение о том, что вместе с группой будет создано поле промежуточных итогов. Это поле помещается в колонтитул группы, но оттуда его можно переместить в другое место.
Внимание! Созданное поле с промежуточным результатом вы не увидите в окне Insert Fields.