Дизайн в Мастерской отчётов (ReportWorkshop) для Дельфи и Лазаруса (Delphi и Lazarus)
Показать или спрятать менюTRichView.ru

  Создание отчётов в Мастерской отчётов (Report Workshop)

Простые отчёты

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

Вложенные отчёты («master/detail»)

Для создания вложенных отчётов нужно связать главные данные с частью документа, а зависимые данные – с фрагментом этой части.

Возможны следующие случаи:

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

Этот список содержит только отношения между ближайшими слоями документа. Любой слой может быть пропущен, например, возможно отношение между строками вложенных друг в друга отчётных таблиц.

Помимо вышеуказанных вариантов, зависимые данные могут быть получены функцией Query() в выражениях. Более того, Query() может быть вызвано из Query(), что позволяет создавать вложенные отчёты с помощью одних только выражений.

Какие строки-запросы данных могут быть использованы для вложенных отчётов?

Возможны варианты:

  • строка зависимого запроса может ссылаться на поля главного (например, при использовании SQL: «select * from DetailTable where DetailTable.MasterID = {MasterID}»)
  • если в результатах главного запроса есть поле типа dataset, то зависимый запрос может его использовать (например, «field:FieldName»)
  • если данные берутся из заранее составленной коллекции компонентов доступа к данным, унаследованным от класса TDataSet (при использовании универсального провайдера данных из БД), на них уже может быть установлено отношение «главный/зависимый» («master/detail»), и отчёт будет его использовать

Вложенный объект может, в свою очередь, содержать другие вложенные объекты. Можно создавать отчёты тройной, четверной и так далее вложенности, без ограничений.

В один главный объект может быть вложено несколько зависимых.


Мастер создания отчётов

Мастерская отчётов (ReportWorkshop) включает мастер создания отчётов (реализованный как команда пользовательского интерфейса (action)), который может генерировать шаблоны отчётов с произвольной глубиной вложенности данных.