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)

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

20 ноября 2024

Локализация и смена языков в FastReport VCL

В современном мире большое значение имеет возможность поставки своего программного обеспечения заказчикам по всему миру. Поэтому FastReport VCL поддерживает около 40 самых распространённых языков мира для локализации пользовательского интерфейса. В FastReport VCL начиная с версии 2023.2 был значительно улучшен механизм локализации – теперь для перевода FastReport на другие языки – больше не требуется перекомпиляция. Пакет локализации имеется во всех комплектах поставки FastReport VCL. Локализация осуществляется «на лету», путем выбора необходимого языка в Дизайнере отчетов в меню «Вид – Язык». Более того вы можете управлять языком интерфейса FastReport VCL прямо из кода!     Проверка и установка пакетов локализации Для корректной работы локализации необходимо, чтобы в IDE были установлены пакеты локализации (frxLanguageXXX) и пакет контроллера локализации (frLocalization). В операционной системе Windows для IDE Delphi и Lazarus пакеты локализации устанавливаются автоматически. Если меню локализации недоступно, то необходимо проверить установлены ли эти пакеты в IDE. В Delphi вы увидите следующее окно: Меню локализации в Lazarus выглядит следующим образом: Если какие-то из пакетов переводов не требуются, то их можно удалить из среды разработки.     Работа с TfrLocalizationController и выбор языка Как уже упоминалось выше, смена языка FastReport в дизайнере отчетов осуществляется очень просто. Перейдите в меню «Вид – Языки» и выберите нужный язык.  Для подключения локализации FastReport к программе необходимо воспользоваться компонентом TfrLocalizationController. Достаточно положить его на главную форму приложения. Далее, для Delphi необходимо щелкнуть по компоненту правой кнопкой мыши, затем в выпавшем меню выбрать язык, поддержку которого FastReport нужно добавить в вашу программу: После этого необходимо у компонента TfrLocalizationController выбрать язык, который будет загружен по умолчанию при старте приложения. Можно также добавить в uses главной формы модуль, содержащий необходимую локализацию. Следует отметить, что по умолчанию в FastReport VCL используется английский язык, поэтому если вам нужен только он, ничего делать не нужно. Для подключения локализации в Lazarus необходимо в проект добавить языковой пакет, а затем добавить модуль для этого языка.     Смена языка из кода В некоторых ситуациях может потребоваться управлять локализацией FastReport VCL из кода программы. Это делается следующим образом:  frLocalizationController.Language := ‘German’; Данный код устанавливает немецкий язык. Не забудьте, что ваша программа должна быть скомпилирована с языковым пакетом, на который вам надо переключиться. Узнать с какими пакетами языков скомпилирована программа можно с помощью кода ниже. Для этого необходимо подключить модуль Types, положить на форму компоненты TButton и TMemo, а в обработчике Buttom.OnClick написать: procedure TForm1.Button1Click(Sender: TObject);var D:TStringDynArray;        I: Integer;begin  Memo1.Lines.Add('Default Lang: '+TfrAvailableLanguagesController.GetDefaultLanguageName);  Memo1.Lines.Add('Current Lng: '+frLocalizationController1.Language);  Memo1.Lines.Add('Suppotred languages:');  D:=TfrAvailableLanguagesController.GetLanguages;  for I:=Low(D) to High(D) do begin    Memo1.Lines.Add(D[I]);  End;end;  Обратите внимание, что английский язык не включен в список поддерживаемых языков, но он всегда доступен по умолчанию.     Редактирование локализации через Localizer Вызвать редактор Локализации можно следующим образом: в IDE Delphi меню «Tools… - Localization Editor…» в Lazarus меню «Сервис - Localization Editor…» Вы можете вызывать «Редактор локализации» из своей программы с помощью кода ниже. Однако данный способ доступен не во всех версиях.   frLocalizationController1.ShowLocalizationEditor; Назначение элементов управления в редакторе локализации: открыть файл *.xml с переводом сохранить файл *.xml с переводом сохранить файл перевода с заданным именем отменить последнее действие выполнить отмененное действие задать язык перевода отфильтровать записи по маске очистить фильтр показывать только переведенные записи показывать только непереведенные записи «Редактор локализации» позволяет построчно переводить ресурсы FastReport VCL на различные языки. По центу редактора расположена сетка с переводимыми значениями.  Первая колонка – идентификатор элемента, который подлежит переводу. Это всегда строка несмотря на то, что в отдельных строках располагаются и числа, так как используется их строковое представление.  Вторая колонка – оригинальное значение элемента на английском языке.  Третья колонка – переведенное значение элемента для другого языка. Перейдём к принципу работы редактора локализации. При загрузке редактор проверяет какие локализации доступны приложению, в которое он встроен. Затем редактор заполняет список доступных языков (комбобокс для ввода языка перевода). Текущая установленная локализация является активной для редактирования. Вы можете выбрать и отредактировать перевод для любого из доступных языков и сохранить его в XML файл. Если у вас уже имеется XML файл с переводами, то его можно загрузить для редактирования. В редакторе локализации можно переключаться между режимами отображения. Например, показать только те элементы, у которых перевод совпадает с оригиналом на английском языке. Либо наоборот оставить только элементы, перевод которых отличается от английской версии. Но следует учитывать, что не все элементы нужно переводить.  К записям в сетке можно применить фильтр. Элемент сетки отображается только если значение фильтра содержится в любой колонке. Также вы можете отсортировать сетку в прямом и в обратном алфавитном порядке, щелкнув на заголовок любой колонки. Если вы изменили файл перевода, то его можно подключить в программу вместо стандартного. Для этого в операторе uses вам необходимо подключить модуль frResources используя следующий код:   frStringResources.LoadFromFile('mylanguage.xml'); Мы рекомендуем после редактирования файлов перезагрузить ваше приложение для корректного отображения всех переведенных ресурсов. Также следует учесть, что загруженный перевод сразу становится активным, но работает до первого переключения языка. Далее при переключении на этот же язык повторно, локализация берется из подключенных к программе ресурсов. Помимо этого, мы можете самостоятельно скомпилировать ресурс с файлом перевода. Поместите его в каталог с соответствующим модулем языка и используйте в программе. Чтобы этот перевод появился в IDE запустите установщик и выберете режим Recompile. Или просто перекомпилируйте пакет нужного вам языка. В Lazarus после этого вам потребуется пересобрать IDE, в Delphi – перезагрузить среду. Если вы хотите, чтобы ваш перевод не терялся после каждого обновления, то вы можете отправить файл локализации нам на support@fastreport.ru. Мы проверим полученный файл и добавим его в инсталлятор.
Читать
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 мегабайт). Данный транспорт имеет множество деталей и тонкостей при настройке, но в отдельных случаях он станет оптимальной заменой файловых хранилищ.
Читать