FastReport VCL

VCL-библиотека с полными исходными кодами для создания отчётов и документов для Delphi, C++Builder, RAD Studio и Lazarus

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

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

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

Широкие возможности FastReport VCL

Широкие возможности FastReport VCL

Набор VCL-компонентов для создания отчётов и документов. Содержит визуальный дизайнер шаблонов, средства доступа к популярным источникам данных, движок подготовки документов, окно предпросмотра, фильтры экспорта в 30+ форматов, средства доставки в облака, web, по e-mail и на печать.

Поддерживает работу в Embarcadero RAD Studio 10 Seattle, 10.1 Berlin, 10.2 Tokyo, 10.3 Rio, 10.4 Sydney, 11 и 12, а также Lazarus (FPC, LCL).

Особенности и преимущества FastReport VCL

Отчеты вне шаблонов
Создавайте этикетки, ценники, гео-отчеты с картами, инфографику, наряду с традиционными табличными и многоуровневыми иерархическими отчетам.
Безопасность
Защита ваших шаблонов и отчётов с помощью надёжного шифрования данных. Адаптируйте все исходные коды под свои решения.
Гибкость и интерактивность
Подключайте свои собственные объекты, фильтры экспорта, функции, движки БД без проблем с помощью открытой архитектуры FastReport.
Хранение документов
Сохраняйте и загружайте шаблоны отчетов и подготовленные отчеты в разные файловые хранилища.
Лёгкая интеграция с любыми данными
FastReport VCL поддерживает подключение во множество популярных баз данных и сторонних библиотек, такие как: ADO, BDE, DBX, IBX, FIBPlus, FireDac и другие.
Интернациональность
Работайте с комфортом на любом языке мира и даже на нескольких языках одновременно! FastReport VCL поддерживает более 32 языков локализации.
Дизайнер шаблонов в вашем приложении

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

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

FastReport VCL использует принцип бэнд-ориентированной генерации отчётов. Разнообразные бэнды позволяют создавать разные типы отчётов: списки, master-detail, многоколоночные и другие. Это упрощает создание отчётов с повторяющимися элементами.

Обработка данных по событию FastReport VCL

Обработка данных по событию

FastReport VCL позволяет сортировать и фильтровать данные, поддерживает master-detail отношения и отложенную обработку выражений. Все настройки выполняются в несколько кликов мыши. Поддерживается подключение к FireDAC, ADO, BDE, DBX, IBX, FIBPlus и Oracle.

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

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

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

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

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

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

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

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

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

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

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

FastReport VCL обеспечивает широкий спектр возможностей экспорта отчетов в различные форматы: PDF, RTF, XLSX, XML, DOCX, TXT, CSV, Excel OLE, PowerPoint, HTML, MHT, XPS, JPEG, BMP, PNG, Open Document Format (ODT, ODS, ODP), XAML, SVG, ZPL и многие другие.

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

FastReport VCL поддерживает многие стандарты безопасных форматов: PDF 1.4-1.7, PDF/A-1a, PDF/A-1b, PDF/A-2a, PDF/A-2b, PDF/A-3a, PDF/A-3b.

Клиент-серверные компоненты

Создавайте отчёты в веб по технологии клиент-сервер с компонентами FastReport VCL без прямого подключения клиента к серверу базы данных. Управляйте несколькими клиентскими запросами в отдельных потоках, чтобы минимизировать время отклика сервера.

Компонент TfrxReportServer — это автономный HTTP-сервер для построения отчётов. Он может строить несколько отчётов одновременно, логировать события и собирать статистику. Серверы HTTP и отчётов могут работать на разных компьютерах и использовать SSL-шифрование. Интеграция с другими HTTP-серверами возможна через механизм «CGI». Отчёты можно встроить в работающую систему (сайт).

Формулы FastScript

Формулы FastScript

В FastReport VCL для выполнения нестандартных вычислений применяется пакет FastScript. С помощью скриптов можно выполнять расчёт показателей и фильтров. Вы можете установить обработку данных после либо одновременно со стандартными показателями.

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

Транспорты

Транспорты

FastReport VCL позволяет экспортировать готовые отчёты и результаты экспорта в различные облачные хранилища, такие как FTP, Dropbox, OneDrive, Google Drive, Box, S3 (Amazon), NextCloud и другие. Это упрощает процесс сохранения отчётов и делает их доступными для пользователей в любое время и в любом месте.

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

FastQueryBuilder

FastQueryBuilder

Создавайте запросы к базам данных без знания SQL! Вы можете использовать FastQueryBuilder в своих приложениях, написанных в среде Embarcadero Delphi, C++Builder, RAD Studio и Lazarus, для создания простого SQL генератора. При этом визуальные модели запроса сохраняются для дальнейшего использования и корректировки.

FastQueryBuilder позволяет работать с локальными и клиент-серверными базами данных используя BDE, ADO, IBX, FIBPlus. Полностью визуальная настройка параметров запросов может быть встроена в любое окно вашего приложения.

Входит ли FastReport VCL в реестр программного обеспечения?

Да, этот программный продукт находится в реестре ПО. Подробная информация доступна по этой ссылке.

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

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

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

24 апреля 2025

Как открыть и конвертировать файл FP3 с помощью МоиОтчеты Конвертер

FP3 – это формат готового отчета, созданных с помощью генераторов отчетов FastReport, встроенного в различные бизнес-приложения. Файл такого формата может быть сгенерирован разными программами, например CRM или ERP. Чтобы легко его сконвертировать в любой удобный формат, используйте МоиОтчеты Конвертер.  Он позволяет получить из .fp3 файл форматов PDF версий 1.4, 1.5, 1.6 и 1.7, PDF / A (1, 2, 3), RTF, XLSX, XML, DOCX, TXT, CSV, PPTX, HTML, JPEG, BMP, PNG, TIFF, EMF, SVG, Open Document Format (ODT, ODS, ODP) и так далее. Возможна как конвертация одного файла, так и массовая.      Как конвертировать файл из .fp3 в PDF Шаг 1: Установка МоиОтчеты Конвертер. Вам необходимо загрузить и установить МоиОтчеты Конвертер по этой ссылке. После установки запустите программу.   Шаг 2: Открытие файла FP3. Перейдите в меню «Файл» → «Открыть», затем выберите файл формата FP3 и нажмите «Открыть».   Шаг 3: Конвертация FP3 в другой формат. После загрузки файла нажмите «Файл» → «Сохранить как». Вам станет доступно большое многообразие поддерживаемых форматов для экспорта документа. В поле «Целевой формат» выберите нужный формат (PDF, DOCX, XLSX, HTML, PNG и др.) из предложенного списка.    Шаг 4: Итоговое расположение файла и имя. Укажите папку и имя файла для сохранения в поле «Целевой файл» и нажмите «Сохранить». После завершения конвертации файл будет доступен в указанной директории в новом формате.   По всем возникающим вопросам пишите в нашу поддержку support@fastreport.ru.
Читать
21 апреля 2025

Работа с компонентом TfrShellTreeView в FastReport VCL

Не все знают, что внутри FastReport содержатся не только компоненты отчетов, но и многое другое. В частности, имеются несколько компонентов, которые можно применять в своих приложениях также, как и остальные компоненты Delphi. Библиотека таких компонентов постоянно пополняется. В данной статье мы рассмотрим один из таких компонентов, а именно – TfrShellTreeView.  Этот компонент предназначен для отображения элементов файловой системы и частично является аналогом таких компонентов, как TDirectoryListBox, TDirectoryOutline в Delphi и TShellTreeView в Lazarus. Если вы хотите посмотреть его внешний вид не запуская IDE, то это то «дерево», которое вы видите слева в окне проводника.   Компонент отлично работает в операционных системах Windows и Linux для Delphi и Lazarus. Среда разработки FMX не поддерживается.  TfrShellTreeView использует многие возможности операционной системы. Например, в Windows можно заходить в zip архивы как в папки, и даже манипулировать их содержимым: извлекать и добавлять файлы. Под Linux часть функциональности компонента может быть недоступна, в зависимости от установленной версии Linux. Важное примечание: отображение дерева и выбор элементов в нём будут доступны под любой ОС. Основное свойство TfrShellTreeView, которое управляет взаимодействием с операционной системой, является OptionsShell.   ContextMenu – указывает нужно ли показывать системное контекстное меню для выбранного файла. ShowFolder – это свойство отвечает за отображение папок. ShowHidden – данное свойство обозначает будут или нет видны скрытые файлы. ShowNonFolders – это свойство отвечает за отображение обычных файлов (не папок). TrackShellChanges – данное свойство отвечает за реагирование на изменения в файловой системе. Если в компоненте будет открыта какая-то папка, то при её изменении (например, копировании в неё файла) в компоненте также автоматически будет добавлен узел, ссылающийся на этот файл. TfrShellTreeView поддерживает набор горячих клавиш, характерных для стандартного файлового диалога или проводника в Windows (Ctrl+С, Ctrl+V, Delete и т.д.) со стандартными диалогами. Также компонент TfrShellTreeView поддерживает Drag&Drop элементов файловой системы как внутри себя, так и из других (но не всех) файловых менеджеров. Для разрешения операций  Drag&Drop используется свойство OptionsBehavior.AllowDragDrop. Перетаскивание осуществляется с использованием функций операционной системы. Остальные свойства аналогичны как в компонентах TTreeView и TfrTreeView. Однако стоит отметить, что они сгруппированы в группы по типу использования: OptionsBehavior, OptionsSelection, OptionsShell, OptionsView. Это позволит вам быстрее находить нужные свойства. Как упоминалось выше, компонент предназначен для отображения файловой системы компьютера. По умолчанию компонент настроен на отображение корневой папки вашей системы: «Рабочий стол» в Windows или “/” в Linux. Однако возможности компонента этим не исчерпываются.  Поместим компонент TfrShellTreeView на форму и откроем его редактор:   Редактор TfrShellTreeView внешне похож на редакторы компонентов TTreeView и TfrTreeView, но в нём имеются 2 новые кнопки:  New shell Root Item. New shell Root SubItem. Как мы видим на скрине редактора в компоненте могут быть: Обычные узлы, содержащие только текст, например «New simple item 1». Узлы с местоположением в файловой системе, такие как «Этот компьютер», «Lazarus», «data». Такие узлы далее мы будем называть шелл-узлами.  Обычные и дочерние узлы создаются и редактируются также, как и в обычных TreeViews.  Узлы, которые имеют ссылку на элемент файловой структуры, создаются с помощью кнопок «New shell Root Item». Таким образом будет создан шелл-узел того же уровня, что и текущий. Если нажать на «New shell Root SubItem», то будет создан дочерний шелл-узел по отношению к текущему узлу.  Обратите внимание, что у шелл-узла нельзя создавать дочерние узлы, а у обычного узла – можно.  Редактирование шелл-узлов сводится к указанию для какой папки привязан данный узел. Привязку к папке можно задать с помощью констант типа TfrRootNodes. Этими константами задаются такие места, как рабочий стол, автозагрузка и так далее. Если же задать константу rfCustomPath, то появляется возможность добавить путь к папке файловой системы в дереве каталогов ниже. Также этот путь можно задать с помощью окна редактирования, расположенного ниже дерева каталогов. Например, на скрине ниже задается путь к папке Lazarus, расположенной на диске C:\.   Как и у обычного TreeView, обычным узлам компонента можно задавать иконки. Шелл-нодам иконки задавать нельзя, там используются иконки, заданные в операционной системе. Для узлов фактически используется индекс иконки, который добавляется в свойстве ImageIndex. Остальные индексы иконок не используются. Также из-за особенностей использования компонента не реализованы некоторые другие свойства. Например, отсутствует возможность множественного выбора элементов. Самое часто используемое свойство – это конечно же TfrShellTreeView.SelectedPath. Если выбран шелл-узел, то это свойство содержит путь к папке, на которую указывает данный узел. Иначе это свойство равно пустой строке.  Помимо этого, работа с компонентом доступна и программными способами. Добавить обычный (не шелл) узел можно такими же способами, что и обычный TTreeView.  frShellTreeView1.Items.Add(nil,Edit1.Text); //добавляем корневой узел с текстом из Edit1 Добавление узла к текущему выделенному узлу: procedure TForm1.Button5Click(Sender: TObject); var N:TfrShellTreeViewNode; begin N:=(frShellTreeView1.Selected) as TfrShellTreeViewNode; if N=nil then Exit; frShellTreeView1.Items.AddChild(N,Edit1.Text); end; Удалить узел также просто. Например, так удаляется текущий выделенный узел: procedure TForm1.Button2Click(Sender: TObject); var N:TfrShellTreeViewNode; begin N:=(frShellTreeView1.Selected) as TfrShellTreeViewNode; if N=nil then exit; frShellTreeView1.Items.Delete(N); end; Впрочем, для удаления узла можно просто вызывать его метод Free. К сожалению, в настоящее время компонент не поддерживает генерацию событий, происходящих в моменты изменения связанных с ним папок файловой системы. Остальная функциональность компонента во многом совпадает со стандартным TreeView.  В заключение можно сказать, что FastReport — это не только инструмент для создания отчётов, но и источник дополнительных компонентов, которые можно использовать в приложениях на Delphi. TfrShellTreeView — предоставляет удобный способ отображения элементов файловой системы и может быть полезен в различных проектах. Библиотека компонентов FastReport постоянно пополняется, что делает этот инструмент ещё более привлекательным для разработчиков.
Читать
21 апреля 2025

Как работают RFID-метки в FastReport VCL

RFID-метка — это современная технология идентификации товаров, которая приходит на смену штрих-кодам. Главное отличие RFID-меток в том, что они используют радиосигналы. Это позволяет быстро сканировать большие партии товаров, что значительно экономит время. Кроме того, RFID-метки активно применяются для идентификации сотрудников в компаниях. В этой статье мы рассмотрим принцип работы RFID-меток с новым объектом TfrxDeviceCommand в FastReport VCL.     Особенности структуры RFID В структуре RFID-метки выделяются четыре блока данных: Зарезервированный блок, содержащий два пароля: пароль доступа и пароль уничтожения. Первый пароль позволяет управлять доступом к определённым блокам или частям памяти метки. Второй пароль используется для постоянного отключения метки или её повторного использования (если такая функция поддерживается). Каждый из паролей имеет длину не более 32 бит. Блок с электронным кодом продукта. Блок с идентификатором метки. Блок с пользовательскими данными. Все банки кроме первого могут иметь различный объем или они могут быть заблокированы поставщиками, все это описывается в характеристиках метки. Стандарты форматирования данных этих банков описаны в этом документе. Для локального использования можно использовать любое форматирование данных удобное пользователю для работы с ними.  Для реализации меток в FastReport VCL был создан объект TfrxDeviceCommand. В котором RFID-метка является одним из возможных пресетов. На данный момент это единственный пресет, но в будущем мы планируем расширять эту категорию. В версии 2025.1.8 данный объект при экспорте обрабатывается только ZPL-экспортом (остальные экспорты его пока пропускают). Мы планируем расширять его обработку и на другие экспорты при запросах.     Особенности объекта TfrxDeviceCommand Не является визуальным, то есть не отображается в превью (только в дизайнере). Не имеет высоты и ширины. Позиция внутри контейнера (Page или Band) используется исключительно в дизайнере для большей наглядности. Иначе говоря, позиция не влияет на очередь обработки при экспорте. Это можно представить так, что при экспорте TfrxDeviceCommand имеет свою отдельную очередь. Отдельная очередь при единственном пресете является избыточным решением. Однако всё же стоит рассмотреть параметры объекта TfrxDeviceCommand, оказывающие влияние на указанную очередь.   Для настройки времени обработки в объекте есть поле ProcessingTime, которое может принимать 2 значения: ptBeforeView отвечает обрабатывать перед всем содержимым контейнера); ptAfterView (после содержимого контейнера). И если у контейнера есть несколько TfrxDeviceCommand с одинаковым ProcessingTime, то потребуется использовать поле Order (от 0 до MaxInt). Допустим в контейнере лежит 3 объекта TfrxDeviceCommand с такими параметрами: ProcessingTime = ptAfterView , Order = 1; ProcessingTime = ptBeforeView, Order = 0; ProcessingTime = ptAfterView , Order = 0; При экспорте контейнера порядок обработки будет следующий: второй объект (ProcessingTime = ptBeforeView, Order = 0); содержимое контейнера; третий объект (ProcessingTime = ptAfterView , Order = 0); первый объект (ProcessingTime = ptAfterView , Order = 1); Также в этом объекте есть следующие поля:  DeviceType - используется для выбора пресета, сейчас там только одно значение dtRFIDLabel и изменить его пока невозможно. DeviceProperties - содержит поля, список которых меняются в зависимости от выбранного DeviceType. Именно там хранится содержимое текущего пресета (RFID-метки).     Как настроить содержимое объекта Настроить содержимое можно не только в инспекторе объектов, но и в редакторе.   Перевод другие языки помимо английского отсутствует во избежание путаницы с узкоспециализированными терминами. Редактор разделен на вкладки, в каждой из которых находятся свойства для определенного банка памяти и одна вкладка с прочими опциями метки. Некоторые поля дублируются чтобы поддерживать заполнение выражениями (например из базы данных). В зарезервированный блок данных пароли вносятся исключительно в формате шестнадцатеричного числа, состоящего из восьми символов. Кроме того, без заданного пароля доступа с ненулевым значением управление режимами доступа будет невозможно. В остальных блоках данных можно выбрать формат записи: либо шестнадцатеричное число, либо строку в кодировке ASCII. Подробнее о поддержке RFID в ZPL можно почитать в официальной документации. Этот объект для FastReport VCL — первый в своём роде. Но в будущем будут реализованы новые пресеты для этого объекта.
Читать