Начальные знания для понимания отчетов FastReport .NET

26.08.2017

Понятие «генератор отчетов» появилось относительно недавно.

Давайте определимся что же это такое. Генератор отчетов – это программа позволяющая на основе набора данных создавать готовые к демонстрации документы. Первые генераторы отчетов были примитивны и позволяли создавать документы в лишь самых распространенных форматах. Они были довольно медленными при построении отчетов с большим объемом данных, интерфейс создания шаблона отчета оставлял желать лучшего. Поэтому многие разработчики сами создавали отчеты в коде своего приложения. Это отнимало много времени и сил.

Однако, флагманы разработки генераторов отчетов довольно быстро учли недостатки первых версий и превратили свои продукты в действительно удобные и быстрые программы. Сейчас уже ни у кого не возникает желания генерировать отчеты Excel вручную.

Принцип работы с генератором отчетов довольно прост. Обычно в состав программы входит дизайнер отчетов, который позволяет создавать шаблон. Вы конструируете свой документ расставляя текстовые поля, таблицы и рисунки. При построении отчета, генератор берет шаблон и наполняет его данными. При этом, вы можете получить множество страниц, если данных много. Затем вы делаете экспорт отчета в желаемый формат: doc, pdf, xls и др. Вот и все.

Большинство процессов можно автоматизировать, например, формировать отчет по расписанию, автоматически экспортировать его в нужный формат и отправлять по email. Но без участия человека все же не обойтись, нужно создать шаблон отчета. Хотя и тут к вам на помощь приходят различные «мастера» по созданию отчетов. Что превращает создание простого отчета в несколько кликов мышью.

Давайте же рассмотрим одного из ярких представителей на рынке генераторов отчетов FastReport.Net. Как вы уже поняли .Net означает, что этот генератор отчетов работает именно с этим фреймворком. Что в свою очередь позволяет нам использовать его в любом .Net приложении.

Немного подробнее о структуре отчета в FastReport.Net:

1)      Отчет состоит из страниц. По умолчанию в отчете одна страница, но вы можете добавлять сколь угодно много новых. Это именно страницы шаблонов, а не отображаемые при построении страницы. Каждая страница шаблона, при наполнении данными может быть представлена множеством страниц построенного отчета, в зависимости от количества данных;

2)      Каждая страница отчета включает в себя блоки размещения данных – бэнды. Бэнды различаются по своему назначению: заголовочные бэнды, бэнды-данные, подвальные бэнды.

3)      Объекты отчета – это различные элементы управления, такие как текстовое поле, checkbox, рисунок, таблица, матрица, график и д.р. В основном они используются для отображения данных, но бывают и чисто декоративные – фигуры.

Таким образом мы получаем необходимую цепочку для отображения данных в отчете: страница – бэнд – объект. Это значит, что в отчете должно быть хотя бы по одному из перечисленных элементов, для отображения информации.

 

Если со страницами все более-менее понятно, то бэнды вызовут много вопросов у пользователей-новичков. Поэтому я расскажу о них чуть поднобнее.

  1. 1.       Заголовочные бэнды. Из названия ясно, что они содержат заголовки. Это могутбыть:
  • Заголовок отчета;
  • Заголовок страницы;
  • Заголовок данных;
  • Заголовок колонки;
  • Заголовок группы.

Они имеют разное поведение при построении отчета. Первый отображается лишь один раз в начале отчета. Второй – на каждой странице построенного отчета. Третий – также, как и первый, только в начале отчета. Четвертый – вверху каждой колонки. Пятый – при отображении каждой группы.

  1. 2.       Бэнд «Данные» - основа отчета, предназначены для вывода данных из источника. Этот бэнд генерируется для каждой строчки данных из таблицы БД. В отчете может быть несколько бэндов «Данные». Это означает, что данный будут выводиться из нескольких таблиц БД, потому как каждый бэнд «Данные» подключается к конкретной таблице.
  2. 3.       Подвальные бэнды – по сути то же самое, что и заголовочные. Они могут содержать итоговые суммы или данные которые нужно вывеси в самом конце отчета. Можно выделить следующие подвальные бэнды:
  • Подвал страницы;
  • Подвал данных;
  • Подвал колонки;
  • Подвал группы

По аналоги с заголовочными бэндами выводятся: подвал отчета – в конце отчета, подвал страницы – в конце каждой страницы, подвал данных – сразу после бэнда «Данные», подвал колонки – после каждой колонки, подвал группы – в конце каждой группы.

Как я говорил раньше, объекты размещаются на бэндах и в большинстве своем предназначены для вывода информации.

Теперь пара слов о каждом объекте. Основным объектом вывода данных является «Текст». В текстовом объекте можно писать любую информацию, а для отображения поля из источника нужно использовать прямые скобки []. Заключаем в скобки поле [Table.Field]. Такое выражение будет заменено данными из базы.

Такие объекты как Матрица (Сводная таблица) и Таблица основываются на данных из базы. 

Как видите, таблица имеет текстовые данные, которые выводятся с помощью объекта «Текст», а также рисунки, которые выводятся с помощью объекта «Рисунок». Из этого можно сделать заключение, что некоторые объекты могут включать в себя другие.

Рисунки могут быть загружены из локальной папки или непосредственно из базы данных, как в показанном выше примере.

Диаграмма – строится на основе данных из БД (есть возможность задать данные вручную). Задаются значения по X и Y координатной оси:

 

Предусмотрено множество видов диаграмм, самая распространенная – гистограмма, показанная выше.

Вложенный отчет – по сути еще один отчет, который можно разместить в нужном месте текущего отчета.

Форматированный текст – текстовый объект, формат отображения которого вы задаете на этапе создания в редакторе. Конечно, вы можете настроить любой тестовый объект и после создания.

Индекс– специально отформатированный объект для отображения почтового индекса подобно почтовым конвертам:

Штрих код – имеет широкую номенклатуру штрих кодов различных стандартов. Строится как на основе вручную введенных данных, так и по данным из БД:

 

 

Флажок – обычный СheckBox. Является индикатором для полей данных с типом Boolean.

Карта – позволяет вставлять в отчет интерактивные карты. Можно перемещаться по карте, уменьшать и приближать, подобно google картам.

 

Искрографик и индикатор – разновидности диаграмм.

Фигуры – носят декоративный характер. С помощью них мы можем организовать простейшую векторную графику в отчете.

Текст в ячейках – стилизация вывода текста посимвольно в каждой ячейке. Обычно используется в анкетах.

На этом, пожалуй, все. Надеюсь, эта небольшая вводная информация даст вам некоторое понимание структуры отчетов в FastReport.

В следующей статье я рассмотрю бэнды более детально. Так как это наиболее сложный для понимания механизм в отчетах FastReport. Мы еще раз поговорим о назначении каждого из бэндов и особенностях отображения при построении. Имея эти базовые знания, вы сможете проектировать отчеты любой сложности.

1 ноября 2024

Новые возможности редактора отчетов FastReport VCL

Рассматриваем новые возможности редактора отчетов: выносные линии, подсветка пересекающихся объектов, обновлённые деревья отчетов и данных.
30 октября 2024

Использование стилей при создании отчетов в FastReport VCL

В статье подробно рассматривается одна из новых возможностей FastReport VCL – применение стилей и страниц стилей.
28 октября 2024

Как настроить WSL 2 для работы с FastReport и FastCube

В этой статье попробуем вместе разобраться, как настроить WSL 2 для работы с компонентами FastReport и FastCube в Lazarus для Linux.