Авторизация



Определенные виды отчетов

Оценить
(0 голоса)

По мере накопления опыта в создании отчетов, разработчик может заметить, что существуют определенные виды отчетов, которые создавать очень трудно, а то и вовсе невозможно. Например, он может столкнуться с необходимостью создать один из таких отчетов:

•    Одностраничный отчет о состоянии организации (Company Condition report), в котором справа вверху страницы расположена суммарная информация о поступлениях, слева вверху — суммарная информация о счетах, подлежащих оплате, слева внизу — расходы на заработную плату, а справа внизу — итоговые объемы продаж. В самом низу страницы желательно видеть общие итоги по всем вышеперечисленным статьям.

•    Список заказов по покупателям за месяц, в котором также приведены суммарные данные по пяти наиболее продаваемым за месяц продуктам, независимо от покупателя.

•    Отчет по продажам с группировкой по регионам и со списком выданных в регионе кредитов. Список кредитов должен попасть в нижний колонтитул группы.

•    Отчет, который в результате объединения таблиц выдает дублированные строки (если таблицы связаны отношением “многие ко многим”). Необходимо корректно объединить записи из связанных таблиц.

•    Отчет, в котором есть заголовок, информация о компании и логотип. Данные берутся из отдельной таблицы Company Information, и эта таблица не содержит никаких связей с остальными таблицами в базе данных.

В каждом из этих случаев стандартными методами Crystal Reports пользоваться бесполезно. Первые три примера недопустимы вообще, поскольку отчет по своей природе может использовать только одну результирующую выборку или одну группу полей, которые получены одним запросом к базе данных. Четвертый пример является демонстрацией широко распространенной проблемы объединения таблиц, которые содержат более одной совпадающей записи. И пятый пример (тоже встречается довольно часто) отражает проблемы, возникающие в том случае, когда две таблицы не имеют никаких общих полей.

Для решения таких задач Crystal Reports предлагает новый подход — подчиненные отчеты (subreports), которые просто предполагают помещение одного отчета внутрь другого. Подчиненный отчет — это просто другой отчет, который отображается внутри исходного главного отчета как объект. И хотя отчеты каждый имеют свой собственный макет и свою собственную вкладку Design, они отображаются вместе в одном и том же месте. Первым, разумеется, создается главный (main) отчет, а затем уже в него добавляется один или более подчиненных отчетов.

Каждый подчиненный отчет разрабатывается отдельно, на основе своих таблиц и полей. Вы можете просматривать каждый подчиненный отчет в его собственной вкладке Preview, можете форматировать в нем отдельные объекты или создавать для него уникальные критерии отбора. Однако, при возврате на вкладку Preview главного отчета или распечатке главного отчета, все подчиненные отчеты будут обрабатываться и печататься одновременно, вместе с главным отчетом, в котором они находятся.

Существует два основных типа подчиненных отчетов:

•    Несвязанные подчиненные отчеты — связи с главным отчетом нет вообще. Эти отчеты существуют сами по себе и обычно не взаимодействуют с главным отчетом. Отчет о состоянии организации, описанный ранее, попадает в эту категорию.

•    Связанные подчиненные отчеты — управляются главным отчетом. Содержимое подчиненного отчета зависит от определенного поля или полей главного отчета. Примером такого типа отчета является описанный ранее отчет по продажам с группировкой по регионам и списком выданных в регионе кредитов.

Подчиненные отчеты могут обрабатываться главным отчетом по-разному. Обработка подчиненных отчетов по месту вставки (in-place) и возврат результатов производится одновременно с главным отчетом. Подчиненные отчеты по запросу (on-demand) выглядят на вкладке Preview как контейнеры (заполнители) и обрабатываются только после двойного щелчка на контейнере. Такой подход ускоряет обработку главного отчета, поскольку подчиненные отчеты в это время не обрабатываются.

Подробнее в этой категории: Несвязанные подчиненные отчеты »
Несвязанные подчиненные отчеты
Подчиненные отчеты с возможностью детализации
Связанные подчиненные отчеты
Связывание на основе полей формул
Форматирование подчиненного отчета с помощью редактора Format Editor

Добавить комментарий


Защитный код
Обновить