Reporting Lazarus

Универсальный LCL-набор компонентов с исходными кодами для генерации отчетов и документов на Lazarus для Linux и Windows

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

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

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

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

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

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

Reporting Lazarus - это бэнд-ориентированный генератор отчетов. Богатый набор бэндов позволяет строить отчеты любого типа: список, master-detail, отчет с группировкой, многоколоночный, master-detail-detail и другие. Если вам нужно создать много отчетов, которые содержат одинаковые элементы (заголовок, подвал, реквизиты предприятия, логотипы), то вы можете собрать общие элементы в базовый отчет и наследовать от него все остальные отчеты. Также мы поддерживаем функцию вложенных отчетов.

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

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

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

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

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

Предпросмотр и печать

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

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

Предпросмотр и печать

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

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

Reporting Lazarus позволяет быстро преобразовывать отчеты с редактируемыми полями (такими как текстовые поля, символьные расчески, флажки, радиогруппы и графические поля) в документы PDF без подключения дополнительных библиотек. Сохраняйте свои отчеты в популярных форматах: PDF 1.4-1.7, PDF/A-1a, PDF/A-1b, PDF/A-2a, PDF/A-2b, PDF/A-3a, PDF/A-3b, которые являются безопасными, доступными и надежными.

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

Ultimate VCL

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

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

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

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

28 октября 2024

Как настроить WSL 2 для работы с FastReport и FastCube

Разработчики программного обеспечения давно задумывались о том «Как можно было бы запускать Linux-приложения непосредственно в Windows, без необходимости использования отдельной виртуальной машины». Технология WSL может дать ответ на этот вопрос. История WSL началась в 2016 году. На тот момент был реализован запуск бинарных исполняемых файлов Linux используя системные вызовы в ядре Windows. Также в первой версии была эмуляция ядра Linux через прослойку для трансляции системных вызовов. Вторая версия WSL выпущена в 2019 году. В ней реализована полная совместимость с системными вызовами, полнофункциональное ядро Linux, поддержка GPU и Linux-приложений с графическим интерфейсом пользователя. В этой статье попробуем вместе разобраться, как настроить WSL 2 для работы с компонентами FastReport и FastCube в Lazarus для Linux.     Установка и настройка Ubuntu 24.04 в WSL 2 Запускаем командную строку Windows от имени администратора. Для вывода списка всех доступных дистрибутивов Linux вам необходимо в командной строке Windows ввести команду и нажать клавишу Enter: wsl --list --online или wsl -l -o Для установки Ubuntu 24.04 выполняем следующую команду: wsl --install -d Ubuntu-24.04 После установки дистрибутива будет предложено создать учетную запись пользователя и пароль. Для инсталляции Ubuntu 24.04 необходимо выполнить всего лишь несколько команд. Терминал Ubuntu 24.04 доступен из меню «Пуск» Windows после установки дистрибутива. Запустить ядро Linux и войти в терминал Ubuntu 24.04 можно также командой из командной строки Windows: wsl -d Ubuntu-24.04 После установки Ubuntu 24.04 необходимо выполнить обновление пакетов. Для обновления установленных пакетов выполним следующие команды в терминале Ubuntu 24.04: $ sudo apt update && sudo apt upgrade && sudo apt dist-upgrade Вводим пароль пользователя и нажимаем клавишу Enter. Дождемся запроса на согласие обновления пакетов. Вводим Y и подтверждаем нажатием Enter. Для установки русской локализации выполняем следующие команды в терминале Ubuntu 24.04: $ sudo apt-get install language-pack-ru && sudo apt-get install language-pack-gnome-ru Для обновления локали нужно выполнить команду: $ sudo update-locale LANG=ru_RU.UTF-8 Для установки Nautilus выполняем эту команду в терминале, а затем вводим следующую команду для непосредственного запуска Nautilus. $ sudo apt install nautilus -y $ nautilus После установки файловый менеджер Nautilus доступен из меню «Пуск» Windows.      Установка и настройка ALT Linux 11 Starterkit в WSL 2 Подсистема WSL 2 позволяет использовать любой дистрибутив Linux, импортируя его из tar-файла. Запустим командную строку Windows от имени администратора. Выполним команду, чтобы скачать rootfs-образ ALT Linux в корень диска C\: curl -o C:\alt-p11-rootfs-systemd-x86_64.tar.xz https://ftp.altlinux.org/pub/distributions/ALTLinux/p11/images/cloud/x86_64/alt-p11-rootfs-systemd-x86_64.tar.xz Для импорта дистрибутива в WSL 2 необходимо выполнить команду в командной строке Windows: wsl --import ALTLinux-11 C:\ALTLinux-11 C:\alt-p11-rootfs-systemd-x86_64.tar.xz После импорта файл образа жесткого диска с Linux будет расположен в C:\ALTLinux-11\ext4.vhdx. В командой строке Windows выполним команду чтобы вывести список всех зарегистрированных дистрибутивов. А после запускаем только что импортированный дистрибутив ALTLinux-11 wsl -l -v wsl -d ALTLinux-11 После запуска ALT Linux, откроется терминал. В конфигурационном WSL файле для данного дистрибутива нужно разрешить использование systemd: # echo -e "[boot]\nsystemd=true\n" > /etc/wsl.conf Для того чтобы заработал systemd нужно остановить и заново запустить дистрибутив. Для этого воспользуемся следующими командами: # exit wsl -t ALTLinux-11 wsl -d ALTLinux-11 Чтобы русифицировать локализацию выполните эту команду в терминале: # echo -e "LANG=ru_RU.UTF-8" > /etc/default/locale Для обновления пакетов вам необходимо выполнить следующую команду, затем дождаться запроса на согласие обновления пакетов. Вводим Y и подтверждаем нажатием Enter. # apt-get update && apt-get dist-upgrade Для корректного отображения шрифтов необходимо установить пакет: # apt-get install fonts-ttf-ms Чтобы установить и запустить Lazarus вам необходимо скачать утилиту командной строки make, затем установить Free Pascal компилятор и Lazarus IDE: # apt-get install make # apt-get install fpc && apt-get install fpc-src # apt-get install lazarus Установка завершена. Для запуска Lazarus выполним команду: # startlazarus     Установка FastReport для разработки приложений в ALT Linux Прежде чем начать установку компонентов FastReport и FastCube необходимо скачать установочные пакеты. В терминале ALTLinux-11 выполняем команду для установки wget, затем подтверждаем свои действия введя Y и нажав Enter. # apt-get install wget Скачиваем Trial версии пакетов FastReport и FastCube: # wget https://xn--90aia9aifhdb2cxbdg.xn--p1ai/public_download/fr.vcl/fast_report-trial.rpm # wget https://xn--90aia9aifhdb2cxbdg.xn--p1ai/public_download/fr.vcl/fast_cube-trial.rpm Для установки FastReport выполним команду в терминале: # apt-get install ./fast_report*.rpm Перед установкой пакетов FastReport необходимо скомпилировать пакеты, которые входят в поставку Lazarus и установить дополнительные библиотеки: # lazbuild --build-ide= --add-package /usr/lib64/lazarus/components/tachart/print/tachartprint.lpk # lazbuild --build-ide= --add-package /usr/lib64/lazarus/components/tachart/tachartlazaruspkg.lpk # apt-get install sqlite3 libsqlite3-devel После чего последовательно выполним следующие команды для компиляции пакетов FastReport: # lazbuild --build-ide= --add-package /usr/share/FastReport*/Lpks/fs_lazarus.lpk # lazbuild --build-ide= --add-package /usr/share/FastReport*/Lpks/fr_lazarus.lpk # lazbuild --build-ide= --add-package /usr/share/FastReport*/Lpks/frxe_lazarus.lpk # lazbuild --build-ide= --add-package /usr/share/FastReport*/Lpks/frCS_lazarus.lpk # lazbuild --build-ide= --add-package /usr/share/FastReport*/Lpks/frxchartlazarus.lpk # lazbuild --build-ide= --add-package /usr/share/FastReport*/Lpks/frxlazdbf.lpk # lazbuild --build-ide= --add-package /usr/share/FastReport*/Lpks/frxSmartMemo_Laz.lpk # lazbuild --build-ide= --add-package /usr/share/FastReport*/Lpks/fqb*.lpk # lazbuild --build-ide= --add-package /usr/share/FastReport*/Lpks/frxlazsqlite.lpk # lazbuild --build-ide= --add-package /usr/share/FastReport*/Lpks/frxPDFlazarus.lpk # lazbuild --build-ide= --add-package /usr/share/FastReport*/Lpks/frLanguageRussianPkg.lpk      Установка FastCube для разработки приложений в ALT Linux Теперь переходим к установке FastCube. Выполните следующую команду в терминале: # apt-get install ./fast_cube*.rpm После чего последовательно выполняйте следующие команды для компиляции пакетов FastCube: # lazbuild --build-ide= --add-package /usr/share/FastCube*/Lpks/fcxScript.lpk # lazbuild --build-ide= --add-package /usr/share/FastCube*/Lpks/fcxLazarus.lpk # lazbuild --build-ide= --add-package /usr/share/FastCube*/Lpks/fcxCharting.lpk # lazbuild --build-ide= --add-package /usr/share/FastCube*/Lpks/fcxprint.lpk # lazbuild --build-ide= --add-package /usr/share/FastCube*/Lpks/fcxprintTee.lpk # lazbuild --build-ide= --add-package /usr/share/FastCube*/Lpks/fcxexport.lpk # lazbuild --build-ide= --add-package /usr/share/FastCube*/Lpks/frLanguageRussianPkg.lpk     Компиляция и запуск FastReport Demo в Lazarus На этом установка FastReport и FastCube завершена. Наконец можно попробовать скомпилировать и запустить FastReport Demo. Для запуска Lazarus выполняем команду в терминале: # startlazarus --skip-last-project В главном меню Lazarus открываем пункт меню «Проект» -> «Открыть проект…». В диалоговом окне выбираем проект: /usr/share/FastReport - Trial/Demos/FPC/FastReport/FastReportDemo.lpi После открытия проекта нажимаем клавишу F9 для компиляции и запуска. На этом подробная настройка WSL 2 для работы с компонентами FastReport и FastCube в Lazarus для Linux завершена. По всем вопросам обращайтесь в нашу техническую поддержку support@fastreport.ru. Приятного использования!
Читать
11 декабря 2023

Новый транспорт S3 (Amazon) в FastReport VCL

В этой статье мы рассмотрим новый транспорт S3. Функционально S3 сильно отличается от того, с чем большинство привыкли работать, поэтому в начале статьи подробно рассмотрим его основные особенности. Важно! Для работы протокола https необходимы следующие библиотеки Open SSL: libssl-3.dll и libcrypto-3.dll их можно найти в директории с главным демо приложением. Библиотеки необходимо скопировать в папку с приложением или системную директорию. А что это такое? S3 – это не файловое хранилище как Dropbox, Google Drive, Mega и другие. S3 является объектным хранилищем. И в первую очередь нам нужно понять разницу между этими двумя понятиями. Файловое хранилище имеет привычную иерархическую (древовидную) структуру. То есть всем знакомые каталоги (папки), в которых хранятся другие каталоги и файлы. Объектные хранилища появились относительно недавно (самому старому сейчас около 20 лет). Они незначительно отличаются в своих реализациях, поэтому большинство особенностей будут общими, но будут и такие которые применимы только к S3. Все объектные хранилища “плоские”, то есть не имеют иерархической структуры, хотя и могут ее “имитировать”. Первой сущностью, с которой вы столкнетесь, начиная работать с S3 будет Бакет (Bucket). Ближайшая аналогия это «Map» во многих языках программирования, где по ключу запрашиваются данные. Бакет может хранить внутри себя только файлы, но не другие бакеты. Давайте представим бакет более наглядно. Бакет Ключ Данные video.mp4 Данные text_file.txt Данные code.pas Данные По ключу вы можете получить соответствующие ему метаданные и сами интерпретировать их так как вам требуется. Гораздо интереснее это имитация иерархической структуры папок в такой системе. Бакет Ключ Данные video.mp4 Данные folder1\text_file.txt Данные folder1\video.mp4 Данные folder1\folder1_1\video.mp4 Данные folder2\text_file.txt Данные folder1\ Пусто folder1\folder1_1\ Пусто folder2\ Пусто Некие «Папки» являются все теми же объектами что и файлы. В другой цвет они окрашены просто для наглядности. А также имеется одна отличительная особенность, в конце ключа стоит слеш (\). Зачастую такие «папки» не имеют данных (хотя и могут иметь). Чтобы посмотреть, что находится в “папке” folder1 нам нужно сделать фильтрацию по началу ключа “folder1\”. Но куда интереснее удаление “папок”. Если мы в Web-GUI попытаемся удалить “папку” folder1, то некоторые сервисы сделают это, но оставшиеся нам выдадут ошибку “невозможно удалить непустую папку”. Если мы по API удалим одну запись по ключу “folder1\”, то большинство GUI перестанет отрисовывать данную “папку”. А также мы не сможем в нее зайти, но фактически файлы внутри этой «папки» никуда не денутся. Как только мы создадим после этого “папку” folder1, то она уже будет содержать в себе забытые нами файлы. У самого ключа очень мало ограничений и он, например может быть таким: “////”. И это будут “папки” с пустыми именами. Чем объектные хранилища лучше файловых? 1. Объектные хранилища существенно дешевле. Каждый объект не привязан к конкретному устройству, поэтому объектные хранилища легко расширяются под требуемый объем. Вы можете довольно просто арендовать объектное хранилище на петабайт (около 1000000 гигабайт). 2. У объектных хранилищ очень быстрый поиск. Но естественно лучше всего объектные хранилища использовать для неструктурированных (не древовидных) данных. Новая система аутентификации Все прошлые транспорты работали по OAuth 2 протоколу. S3 в теории может работать и по OAuth 2, но в его API встроена своя система аутентификации. OAuth 2 с помощью Client ID и Secret ID получал токен, который жил определённое количество времени и мог подписывать любые запросы. Внутренняя аутентификация S3 с помощью тех же Client ID и Secret ID на каждую операцию создаёт новый одноразовый токен с помощью SHA256HMAC на основе около 30 переменных (включая время создания токена, требуемую операцию и так далее). Сервер лишь проверяет правильность генерации токена и если принятый сервером токен совпадает с тем который сгенерировал сам сервер, то операция совершается. После этого токен больше нельзя использовать. AWS S3 Хотя транспорт и называется “TfrxS3IOTransport”, явно ссылаясь на AWS S3 (Amazon Simple Storage Service), но их API скопировали многие объектные хранилища (которые можно условно называть S3 подобными), поэтому данный транспорт позволяет работать не только с сервисом от Амазона. Добавление транспорта в приложение и его настройка В самом начале вам нужно добавить соответствующий компонент из вкладки “FastReport VCL Internet transports”.   Можно использовать контекстное меню на компоненте. Это установит подключение прямо из среды разработки. Нажимаем на подменю “Edit connection”.   Диалог подключения S3 Когда вам необходимо открыть или сохранить в файл с помощью транспорта, то вам будет доступен следующий стандартный диалог авторизации (если не было авторизации ранее). Рассмотрим все уникальные поля данной формы: Server URL - URL адрес используемый в API. Чтобы узнать URL адрес нужно читать документацию, для AWS S3 он по умолчанию должен быть “s3.amazonaws.com”. Client ID - публичный ключ для авторизации (часто называется Access Key). Secret ID - секретный ключ для авторизации (часто называется Secret Access Key). Region - необходимо читать документацию для возможных значений региона. Иногда встречаются необычные требования, например в AWS S3 запросить список бакетов можно только с регионом “us-east-1”. Bucket - чтобы каждый раз не выбирать бакет вручную его можно указать в этом поле, иногда для бакетов характерен конкретный регион. Bucket style - Есть 2 вида указания бакета: path style (aws.s3.com/bucket) и virtual hosted style (bucket.aws.s3.com). «Path style» является устаревшим, потому что через определенный DNS может быть множество обращений к разным бакетам, что может создать дополнительную нагрузку. Некоторые сервисы поддерживают оба вида, некоторые только один, а некоторые настраиваются под разные ситуации. Об этом можете почитать по следующей ссылке. При удачном подключении вы увидите стандартный браузер файлов FastReport VCL (на скриншоте ниже изображен список файлов внутри бакета). На этом настройка подключения успешно окончена. Теперь вы знаете, как подключаться к S3 в FastReport VCL. Осталось только отметить последние нюансы нашей реализации. Наша команда не реализовала создание и удаление бакетов. Пока визуально бакеты ничем не отличаются от папок (на нашей первой версии GUI), так как это было бы слишком опасно. Также пока не реализовано удаление папки вместе с содержимым. А также отсутствует загрузка файла по частям (рекомендуется при размере файла от 100 мегабайт). Данный транспорт имеет множество деталей и тонкостей при настройке, но в отдельных случаях он станет оптимальной заменой файловых хранилищ.
Читать
26 сентября 2023

Новый транспорт NextCloud в FastReport VCL

Более 5 лет назад мы добавили новые специальные компоненты – «Транспорты». Они помогают сохранять построенные отчёты в облако, а также использовать находящиеся в облаке файлы (например, картинки) для построения отчётов. С релизом 2023.3 к восьми существующем транспортам мы добавили девятый, отвечающий за работу с NextCloud. Больше статей о подключении транспортов вы можете найти по следующей ссылке. В этой статье будут рассмотрены настройки для NextCloud с разбором некоторых особенностей. Если вы уже работали с нашими транспортами, то можете переходить сразу на главу с настройкой подключения. Важно! Для работы протокола https необходимы следующие библиотеки Open SSL: libssl-3.dll и libcrypto-3.dll их можно найти в директории с главным демо приложением. Библиотеки необходимо скопировать в папку с приложением или системную директорию. Добавление транспорта в приложение и его настройка Первым шагом, как и с другими транспортами, вам нужно добавить соответствующий компонент из вкладки “FastReport VCL Internet transports”. Можно использовать контекстное меню на компоненте. Это установит подключение прямо из среды разработки. Нажимаем на подменю “Edit connection”. По умолчанию транспорты реагируют только на ответ авторизации от браузера используя порт 9898. Если этот порт уже занят или планируется использовать данный порт в дальнейшем, то FastReport VCL позволяет изменить порт в свойстве ListenerPort. Далее будем предполагать использование порта 9898 по умолчанию. Важно! Пользователю не нужно выполнять все нижеперечисленные действия каждый раз, для авторизации. Данная настройка выполняется только один раз администратором облачных сервисов. После выполнения всех действий полученные авторизационные данные могут быть использованы другими пользователями. Подключение к NextCloud Когда вам необходимо открыть или сохранить в файл с помощью транспорта, то вам будет доступен следующий стандартный диалог авторизации (если не было авторизации ранее). Кнопка со знаком вопроса отправит вас на страницу документации NextCloud. Для начала на своем сервере надо создать OAuth-клиента. Откройте NextCloud в браузере и нажмите на кнопку профиля. Затем в выпадающем списке нажмите на “Settings”.  В меню настроек выберите пункт “Security”. Введите имя клиента, а в поле «Redirection URI» укажите «http://localhost:9898», после чего нажмите кнопку “Add”. Обратите внимание, что порт должен соответствовать порту, указанному в свойстве ListenerPort у компонента транспорта. На этом этапе вы увидите, что приложение успешно создано. Скопируйте поля “Client Identifier” и “Secret” как на скриншоте ниже. И вставьте скопированные данные в соответствующие поля ввода, которые требуются в диалоговом окне авторизации FastReport VCL. Нажмите “OK”. У вас должно открыться новое окно в браузере, который установлен по умолчанию. На экране высветится предложение авторизации. После авторизации будет отображаться предложение поделиться доступом с приложением. После чего окно браузера можно закрыть. При удачном подключении вы увидите стандартный браузер файлов FastReport VCL. Осталось только проверить загруженный файл в NextCloud. На этом настройка подключения успешно окончена. Теперь вы знаете, как подключаться к NextCloud в FastReport VCL. Если у вас есть Linux, то вы можете протестировать новый транспорт нигде не регистрируясь, а развернув сервер NextCloud на своей машине.
Читать