Reporting FMX

Кроссплатформенный набор FMX-компонентов для создания документов на базе Embarcadero FireMonkey

v. 2025.1.8
Аэрофлот и FastReport VCL и МоиОтчеты Десктоп

Кейс: Как «Аэрофлот» генерирует 500 файлов отчетов из баз данных за минуту

Авиация — это не только романтика, но и миллионы строк регулярных отчетов в Excel. Рассказываем как уже 20 лет «Аэрофлот» решает задачи создания корпоративных отчетов с помощью продуктов FastReport.

Какие отчеты можно делать из Reporting FMX?

Какие отчеты можно делать из Reporting FMX?

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

Бесплатные шаблоны унифицированных форм вы можете скачать в формате шаблонов или PDF из нашего каталога МоиОтчеты Магазин.

Особенности и преимущества Reporting FMX

Множество компонентов
Для построения отчетов в дизайнере доступны разнообразные элементы: от текста и изображений до математических формул и 3D-диаграмм.
Быстрый доступ к отчету и структуре данных
Из дерева отчетов и дерева свойств вы сможете редактировать структуру отчета, параметры и фильтры, а также источники данных с глобальными стилями.
Безопасность
Защита ваших шаблонов и отчётов с помощью надежного шифрования данных. Адаптируйте все исходные коды под свои решения.
Исходный код
Этот набор компонентов включает в себя исходные коды FastReport. Максимальное удобство для компаний, желающих адаптировать код под свои нужды.
Гибкая и открытая архитектура
Если функционала FastReport для вас недостаточно, вы можете улучшить его, создав и подключив собственные объекты (фильтры экспорта, базы данных) к своим отчетам.
Графическое ядро
Для создания графических элементов, отрисовки текста и управления графических изображений могут быть использованы GDI+, D2D и конечно же Quarz.
Дизайнер шаблонов Reporting FMX в вашем приложении

Дизайнер шаблонов в вашем приложении

Современный редактор предлагает множество инструментов для создания шаблонов отчётов. Гибкая архитектура позволяет создавать редакторы для существующих и новых объектов. Дизайнер шаблонов может быть встроен в ваше приложение. Мы поддерживаем локализацию более чем для 30 языков.

Reporting FMX — это бэнд-ориентированный генератор отчётов с богатым набором бэндов для создания различных типов отчётов. Можно собрать общие элементы (заголовок, подвал, реквизиты предприятия, логотипы) в базовый отчёт и наследовать их для других отчётов. Поддерживается функция вложенных отчётов.

Экспорты в удобные форматы Reporting FMX

Экспорты в удобные форматы

Фильтры экспорта готового отчета во множество форматов: PDF, CSV, ODF, ODT, DOCX, XLSX, PPTX, HTML, RTF, TXT, Images (JPG, BMP, PNG, TIFF, GIF) и так далее.

Reporting FMX позволяет быстро преобразовывать отчеты с редактируемыми полями (такими как текстовые поля, символьные расчески, флажки, радиогруппы и графические поля) в документы PDF без подключения дополнительных библиотек.

Обработка данных Reporting FMX

Обработка данных

Reporting FMX поддерживает сортировку и фильтрацию данных, master-detail отношения. Всё настраивается несколькими щелчками мыши. Возможно подключение к FireDAC, ADO, BDE, DBX, IBX и FIBPlus для доступа к большинству баз данных, включая Oracle.

Отчёт может содержать данные из таблиц, запросов, подключений к БД. Reporting FMX имеет скриптовой движок, поддерживающий PascalScript, C++ Script, BasicScript и JScript. Отчёты могут включать диалоговые формы для запроса параметров перед построением. Диалоговые элементы управления позволяют подключать данные и фильтровать их без написания кода.

Предпросмотр и интерактивность Reporting FMX

Предпросмотр и интерактивность

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

Вы можете определить реакцию на щелчок мыши на объекте в окне просмотра. Например, можно построить и вывести другой отчет, который показывает детальную информацию по объекту, на котором пользователь щелкнул мышью.

Дополнительные настройки печати

Дополнительные настройки печати

Для вас доступно: разрезание больших страниц отчета на малые, печать нескольких малых страниц на одной большой, печать на заданном формате с масштабированием.

Вам нужно распечатать отчет, содержащий страницы формата А3, на обычном принтере с поддержкой А4? Теперь это не проблема!

Ultimate VCL

Этот набор компонентов входит в состав Ultimate решения, с помощью которого вы сможете создавать свои бизнес-проекты на всех привычных платформах VCL, Lazarus и FMX. Дополнительно в набор входит FastScript для быстрой обработки скриптов любой сложности, а также визуальный построитель SQL-запросов к базам данных FastQueryBuilder. Помимо этого вам будут доступны клиент-серверные инструменты отчетности на VCL и Lazarus.

Варианты поставок

Особенности
от 129 890 ₽
от 49 890 ₽
Ядро FastReport
Компоненты VCL
Компоненты FMX
Компоненты Lazarus
Возможности OLAP
Агрегатные OLAP функции
Поддержка баз данных
Возможности отчётов
Объекты отчета
Штрих-коды
Диаграммы
Печать
Экспорт в различные форматы
Исходные коды
Конвертеры из других шаблонов
Транспорты (Transports)

Связанные статьи

15 октября 2021

Отчет с двумя уровнями данных (master-detail) в Delphi/Lazarus на примере FastReport VCL / FMX

В этой статье я хочу вам рассказать о такой мощной возможности FastReport, как “многоуровневые отчёты” - можно сравнить их структуру с деревом “ствол, ветки потолще, из каждой растут потоньше, и так далее - вплоть до листиков” или со структурой предприятия “Отделы, подотделы, сотрудники”. Часто их называют “master-detail” или “главный-подчинённый” - и делаются такие отчёты из нескольких таблиц. В одной таблице список главных сущностей, в другой, связанной с первой, список подчинённых сущностей со ссылкой на первую - какой конкретно сущности из первой подчинена конкретная сущность из подчинённой. И так далее. FastReport поддерживает вложенность до 6 уровней (можно и больше, используя объект "Вложенный отчет", но об этом позже). В реальных приложениях редко приходится печатать отчеты с большой вложенностью данных; как правило, ограничиваются 1-3 уровнями. Пример разработки многоуровневого отчёта Рассмотрим создание на примере двухуровневого отчета. Он будет содержать данные из таблиц Customer и Orders. Первая таблица – это список клиентов, вторая – список заказов, сделанных клиентами. Таблицы содержат данные следующего вида: Customer: CustNo       Company1221          Kauai Dive Shoppe1231          Unisco1351          Sight Diver Orders: OrderNo       CustNo       SaleDate1003            1351          12.04.19881023            1221          01.07.19881052            1351          06.01.19891055            1351          04.02.19891060            1231          28.02.19891123            1221          24.08.1993 Как видно, вторая таблица содержит список всех заказов, сделанных всеми компаниями. Чтобы получить список заказов, сделанных конкретной компанией, из таблицы следует отобрать записи, у которых поле CustNo = номеру выбранной компании. Отчет, построенный на этих данных, будет выглядеть следующим образом: 1221       Kauai Dive Shoppe    1023       01.07.1988    1123       24.08.19931231       Unisco    1060       28.02.19891351       Sight Diver    1003       12.04.1988    1052       06.01.1989    1055       04.02.1989 Приступим к созданию отчета. Создадим новый проект в Delphi, на форму положим два компонента TTable, компонент TDataSource, два компонента TfrxDBDataSet и один TfrxReport.  Подключаем данные из базы к объектам отчёта Настроим компоненты следующим образом: Table1: DatabaseName = 'DBDEMOS' TableName = 'Customer.db' Table2: DatabaseName = 'DBDEMOS' TableName = 'Orders.db'   DataSource1: DataSet = Table1   frxDBDataSet1: DataSet = Table1 UserName = 'Customers'   frxDBDataSet2: DataSet = Table2 UserName = 'Orders'   В дизайнере отчета подключим наши источники данных в окне "Отчет|Данные…".  Добавим на страницу бэнды "Данные 1 уровня"(master) и "Данные 2 уровня"(detail). И из панели данных (справа) вытащим на соответствующие бэнды поля таблиц (главной и подчинённой). Получится примерно так: Обратите внимание – бэнд "Данные 1 уровня" должен располагаться выше! Если разместить его под бэндом "Данные 2 уровня", FastReport сообщит об ошибке при запуске отчета. Сейчас при запуске мы увидим, что список заказов одинаковый для каждого клиента и содержит все записи из таблицы Orders. Это произошло потому, что мы не включили фильтрацию записей в таблице Orders. Вернемся к нашим источникам данных. У компонента Table2 установим свойство MasterSource = DataSource1. Таким образом мы установили связь "главный-подчиненный". Теперь надо задать условие фильтрации записей в подчиненном источнике. Для этого вызовите редактор свойства MasterFields у компонента Table2: Нам надо связать два поля CustNo в обоих источниках. Для этого выберите индекс CustNo в списке сверху, выберите поля и нажмите кнопку "Add". Связка полей переместится в нижнее окно. После этого закройте редактор кнопкой ОК. При запуске отчета FastReport сделает следующее. Выбрав очередную запись из главной таблицы (Customer), он установит фильтр на подчиненную таблицу (Orders). В таблице останутся только те записи, которые удовлетворяют условию Orders.CustNo = Customer.CustNo. Т.е. для каждого клиента будут показаны только его заказы: Аналогичным образом можно строить отчеты, содержащие до 6 уровней данных.
Читать
25 января 2021

Установка и использование FastReport FMX 2.8 для FmxLinux

Совсем недавно был выпущен FastReport FMX 2.8 в котором включена поддержка фреймворка FMXLinux. В этой статье я хочу описать процесс установки и требования на примере установки триальной версии FastReport FMX 2.8, Embarcadero RAD Studio 10.4.1, FmxLinux 1.52 из поставки GetIT и Ubuntu 20.04.1. Мы не будем углубляться в установку и настройки компиляции для Linux. Об этом можно почитать на сайте Embarcadero: Linux Application Development и FireMonkey for Linux. Вот краткий список шагов которые нужно сделать перед установкой FastReport FMX  2.8(Если вы уже настроили компиляцию под Linux и FmxLinux приложение уже успешно компилируется, можно пропускать данные шаги):  Установить Linux или использовать уже готовый (Статья основывается на Ubuntu 20.04.1); Установить dev пакеты gcc и пакеты curl. Embarcadero рекомендует это делать через : 1 sudo apt install joe wget p7zip-full curl openssh-server build-essential zlib1g-dev libcurl4-gnutls-dev libncurses5 В этом случае dev пакет 7zip установит все зависимости включая gcc (бинарные файлы триальной версии FastReport FMX 2.8 собраны с gcc 9 !); Установить dev пакеты zlib, для Ubuntu это: 1 sudo apt-get install zlib1g-dev Установить зависимые пакеты x11, gtk3 через: 1 sudo apt install libgl1-mesa-glx libglu1-mesa libgtk-3-common libgstreamer1.0-0 libgstreamer-plugins-base1.0-0 Я устанавливал на чистую виртуальную машину, поэтому свел все до одной команды:  1 sudo apt install joe wget p7zip-full curl openssh-server build-essential zlib1g-dev libcurl4-gnutls-dev libncurses5 zlib1g-dev libgl1-mesa-glx libglu1-mesa libgtk-3-common libgstreamer1.0-0 libgstreamer-plugins-base1.0-0    Установить PAServer(см. Linux Application Development);  Установить FmxLinux через GetIt (Tools > GetIt Package Manager);   Подключиться к Linux и скачать SDK.   Установка FastReport FMX 2.8 для FmxLinux ничем не отличается от обычной установки FastReport FMX 2. Нужно скачать установщик, для примера триальной версии отсюда и закрыть среду разработки. Все пути для компиляции установщик добавит сам. FastReport FMX 2.8 готов к использованию! Можно проверить как FastReport FMX работает под Linux. Запустим среду разработки (в моем случае Embarcadero RAD Studio 10.4.1) и откроем стандартный демонстрационный пример с отчетами. Который можно найти в папке установки FastReport FMX 2, по умолчанию C:\Program Files (x86)\FastReport FMX 2 Trial\Demos\Main.Откроем проект и выберем платформу. Теперь нужно убедиться, что все файлы будут переданы на сервер (Project>Deployment), в моем случае отсутствовал флажок напротив стандартной MIDAS библиотеки для доступа к данным. Проблема решается выбором библиотеки для соответствующей платформы. Можно компилировать проект и запускать. Теперь можно выбрать отчет и открыть дизайнер на редактирование. Построить отчет и показать его в окне предварительного просмотра. И, конечно, сделать экспорт в доступный формат. Как и для других платформ, возможно использовать утилиту recompile для смены языка и перекомпиляции бинарных файлов.В ней нужно выбрать путь к библиотекам FmxLinux (по умолчанию C:\Users\Public\Documents\Embarcadero\Studio\21.0\CatalogRepository\FmxLinux-1.52\lib\Release для Embarcadero RAD Studio 10.4.1), версию компилятора, версию gcc, и версию FastReport. Тут важно отметить, что recompile использует пути SDK из реестра среды разработки, поэтому SDK для Linux по умолчанию уже должен быть настроен из среды Embarcadero RAD Studio перед началом использования. Попробуем сменить язык. Скомпилируем и запустим пример еще раз. Язык изменен. Как можно заметить, установить и использовать FastReport FMX 2.8 для FmxLinux довольно просто.
Читать
23 марта 2020

Семейство генераторов отчетов FastReport - быстрый обзор

Отчетность – без нее невозможно вести деятельность ни в одной сфере жизнедеятельности. Бюрократия является неодолимой частью человеческого общества. Будь то сталелитейный завод или школьный кружок - везде требуется отчетность: бухгалтерская, статистическая, оперативная. Так как в современный мир сильно компьютеризирован – отчетность тоже вдаётся в электронном виде. Создавать отчеты в больших количествах было бы очень сложно без специальных программ – генераторов отчётов. Генератор отчетов FastReport появился на заре популяризации этого типа программ и стал настоящим хитом у Delphi программистов. А с появлением версии для .NET Framework – получил также распространение среди приверженцев платформы от Microsoft. Название FastReport родилось не просто так. Этот генератор отчетов действительно является одним из самых быстрых при построении сложных отчетов. Это можно отнести к главному его преимуществу перед другими конкурентами. Как уже отмечалось выше, генератор отчетов FastReport предназначен для разных платформ. По факту это разные продукты с одинаковой идеологией и похожей реализацией. Предусмотрены продукты для работы с фреймворками: VCL, FMX, Lazarus, .NET, .Mono. Возможности FastReport можно описывать долго, поэтому рассмотрим самое важное: Ядро – движок генератора отчетов позволяет создавать: Отчет из кода – благодаря публичным методам библиотеки FastReport вы с легкостью можете создавать объекты отчета и изменять их свойства. Таким образом можно создать отчет целиком без дизайнера отчетов. Однако, это требует знания принципа построения отчета FastReport; Многостраничный отчет – по мере наполнения данными шаблона, отчет разделяется на страницы. Но, вы можете создавать несколько шаблонов – страниц в отчете. Таким образом вы создаете по сути несколько отчетов внутри одного; Веб отчеты – поддерживаются веб отчеты, в зависимости от целевой платформы это может быть решение для ASP .NET (Core) или сервер отчетов для VCL. Вы сможете просматривать отчеты в браузере, отправлять на печать и выполнять экспорт в доступные форматы. Помимо этого, есть возможность разграничивать доступ к отчетам на сервере отчетов (для VCL); Наследование – механизм, который позволят использовать один базовый шаблон, во многих отчетах. Таким образом, можно минимизировать работу по созданию однотипных отчетов или отчетов с корпоративным заголовком; Кросс-таблицы – возможность использовать сводные таблицы – популярный инструмент анализа данных; Интерактивные отчеты – отчеты, которые реагируют на действия пользователя. Например, по нажатии на элемент появляется детализирующая таблица или скрывается/открывается список; Подотчеты – возможность встраивать один отчет в другой. На самом деле, при размещении объекта Подотчет на странице, создается его шаблон на отдельной странице. Количество подотчетов не ограничено; Экспорт – возможность преобразовать отчет в один из многих популярных форматов:            -  Adobe Acrobat (PDF);           -  Rich Text;           -  HTML;           -  MHT;           -  XML;           -  Excel 2007;           -  Excel 97;           -  Microsoft Word 2007;           -  Microsoft PowerPoint 2007;           -  OpenOffice Calc;           -  OpenOffice Writer;           -  Microsoft XPS;           -  CSV;           -  DBF;           -  Text;           -  ZPL;           -  Image (Jpeg, PNG, BMP, GIFF, TIFF, Windows metafile);           -  XAML;           -  SVG;           -  PPML;           -  PostScript;           -  Json;           -  LaTeX. Отправка по Email – возможность отправлять отчет с помощью электронного письма. Дизайнер отчетов. Интерфейс  - современный Ribbon интерфейс удобен для быстрого доступа к элементам управления. Такой тип интерфейса используется в Microsoft Office начиная с 2007; Возможность встраивать в приложение - дизайнер отчетов выполнен отдельной программой (библиотекой), что дает возможность запускать его самостоятельно, либо включать в состав своего пользовательского приложения; Режим превью – в дизайнере отчетов можно просматривать отчеты в построенном виде. Этот режим позволяет также экспортировать отчет, печатать, отправлять email; Мастера – в дизайнере доступно множество мастеров, которые ускоряют процесс создания отчета. Например, мастер нового отчета позволяет всего лишь на несколько шагов создать готовый типовой отчет с подключением к данным. А мастер создания источника данных – создает подключение к базам данных, также в несколько кликов. Плагины – возможности дизайнера отчетов можно расширить с помощью плагинов. В основном это плагины – коннекторы для быстрого подключения к источникам данных, но бывают и плагины, добавляющие новые объекты для размещения в отчете. Отчет: Шаблон страницы из бэндов – идеология построения страницы отчета базируется на бэндах – специальных контейнерах для данных, которые разделяются по назначению и имеют индивидуальное поведение. Например бэнд «Заголовок отчета» отображается в самом начале, вверху страницы только единожды. А бэнд «Заголовок страницы» отображается вверху каждой новой страницы, но на первой странице он ниже заголовка отчета. Также существует бэнд для вывода данных, которые повторяются для каждой записи в таблице, бэнд группировки, подвальный бэнд и другие; Функции и переменные – в отчете можно использовать различные встроенные и пользовательские функции для предобразования данных, а также переменные. Переменные могут получать значения извне отчета, что позволяет управлять логикой отчета из пользовательского приложения; Юзер форма – перед построением отчета можно вывести пользовательскую форму, или несколько подряд. Эти формы нужны для определения значения переменных отчета, или установки условий для фильтрации данных; Скрипт – отчет имеет встроенный скрипт, который позволяет получить доступ к любым объектам отчета и их свойствам. Это значит, что вы можете делать с отчетом все, что угодно: фильтровать данные, изменять логику вывода данных, преобразовывать данные, добавлять и удалять объекты и многое другое; Формат XML – шаблон отчета представляет собой XML, хоть и с измененным расширением. Таким образом, вам будет легче ориентироваться в шаблоне отчета, при просмотре в текстовом редакторе благодаря привычному языку разметки; В заключение можно сказать, что благодаря широкому инструментарию, многоплатформенности и наличию встроенного в отчет скрипта, генераторы отчетов от FastReport позволяют удовлетворить практически все запросы пользователей и являются универсальным решением для широкого спектра задач в сфере электронного документооборота.
Читать