Отчет представляет собою данные в структурированном виде. Данные передаются из источника, а структура создается в дизайнере отчетов и называется шаблон отчета. Таким образом, на основе одной структуры можно создавать различные отчеты. Рассмотрим более подробно структуру отчета:

 

strel11 Схема данных включает в себя источники данных, связи между источниками данных, колонки в источниках данных;

strel11 Компоненты отчета. Все компоненты отчета организованы в страницы. Шаблон отчета содержит как минимум одну страницу. Количество страниц в шаблоне отчета неограничено. Однако, не рекомендуется создавать более 10 страниц в одном шаблоне отчета, поскольку это замедлит скорость построения отчета. Каждая страница может содержать компоненты отчета. На странице могут находиться компоненты двух видов- бэнды и простые компоненты. Каждый компонент отчета имеет собственные свойства, изменения которых сохраняются в структуре отчета. Комбинация компонентов и изменения их свойств, и создает уникальную структуру отчета;

strel11 Код отчета;

strel11 Свойства отчета.

 

Работа с отчетом происходит обычно в несколько этапов:

 

strel11 Загрузка шаблона отчета или его создание.

Шаблон отчета представляет из себя xml (json) документ. В нем в иерархическом виде представлена вся структура отчета, начиная от схемы данных и заканчивая компонентами отчета. Шаблон отчета может быть сохранен и загружен из множества источников - файл, поток, база данных, строка и т.д. Это дает большую гибкость в выборе места хранения отчета;

strel11 Компиляция шаблона отчета. Перед тем как запустить отчет на построение отчета, генератор отчетов должен сгенерировать класс отчета. Затем класс отчета должен быть скомпилирован. После этого генератор отчетов создает один экземпляр отчета, построение которого и производит генератор отчетов. Стоит отметить, что загрузку шаблона отчетов и его последующую компиляцию можно пропустить. Для этого существует две возможности:

 a) Отчет можно сохранить как .NET сборку;

 б) Отчет можно сохранить как класс на языке C# или VB.NET;

 

strel11 Соединение отчета с данными;

strel11 Запрос данных у пользователя;

strel11 Построение отчета. При построении отчета генератор отчетов по очереди строит все страниц из шаблона отчета. Т.е. сначала строится первая страница, затем вторая и т.д. При этом построение каждой новой страницы из шаблона отчета может как продолжаться в месте окончания построения предыдущей страницы, так и с нового листа;

strel11 Отображение отчета;

strel11 Вывод на печать или сохранение построенного отчета.