Виды решений для создания отчетов и документов

FastReport .NET

Наборы компонентов, позволяющие автоматизировать и упростить процесс создания отчетов и документов на C# для различных технологий.

FastReport VCL

Наборы VCL, FMX и Lazarus компонентов с полными исходными кодами для создания отчётов и документов на Delphi/Pascal.

WEB отчетность

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

Решения для конечных пользователей

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

OLAP и Business Graphics

Инструменты представления и аналитической обработки больших данных для получения сводных таблиц с последующей визуализацией на основе Business Graphics.

Сервисные решения

Готовые сервисы и клиент-серверные системы для быстрой визуализации данных и автоматического выполнения задач для обработки информации.

Новости

17 апреля 2025

Импорт документов из Word уже доступен в FastReport .NET Ultimate

С релизом 2025.2 подписка на Ultimate .NET стала еще выгодней! Все владельцы лицензии получили дополнительный плагин, который позволяет импортировать документы Microsoft Word (.docx). При открытии такого файла он преобразуется в шаблон отчета FastReport .NET (.frx). Стоимость подписки на Ultimate .NET осталась прежней. Ввиду больших отличий в форматах полное соответствие двух документов не всегда возможно. Однако, данный плагин позволяет значительно сократить время создания шаблона на основе существующего docx-файла. На данный момент наш плагин не поддерживает: подсветку фона части строки, шейпы (Shapes), а также вложенную векторную графику Vector Markup Language (VML) и OLE объекты.  Чтобы уже сейчас начать использовать этот плагин в своём бизнес-решении обновите свою лицензию до версии 2025.2 в личном кабинете. Затем по инструкции ниже зарегистрируйте dll в FastReport, либо подключите nuget пакет FastReport.Plugins.OOXMLImport. Об особенностях работы импорта и как подключить плагин, можно прочитать в статье. Читать статью  
Читать
14 апреля 2025

Скидка 50% на продление лицензии FastReport Single — только до 30 апреля!

Отличные новости для владельцев FastReport VCL и FastReport .NET лицензии Single! Только до 30 апреля вы можете продлить свою лицензию с внушительной скидкой 50%. Это отличный повод снова получить доступ ко всем свежим обновлениям, улучшениям и технической поддержке. К тому же, вы экономите значительную сумму — от 20 000 рублей!     Почему это важно: Снова с нами — продолжайте использовать FastReport с максимальной эффективностью. Никаких рисков — продление гарантирует корректную работу и безопасность. Максимум пользы — оставайтесь в курсе всех новых функций и улучшений.   Не откладывайте на потом — специальное предложение действует всего несколько недель! Напишите нам на sales@fastreport.ru, чтобы воспользоваться им.
Читать

Статьи

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 — первый в своём роде. Но в будущем будут реализованы новые пресеты для этого объекта.
Читать
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 постоянно пополняется, что делает этот инструмент ещё более привлекательным для разработчиков.
Читать

Популярные вопросы

Зачем нужны генераторы отчетов и OLAP-инструменты аналитики?

Что делает компания ООО "Быстрые отчеты"?

Что такое генератор отчетов?

Нам доверяют