Мастерская отчётов (ReportWorkshop): генератор отчётов для Дельфи и Си++Билдера (Delphi и C++Builder)
Показать или спрятать менюTRichView.ru

  Мастерская отчётов (ReportWorkshop)

WindowsmacOSiOSAndroidLinux

Что такое Мастерская отчётов (ReportWorkshop)

Мастерская отчётов (ReportWorkshop) – это набор компонентов для построения отчётов на основе ТРВ-Редактора (TRichView).

Версия VCL: для Дельфи (Delphi) 5 и новее, Си++Билдер (C++Builder) 6 и новее.

Платформы, поддерживаемые в Лазарусе (Lazarus): Windows

Платформы, поддерживаемые в ФайрМанки (FireMonkey): Windows (Delphi и C++Builder XE6+), 64-битная macOS (Delphi 10.3+), Android (Delphi 10.4+), Linux (Delphi 10.3+ и FMXLinux), 64-битные устройства на iOS (Delphi 10.4+), 64-битный ARM симулятор iOS (Delphi 11+). Ограничения: команды (actions) интерфейса пользователя для редактирования шаблонов отчётов отсутствуют в версии FireMonkey.

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

Основная особенность Мастерской отчётов (ReportWorkshop) – это редактирование отчётов в форме текстовых документов, с интерфейсом пользователя, похожим на знакомые всем редакторы (вроде Libre Office или Microsoft Word). При этом можно добавить поля для отображения значений данных и связать части документа с источниками данных. Создавать отчёты можно как с нуля, так и с использованием мастера отчётов.

Интерфейс пользователя переведён на многие языки, в том числе, разумеется, и на русский.

Мастерскую отчётов (ReportWorkshop) можно разделить на три части:

  • редактирование отчётов
  • генерация отчетов
  • провайдеры данных

Редактирование отчётов [VCL и Lazarus]

Отчёты создаются в компонентах ТРВ-Редактора (TRichView) или СРВ-Редактора (ScaleRichView). Мастерская отчётов (Report Workshop) расширяет Инструменты интерфейса ТРВ (RichViewActions), добавляя новые команды для редактирования шаблонов отчётов: связь документа, строк и ячеек таблиц с данными; построение сводных (кросс-таб) таблиц, визуализация значений полей данных и т.д.

В интерфейс включены команды, которые помогают быстро создать шаблон отчёта на основе данных пользователя: средства вставки таблицы с данными и мастер отчётов, который может быстро создать многоуровневый (master-detail) отчёт с различным расположениём уровней данных друг относительно друга (в виде вложенных таблиц, карточек и др.).

Редактирование шаблона отчёта

Генерация отчётов

Отчёты генерируются на основе шаблонов также в компонентах ТРВ-Редактора (TRichView) или СРВ-Редактора (ScaleRichView).

Для этого предназначен основной компонент в составе пакета:

TRVReportGenerator

Просто вызовите метод Execute(), и отчёт будет построен. Далее его можно распечатать или сохранить в форматах HTML, DocX, RTF, PDF.

Созданный отчёт

Провайдеры данных

Провайдеры данных – это коллекция компонентов, которые заполняют отчёты содержимым. Такой компонент выполняет строку-запрос и выдаёт данные.

В Мастерскую отчётов (ReportWorkshop) включены провайдеры данных, основанные на стандартных компонентах и компонентах других разработчиков (включая FireDAC, dbExpress, dbGo/ADO, InterBase Express, BDE, AbsoluteDB, NexusDB, ElevateDB, DBISAM, UniDAC и другие DAC-и от DevArt и MicroOLAP), а также провайдер, работающие с любыми компонентами TDataSet и провайдер, получающий данные через ЛайвБайндингс (LiveBindings).


Дополнительные сведения


Сравнение с другими компонентами-генераторами отчётов

В настоящее время существует довольно много компонентов для генерации отчётов под Дельфи и Си++Билдер. Однако Мастерская отчётов (Report Workshop) – это уникальный программный продукт, предлагающий новые подходы и имеющий особенности, отсутствующие в аналогичных компонентах.

Существующие компоненты:

  1. компоненты, включающие дизайнеры отчётов по типу редакторов векторной графики
  2. компоненты, основанные на других редакторах текста

Первая группа – наиболее развитые компоненты для создания отчётов (включая Быстрые отчёты (FastReport), РепортБилдер (ReportBuilder), КвикРепорт (QuickReport) и т.п.). В режиме редактирования они дают пользователю возможность размещать различные объекты (такие как текстовые блоки, рисунки, фигуры) свободно в пределах страницы. Эти компоненты имеют недостатки, следующие из их устройства:

  • Пользователям требуется изучать специфический интерфейс дизайнера отчётов.
    В то же время, дизайнер отчётов Мастерской отчётов (Report Workshop) мало отличается от обычного редактора текстовых документов и имеет интерфейс, знакомый пользователям по другим текстовым процессорам (таким как Microsoft Word или Libre Office). Он включает только два особых объекта – отчётную таблицу и диаграмму.
  • Сложность редактирования отчётов.
    Чтобы создать красивые и профессионально выглядящие отчёты, пользователи должны выравнивать объекты друг относительно друга и соблюдать правильные расстояния между ними. Любое изменение в отчёте (такое как добавление и удаление объектов) может потребовать перераспределения объектов и стать таким же сложным, как создание отчёта заново. В то же время, Мастерская отчётов (Report Workshop) размещает объекты автоматически по течению текста (хотя он и поддерживает плавающие текстовые поля с координатами, привязанными к странице или позиции в тексте). Вы можете создать превосходный отчёт (в коде или в пользовательском интерфейсе), не указав ни единой координаты.
  • Нередактируемый результат.
    Обычно сгенерированные отчёты нельзя редактировать. Однако в Мастерской отчётов (ReportWorkshop) и шаблоны отчётов и результаты являются текстовыми документами. Кроме того, созданные отчёты могут содержать гиперссылки, что даёт возможность создавать гипертекстовое содержание и перекрёстные ссылки.
  • Проблемы при экспорте в различные форматы.
    Хотя экспорт в некоторые форматы может быть реализован хорошо, экспорт в текстовые документы (HTML, RTF, документы Microsoft Word) у таких компонентов получается гораздо хуже. Содержимое экспортируется как плавающие объекты, что делает крайне неудобным, практически невозможным, их редактирование. В то же время, Мастерская отчётов (ReportWorkshop) экспортирует в эти форматы с максимально возможным качеством.
  • Ограничения в структуре отчётов.
    Обычно такие генераторы отчётов позволяют размещать вложенные отчёты только в специальных местах. В Мастерской отчётов (ReportWorkshop), любые строки таблицы и любая ячейка может быть вложенным отчётом. Вы даже можете сделать вложенные отчёты в ячейках сводных (кросс-таб) таблиц.

Генераторы отчётов из второй группы обычно устроены значительно проще. Пользователям нужно изучить некий скриптовый язык, чтобы создавать отчёты. Ограничения этих текстовых редакторов не даёт возможности реализовывать другие средства построения отчётов помимо скриптов. В то же время, Мастерская отчётов (ReportWorkshop) предоставляет интерфейс пользователя для построения отчётов, включающий в себя диалоговые окна для основных операций. Гибкость ТРВ-Редактора (TRichView) позволила расширить возможности текстовых таблиц, добавив в них свойства, необходимые для отчётов.


Как узнать больше о Мастерской отчётов (ReportWorkshop)