Fastreport frx чем открыть
Сегодня устанавливал FastRepor. И решил выложить официальную документацию по установке у себя на блоге.
I. Введение
II. Ручная установка пакетов FastReport
III. Компиляция пакетов FastReport Basic Edition и Standard Edition
IV. Компиляция пакетов FastReport Professional Edition и Enterprise Edition
------------------------------------------------------------------------
I. Введение
FastReport поставляется с откомпилированными файлами *.dcu, *.bpl, *.dcp. Программа установки копирует runtime пакеты в системную папку и устанавливает остальные пакеты в Delphi. Вам ничего не нужно устанавливать вручную. Тем не менее, если вы изменили исходники FR, поменяли языковые ресурсы,или имеете другую версию TeeChart, IBX или прочих компонент Delphi, вы должны перекомпилировать пакеты FR.
FastReport состоит из нескольких пакетов, разделенных на runtime и design-time части. Design-time пакеты имеют префикс 'dcl' в имени пакета. Каждый пакет имеет номер, соответствующий версии Delphi. Например, пакет dclfrx4.dpk - это design-time пакет для Delphi4. Ниже приведен список run-time пакетов, используемых FastReport ('*' означает версию Delphi):
fs*.dpk - FastScript, основной пакет
fsDB*.dpk - FastScript, DB классы и контролы
fsBDE*.dpk - FastScript, BDE компоненты
fsADO*.dpk - FastScript, ADO компоненты
fsIBX*.dpk - FastScript, IBX компоненты
fsTee*.dpk - FastScript, Tee компоненты
frx*.dpk - FastReport, основной пакет
frxDB*.dpk - FastReport, обертка над TDataSet (TfrxDBDataSet)
frxIBO*.dpk - FastReport, обертка над IB_Objects (TfrxIBODataSet)
frxBDE*.dpk - FastReport, BDE компоненты
frxADO*.dpk - FastReport, ADO компоненты
frxIBX*.dpk - FastReport, IBX компоненты
frxDBX*.dpk - FastReport, DBX компоненты
frxTee*.dpk - FastReport, Tee компоненты
frxe*.dpk - FastReport, фильтры экспорта
dclfs*.dpk
dclfsDB*.dpk
dclfsBDE*.dpk
dclfsADO*.dpk
dclfsIBX*.dpk
dclfsTee*.dpk
dclfrx*.dpk
dclfrxDB*.dpk
dclfrxIBO*.dpk
dclfrxBDE*.dpk
dclfrxADO*.dpk
dclfrxIBX*.dpk
dclfrxDBX*.dpk
dclfrxTee*.dpk
dclfrxe*.dpk
Выполните следующие действия для ручной установки пакетов FastReport, входящих в стандартную поставку.
Шаг 1. Копирование run-time пакетов в системную папку
- закройте Delphi
- скопируйте \Lib\fs*.bpl файл (* = версия Delphi) в Windows\System32
(Windows\System для Windows 95/98/ME)
- скопируйте \Lib\fsDB*.bpl файл в Windows\System32
- скопируйте \Lib\fsBDE*.bpl файл в Windows\System32
- скопируйте \Lib\fsADO*.bpl файл в Windows\System32
- скопируйте \Lib\fsIBX*.bpl файл в Windows\System32
- скопируйте \Lib\fsTee*.bpl файл в Windows\System32
- скопируйте \Lib\frx*.bpl файл в Windows\System32
- скопируйте \Lib\frxDB*.bpl файл в Windows\System32
- скопируйте \Lib\frxBDE*.bpl файл в Windows\System32
- скопируйте \Lib\frxADO*.bpl файл в Windows\System32
- скопируйте \Lib\frxIBX*.bpl файл в Windows\System32
- скопируйте \Lib\frxDBX*.bpl файл в Windows\System32
- скопируйте \Lib\frxTee*.bpl файл в Windows\System32
- скопируйте \Lib\frxe*.bpl файл в Windows\System32
Шаг 2. Установка design-time пакетов
- в Delphi IDE, выберите "Component|Install Packages. "
- нажмите кнопку "Add. " и выберите файл \Lib\dclfs*.bpl (* = версия Delphi)
- нажмите кнопку "Add. " и выберите файл \Lib\dclfsDB*.bpl
- нажмите кнопку "Add. " и выберите файл \Lib\dclfsBDE*.bpl
- нажмите кнопку "Add. " и выберите файл \Lib\dclfsADO*.bpl (D5+)
- нажмите кнопку "Add. " и выберите файл \Lib\dclfsIBX*.bpl (D5+)
- нажмите кнопку "Add. " и выберите файл \Lib\dclfsTee*.bpl
- нажмите кнопку "Add. " и выберите файл \Lib\dclfrx*.bpl
- нажмите кнопку "Add. " и выберите файл \Lib\dclfrxDB*.bpl
- нажмите кнопку "Add. " и выберите файл \Lib\dclfrxBDE*.bpl
- нажмите кнопку "Add. " и выберите файл \Lib\dclfrxADO*.bpl (D5+)
- нажмите кнопку "Add. " и выберите файл \Lib\dclfrxIBX*.bpl (D5+)
- нажмите кнопку "Add. " и выберите файл \Lib\dclfrxDBX*.bpl (D6+)
- нажмите кнопку "Add. " и выберите файл \Lib\dclfrxTee*.bpl
- нажмите кнопку "Add. " и выберите файл \Lib\dclfrxe*.bpl
Шаг 3. Добавление путей
- в Delphi IDE, выберите "Tools|Environmet options. "
- переключитесь на закладку "Library", строка ввода "Library path"
- добавьте путь к папке "FastReport 4\Lib"
Выполните следующие действия для компиляции пакетов FastReport (при внесении изменений в исходный код и др.)
Шаг 0 (только для FastReport Basic Edition)
- откройте файл FastReport 4\Lib\frx.inc и раскомментируйте строку:
Шаг 1. Добавление путей
1.1. в Delphi IDE, выберите "Tools|Environmet options. "
1.2. переключитесь на закладку "Library", строка ввода "Library path"
1.3. добавьте путь к папке FastReport 4\Lib
Шаг 2. Компиляция run-time пакетов
2.1. повторите шаги 2.2-2.4 для следующих пакетов:
- FastReport 4\Lib\fs*.dpk (* = версия Delphi)
- FastReport 4\Lib\fsDB*.dpk
- FastReport 4\Lib\fsBDE*.dpk
- FastReport 4\Lib\fsADO*.dpk
- FastReport 4\Lib\fsIBX*.dpk
- FastReport 4\Lib\fsTee*.dpk
- FastReport 4\Lib\frx*.dpk
- FastReport 4\Lib\frxDB*.dpk
- FastReport 4\Lib\frxADO*.dpk (FR3 Std)
- FastReport 4\Lib\frxBDE*.dpk (FR3 Std)
- FastReport 4\Lib\frxIBX*.dpk (FR3 Std)
- FastReport 4\Lib\frxDBX*.dpk (FR3 Std)
- FastReport 4\Lib\frxTee*.dpk
- FastReport 4\Lib\frxe*.dpk
2.2. откройте пакет (с помощью команды меню "File|Open project. ", выберите "Delphi package (*.dpk)" в качестве типа файла)
2.3. нажмите кнопку "Compile"
2.4. закройте диалог "Package"
Шаг 3. Копирование run-time пакетов в системную папку
3.1. скопируйте следующие файлы из папки Delphi_dir\Projects\Bpl
в папку Windows\System32 (Windows\System для Win9x/Me):
- fs*.bpl (* = версия Delphi)
- fsDB*.bpl
- fsBDE*.bpl
- fsADO*.bpl
- fsIBX*.bpl
- fsTee*.bpl
- frx*.bpl
- frxDB*.bpl
- frxADO*.bpl (FR3 Std)
- frxBDE*.bpl (FR3 Std)
- frxIBX*.bpl (FR3 Std)
- frxDBX*.bpl (FR3 Std)
- frxTee*.bpl
- frxe*.bpl
3.2. замечание для пользователей Delphi4: файлы *.bpl находятся в папке
FastReport 4\Lib, а не в Delphi_dir\Projects\Bpl
Шаг 4. Компиляция и установка design-time пакетов
4.1. повторите шаги 4.2-4.5 для следующих пакетов:
- FastReport 4\Lib\dclfs*.dpk (* = версия Delphi)
- FastReport 4\Lib\dclfsDB*.dpk
- FastReport 4\Lib\dclfsBDE*.dpk
- FastReport 4\Lib\dclfsADO*.dpk
- FastReport 4\Lib\dclfsIBX*.dpk
- FastReport 4\Lib\dclfsTee*.dpk
- FastReport 4\Lib\dclfrx*.dpk
- FastReport 4\Lib\dclfrxDB*.dpk
- FastReport 4\Lib\dclfrxADO*.dpk (FR3 Std)
- FastReport 4\Lib\dclfrxBDE*.dpk (FR3 Std)
- FastReport 4\Lib\dclfrxIBX*.dpk (FR3 Std)
- FastReport 4\Lib\dclfrxDBX*.dpk (FR3 Std)
- FastReport 4\Lib\dclfrxTee*.dpk
- FastReport 4\Lib\dclfrxe*.dpk
4.2. откройте пакет (с помощью команды меню "File|Open project. ", выберите
"Delphi package (*.dpk)" в качестве типа файла)
4.3. нажмите кнопку "Compile"
4.4. нажмите кнопку "Install"
4.5. закройте диалог "Package", ответьте "NO" когда Delphi попросит сохранить изменения!
------------------------------------------------------------------------
IV. Компиляция пакетов FastReport Professional Edition и Enterprise Edition
Выполните следующие действия для компиляции исходного кода FastReport (при внесении изменений в исходный код и др.)
Шаг 1. Удаление путей к старым файлам
1.1. в Delphi IDE, выберите "Tools|Environmet options. "
1.2. переключитесь на закладку "Library", строка ввода "Library path"
1.3. удалите путь к папке FastReport 4\Lib
Шаг 2. Добавление путей
2.1. в Delphi IDE, выберите "Tools|Environmet options. "
2.2. переключитесь на закладку "Library", строка ввода "Library path"
2.3. добавьте путь к папкам FastReport 4\FastScript, FastReport 4\Source,
FastReport 4\Source\BDE,ADO,IBX,DBX, FastReport 4\Source\ExportPack
Шаг 3. Компиляция run-time пакетов
3.1. повторите шаги 3.2-3.4 для следующих пакетов:
- FastReport 4\FastScript\fs*.dpk (* = версия Delphi)
- FastReport 4\FastScript\fsDB*.dpk
- FastReport 4\FastScript\fsBDE*.dpk
- FastReport 4\FastScript\fsADO*.dpk
- FastReport 4\FastScript\fsIBX*.dpk
- FastReport 4\FastScript\fsTee*.dpk
- FastReport 4\Source\frx*.dpk
- FastReport 4\Source\frxDB*.dpk
- FastReport 4\Source\ADO\frxADO*.dpk
- FastReport 4\Source\BDE\frxBDE*.dpk
- FastReport 4\Source\IBX\frxIBX*.dpk
- FastReport 4\Source\DBX\frxDBX*.dpk
- FastReport 4\Source\frxTee*.dpk
- FastReport 4\Source\ExportPack\frxe*.dpk
3.2. откройте пакет (с помощью команды меню "File|Open project. ", выберите
"Delphi package (*.dpk)" в качестве типа файла)
3.3. нажмите кнопку "Compile"
3.4. закройте диалог "Package"
Шаг 4. Копирование run-time пакетов в системную папку
4.1. скопируйте следующие файлы из папки Delphi_dir\Projects\Bpl
в папку Windows\System32 (Windows\System для Win9x/Me):
- fs*.bpl (* = версия Delphi)
- fsDB*.bpl
- fsBDE*.bpl
- fsADO*.bpl
- fsIBX*.bpl
- fsTee*.bpl
- frx*.bpl
- frxDB*.bpl
- frxADO*.bpl
- frxBDE*.bpl
- frxIBX*.bpl
- frxDBX*.bpl
- frxTee*.bpl
- frxe*.bpl
4.2. замечание для пользователей Delphi4: файлы *.bpl находятся в папках с
исходниками, а не в Delphi_dir\Projects\Bpl:
FastReport 4\FastScript, FastReport 4\Source,
FastReport 4\Source\BDE,ADO,IBX,DBX, FastReport 4\Source\ExportPack
Шаг 5. Компиляция и установка design-time пакетов
5.1. повторите шаги 5.2-5.5 для следующих пакетов:
- FastReport 4\FastScript\dclfs*.dpk (* = версия Delphi)
- FastReport 4\FastScript\dclfsDB*.dpk
- FastReport 4\FastScript\dclfsBDE*.dpk
- FastReport 4\FastScript\dclfsADO*.dpk
- FastReport 4\FastScript\dclfsIBX*.dpk
- FastReport 4\FastScript\dclfsTee*.dpk
- FastReport 4\Source\dclfrx*.dpk
- FastReport 4\Source\dclfrxDB*.dpk
- FastReport 4\Source\ADO\dclfrxADO*.dpk
- FastReport 4\Source\BDE\dclfrxBDE*.dpk
- FastReport 4\Source\IBX\dclfrxIBX*.dpk
- FastReport 4\Source\DBX\dclfrxDBX*.dpk
- FastReport 4\Source\dclfrxTee*.dpk
- FastReport 4\Source\ExportPack\dclfrxe*.dpk
5.2. откройте пакет (с помощью команды меню "File|Open project. ", выберите
"Delphi package (*.dpk)" в качестве типа файла)
5.3. нажмите кнопку "Compile"
5.4. нажмите кнопку "Install"
5.5. закройте диалог "Package", ответьте "NO" когда Delphi попросит сохранить изменения!
Раздел Настройка отчетов позволяет пользователям средствами Creatio создавать отчеты и c помощью дизайнера отчетов FastReport выполнять их настройку.
Важно. Возможность настраивать пользовательские отчеты доступна в Creatio версии 7.15.3 и выше.
Чтобы открыть раздел Настройка отчетов ( Report setup ), выполните следующие действия:
Интерфейс раздела Настройка отчетов
Откроется раздел настройки отчетов, который содержит следующие элементы:
- Кнопка Закрыть ( Close ) — закрыть раздел настройки отчета.
- Кнопка Добавить отчет ( New report ) — выбрать тип отчета (FastReport или MS Word) для добавления.
- Кнопка Удалить ( Delete ) — удалить отчет. Появляется при выборе существующего отчета.
- Строка поиска Поиск ( Search ) — выполнить поиск отчета по его имени.
После выбора пункта FastReport откроется страница настройки отчетов, которая состоит из нескольких функциональных областей и содержит необходимые инструменты для создания и настройки отчета.
Панель инструментов
На панели инструментов (1) расположены следующие кнопки:
- Применить ( Apply ) — сохранить отчет.
- Отмена ( Cancel ) — закрыть настройку отчета без сохранения внесенных изменений.
Область настройки параметров отображения
Область настройки параметров отображения (2) включает в себя следующие элементы:
Стандартные фильтры реализованы в схеме страницы фильтрации SimpleReportFilterPage . После выбора отчета в выпадающем списке кнопки Отчеты ( Reports ) аналитики раздела появляется страница, на которой можно задать следующие параметры формирования отчета:
- По выделенным записям ( Selected records ).
- По отфильтрованным в разделе записям ( Filtered records in list ).
- По всем записям без учета фильтрации ( All records in list ).
Область справочной информации
В области справочной информации (3) содержится краткая инструкция по настройке отчетов.
Рабочая область
В рабочей области страницы настройки отчетов (4) осуществляется основная настройка отчета. Рабочая область включает в себя следующие элементы:
Управление доступом к разделу Настройка отчетов
По умолчанию доступ к основным системным операциям есть только у администраторов системы. Но его можно настроить для определенных пользователей или групп пользователей. Чтобы предоставить доступ к разделу Настройка отчетов ( Report setup ), выполните следующие действия:
- Перейдите в дизайнер системы по кнопке . В блоке Пользователи и администрирование ( Users and administration ) перейдите по ссылке Права доступа на операции ( Operation permissions ).
- Выберите системную операцию Доступ к разделу "Настройка отчетов" ( Access to "Report setup" section ) (код CanManageReports ).
- На детали Доступ к операции ( Operation permission ) нажмите и укажите получателя прав (например, Офис продаж ( Sales Department ). Запись появится на детали со значением Да ( Yes ) в колонке Уровень доступа ( Access level ), а пользователи, входящие в роль Офис продаж ( Sales Department ), получат доступ к системной операции Доступ к разделу "Настройка отчетов" ( Access to "Report setup" section ).
Алгоритм создания отчета
- Установите дизайнер отчетов FastReport (выполняется единоразово).
- Создайте отчет в разделе Настройка отчетов ( Report setup ).
- Укажите источники данных для отчета.
- Создайте провайдер данных отчета, который будет реализовывать логику обработки данных.
- Скачайте файл с источниками данных и настройте его в дизайнере отчетов FastReport.
- Загрузите настроенный шаблон отчета в Creatio.
Установка дизайнера отчетов FastReport
Для работы дизайнера отчетов требуются следующие компоненты:
Для установки дизайнера отчетов FastReport необходимо скачать zip-архив с установочными файлами по ссылке.
Создание нового отчета
Чтобы создать новый отчет, выполните следующие действия:
- Перейдите в дизайнер системы по кнопке . В блоке Настройка системы перейдите по ссылке Настройка отчетов ( Report setup ).
- Выполните действие Добавить отчет —> FastReport ( New report —> FastReport ).
- В области настройки параметров отображения (2) для нового отчета задайте заголовок, раздел, к которому относится отчет, параметры отображения.
Указание источников данных для отчета
В блоке Укажите источники данных для отчета ( Specify data sources for the report ) рабочей области страницы (4) укажите перечень объектов, их колонки и связи, которые будут использоваться для получения данных. При необходимости, укажите локализуемые строки. Для указания источников данных используйте формат json.
Параметр DataValueType содержит значение из перечисления Terrasoft.core.enums.DataValueType .
Чтобы сохранить данные, нажмите кнопку Применить ( Apply ) на панели инструментов (1).
Создание провайдера данных отчета
- В пользовательском пакете разработки создайте схему типа Исходный код ( Source Code ).
- В исходном коде схемы создайте класс сервиса. Задействуйте пространство имен Terrasoft.Configuration или любое вложенное в него. Пометьте класс атрибутом [DefaultBinding] с необходимыми параметрами. Класс сервиса должен быть наследником Terrasoft.Configuration.Reporting.FastReport.IFastReportDataSourceDataProvider .
- Добавьте в класс реализацию метода GetLocalizableStrings(UserConnection) . Метод реализовывает локализацию полей отчета.
- Добавьте в класс реализацию метода ExtractFilterFromParameters(UserConnection, Guid, IReadOnlyDictionary) . Метод реализовывает добавление фильтров интерфейса.
- Добавьте в класс реализацию метода GetData(UserConnection, IReadOnlyDictionary) , который должен возвращать значение типа Task<ReportDataDictionary> . В методе необходимо описать реализацию логики получения данных отчета.
- Опубликуйте схему исходного кода.
Настройка шаблона в дизайнере отчетов FastReport
Двойным кликом откройте скачанный файл в дизайнере отчетов FastReport и настройте внешний вид шаблона. Выполнение настройки описано в документации FastReport.
На заметку. В файле сохраняется структура источников данных, которая была реализована в разделе настройки отчетов.
Важно. Дизайнер отчетов FastReport является сторонним приложением, и функция предпросмотра настроенного отчета недоступна.
Загрузка настроенного шаблона в Creatio
Загрузка подготовленного шаблона отчета в Creatio выполняется нажатием кнопки Загрузить шаблон ( Upload template ) в блоке Загрузите настроенный шаблон отчета в Creatio ( Import a file with the report template ) (4). После загрузки шаблона отчет можно сформировать в реестре, на странице записи или в аналитике раздела. Это определяется настройками в области параметров отображения (2). Готовый отчет будет сохраняться в формате pdf .
Важно. Кнопки Печать ( Print ) и Отчеты ( Reports ) в разделе системы и на страницах записи отображаются при наличии хотя бы одного отчета, настроенного и опубликованного для данного раздела.
Мультиязычные элементы интерфейса в отчетах
Раздел Переводы ( Translations ) дизайнера системы позволяет установить значение элементов интерфейса для отчета на разных языках. Выполнить поиск локализуемых ранее строк отчета можно по ключу Configuration:НазваниеCхемы (например, Configuration:UsrContactDataSourceCode ). Поиск поля отчета можно выполнить по ключу Configuration:НазваниеСхемы:НазваниеПоля.Value (например, Configuration:UsrContactDataSourceCode:LocalizableStrings.ReportTitle.Value ).
Работа с разделом Переводы ( Translations ) описана в статье.
Перенос пакета с отчетом на другую среду разработки
Чтобы перенести пакет с отчетом на другую среду, в разделе Конфигурация ( Configuration ) перейдите на вкладку Данные ( Data ) и выполните привязку данных следующих элементов:
- FastReportTemplate_ReportName — шаблон отчета. Подключается по Id шаблона из таблицы [dbo.FastReportTemplate] базы данных.
- FastReportDataSource_ReportName — источник данных отчета. Подключается по Id источника из таблицы [dbo.FastReportDataSource] базы данных.
- SysModuleReport_ReportName — отчет. Подключается по Id отчета из таблицы [dbo.SysModuleReport] базы данных.
Важно. Посмотреть Id записи в таблице базы данных без доступа к ней можно, отобразив системную колонку Id в окне привязки данных к пакету.
На прошлой неделе я стал обладателем Enterprise редакции FastReport . И в сегодняшнем посте хочу немного рассказать о возможностях старших редакций флагмана мирового отчетостроения.
Прежде всего, хочу отметить, что продукт великолепно документирован. Особенно приятно, что имеется документация и на русском языке. Три объемных руководства (пользователя, программиста и разработчика) дополнены обширным набором примеров, который обеспечивает "лёгкое вхождение" в продукт.
Для многих программистов FastReport стал основным средством построения отчетов в Delphi еще до появления Embarcadero редакции . Редакция, вошедшая в состав RAD Studio , конечно имеет свои ограничения, но, тем не менее, предоставляет весь тот базовый набор функций, который был у предшественников. Я имею ввиду Rave Report и Quick Report, которые были "родными" для более ранних версий Delphi и C++ Builder . Впрочем, к моменту выхода Delphi XE2 мало кто пользовался этими средствами построения отчетов, по крайней мере, для новых проектов.
В свое время я, как и многие, оказался непосредственно вовлечен в процесс перевода старого проекта на новую систему построения отчетов. Правда, на тот момент я использовал Basic Edition . Собственно, я уже писал о том, как можно "малой кровью" портировать отчет с Rave на FastReport . К слову, подобным образом поддерживается переход и с других устаревших систем построения отчетов, в частности Quick Reports и Report Builder.
В этом обзоре я хочу рассказать, что же не вошло в Embarcadero редакцию FastReport .
Итак, кроме редакции, поставляемой в комплекте с Delphi/C++ Builder существует еще четыре варианта комплектации продукта - Basic, Standard, Professional и Enterpriseю Сразу приведу ссылку на сводную таблицу функционала в зависимости от редакции и немного прокомментирую представленные в ней возможности.
Экспорт отчетов
Как видно из таблицы, в Base редакции продукта значительно расширен перечень форматов экспорта. В принципе, в большинстве случаев достаточно и того, что есть в Embarcadero Edition . Однако, бывают и исключения. По собственному опыту скажу, что иногда пользователи хотят видеть отчет в определенном, зачастую, довольно диковинном формате. Обусловлено это может быть разными причинами, но факт остается фактом. Чем больше форматов экспорта поддерживается, тем лучше.
Список поддерживаемых форматов в Embarcadero редакции:
- RTF
- HTML
- TXT
- JPEG, BMP, TIFF, GIF, EMF
в Basic редакции расширен следующими форматами:
- CSVODS, ODT
- Excel Binary
- Excel XML
- DBF
Наличие исходников
Я предпочитаю их иметь. Вполне возможно, вам их никогда не придется даже открывать. Но ситуации, когда они могут понадобиться, все же теоритически возможны. Не так давно мне привносить изменения в работу Rave Report. И я скажу, что это достаточно сложно было бы сделать в неподдерживаемом наборе компонентов без исходного кода. К счастью, в свое время наша компания купила полную версию Rave, и, имея исходники старой версии, мне что-то удалось сделать.
В любом случае считается обычной практикой продавать многие компоненты с исходным кодом примерно в полтора раза дороже, чем без них. Очевидно, для такой ценовой политики есть основания. Исходные коды включены в Professional и Enterprise редакции.
Run-time дизайнер отчетов для конечных пользователей.
Безусловно, это тот функционал, который может вывести приложение на качественно новый уровень. Вне зависимости от того, корпоративное это приложение или небольшая shareware программа. Фактически, здесь появляется возможность изменять отчет без перекомпиляции проекта. Это может стать удобным как для конечных пользователей, так и для самих разработчиков. Соответственно, созданием или модификацией отчетов могут заниматься не только непосредственно программисты , но и служба поддержки, и даже конечные пользователи. Помимо того, что приложения приобретают дополнительную гибкость, этот функционал может существенно снизить цену разработки (как здесь не вспомнить тезис о том, что средняя цена строчки программного кода составляет $28). Доступно начиная со Standart редакции.
Внутренние датасеты.
Естественно, при построении пользовательских отчетов требуется каким-то образом обеспечивать доступ к данным. И если речь идет о run-time, то доступ к датасетам программы не всегда позволяет получить именно те данные, которые необходимы для построения того или инного отчета. Внутренние датасеты дают большую гибкость, позволяя строить произвольные запросы. Кроме того, в некоторых случаях они расширяют функционал "основных" датасетов. Также доступно начиная со Standart редакции.
Поддержка Interbase Express (IBX), IBOjects, ActiveX Data Objects (ADO) и dbExpress
Замечательно то, что внутренние датасеты могут быть организованы с помощью той же технологии, что и основные, используемые в приложении. В скором времени ожидается и поддержка FireDAC. Но еще более замечательна возможность написания собственных внутренних датасетов. Я не могу точно сказать, насколько трудоемка данная операция, но судя по документации, все не очень сложно. По сути, какое бы не использовалось решение для доступа к данным, старшие версии FastReport будут с ними работать.
В качестве ремарки…
Почему бы в качестве эксперимента не попробовать сделать поддержку UniDAC?
Visual SQL builder
Совершенно логично, предоставить пользователю, у которого есть возможность самостоятельно создавать/видоизменять отчет, удобный и понятный интерфейс для обработки данных. Визуально Visual SQL builder похож на редактор запросов в MS Access и не должен вызывать у продвинутых пользователей особых затруднений.
Возможность создания интерактивных отчетов.
Доступна начиная со Standart редакции. Диалоговые формы в отчетах и обработчики событий позволяют создавать так называемые интерактивные отчеты, обеспечивающие взаимодействие с пользователем. Таким образом, создание отчета можно сделать абсолютно автономным.
Скрипты
Внутренний скриптовый движок поддерживает PascalScript , C++Script , JSCript , BasicScript . Очень часто это бывает удобно тогда, когда нужно встроить в отчет некоторую логику. Например, настроить размеры элементов отчета в зависимости от размера страницы и т.д.
Компоненты для веб-приложений
Официальное описание гласит следующее:
Редакция Entreprise позволяет вам встроить в ваше приложение полноценный веб-сервер отчётов и получать документы в Web через любой браузер как в Internet так и в Intranet, как по открытым, так и по защищённым каналам! Вы можете сохранять отчёты в облачных сервисах и открывать отчёты из облаков!
Стоит ли говорить, насколько сейчас востребованы системы подобного рода в корпоративном секторе? И значимость инструмента, позволяющего создавать подобные решения сложно переоценить. Вполне вероятно, что я посвящу отдельный материал разработке веб-сервер отчётов с помощью FastReport .
Естественно, все вышеперечисленное является всего лишь поверхностным описанием тех возможностей, которые предоставляет FastReport . За рамками этого обзора остался FastReport для FireMonkey .
В дальнейшем я планирую сделать серию постов, посвященных продукту с практическими примерами использования его возможностей.
Хочу поблагодарить компанию FastReports и лично Михаила Филиппенко за поддержку блог-сообщества и предоставления лицензии Enterprise .
На прошлой неделе я стал обладателем Enterprise редакции FastReport . И в сегодняшнем посте хочу немного рассказать о возможностях старших редакций флагмана мирового отчетостроения.
Прежде всего, хочу отметить, что продукт великолепно документирован. Особенно приятно, что имеется документация и на русском языке. Три объемных руководства (пользователя, программиста и разработчика) дополнены обширным набором примеров, который обеспечивает "лёгкое вхождение" в продукт.
Для многих программистов FastReport стал основным средством построения отчетов в Delphi еще до появления Embarcadero редакции . Редакция, вошедшая в состав RAD Studio , конечно имеет свои ограничения, но, тем не менее, предоставляет весь тот базовый набор функций, который был у предшественников. Я имею ввиду Rave Report и Quick Report, которые были "родными" для более ранних версий Delphi и C++ Builder . Впрочем, к моменту выхода Delphi XE2 мало кто пользовался этими средствами построения отчетов, по крайней мере, для новых проектов.
В свое время я, как и многие, оказался непосредственно вовлечен в процесс перевода старого проекта на новую систему построения отчетов. Правда, на тот момент я использовал Basic Edition . Собственно, я уже писал о том, как можно "малой кровью" портировать отчет с Rave на FastReport . К слову, подобным образом поддерживается переход и с других устаревших систем построения отчетов, в частности Quick Reports и Report Builder.
В этом обзоре я хочу рассказать, что же не вошло в Embarcadero редакцию FastReport .
Итак, кроме редакции, поставляемой в комплекте с Delphi/C++ Builder существует еще четыре варианта комплектации продукта - Basic, Standard, Professional и Enterpriseю Сразу приведу ссылку на сводную таблицу функционала в зависимости от редакции и немного прокомментирую представленные в ней возможности.
Экспорт отчетов
Как видно из таблицы, в Base редакции продукта значительно расширен перечень форматов экспорта. В принципе, в большинстве случаев достаточно и того, что есть в Embarcadero Edition . Однако, бывают и исключения. По собственному опыту скажу, что иногда пользователи хотят видеть отчет в определенном, зачастую, довольно диковинном формате. Обусловлено это может быть разными причинами, но факт остается фактом. Чем больше форматов экспорта поддерживается, тем лучше.
Список поддерживаемых форматов в Embarcadero редакции:
- RTF
- HTML
- TXT
- JPEG, BMP, TIFF, GIF, EMF
в Basic редакции расширен следующими форматами:
- CSVODS, ODT
- Excel Binary
- Excel XML
- DBF
Наличие исходников
Я предпочитаю их иметь. Вполне возможно, вам их никогда не придется даже открывать. Но ситуации, когда они могут понадобиться, все же теоритически возможны. Не так давно мне привносить изменения в работу Rave Report. И я скажу, что это достаточно сложно было бы сделать в неподдерживаемом наборе компонентов без исходного кода. К счастью, в свое время наша компания купила полную версию Rave, и, имея исходники старой версии, мне что-то удалось сделать.
В любом случае считается обычной практикой продавать многие компоненты с исходным кодом примерно в полтора раза дороже, чем без них. Очевидно, для такой ценовой политики есть основания. Исходные коды включены в Professional и Enterprise редакции.
Run-time дизайнер отчетов для конечных пользователей.
Безусловно, это тот функционал, который может вывести приложение на качественно новый уровень. Вне зависимости от того, корпоративное это приложение или небольшая shareware программа. Фактически, здесь появляется возможность изменять отчет без перекомпиляции проекта. Это может стать удобным как для конечных пользователей, так и для самих разработчиков. Соответственно, созданием или модификацией отчетов могут заниматься не только непосредственно программисты , но и служба поддержки, и даже конечные пользователи. Помимо того, что приложения приобретают дополнительную гибкость, этот функционал может существенно снизить цену разработки (как здесь не вспомнить тезис о том, что средняя цена строчки программного кода составляет $28). Доступно начиная со Standart редакции.
Внутренние датасеты.
Естественно, при построении пользовательских отчетов требуется каким-то образом обеспечивать доступ к данным. И если речь идет о run-time, то доступ к датасетам программы не всегда позволяет получить именно те данные, которые необходимы для построения того или инного отчета. Внутренние датасеты дают большую гибкость, позволяя строить произвольные запросы. Кроме того, в некоторых случаях они расширяют функционал "основных" датасетов. Также доступно начиная со Standart редакции.
Поддержка Interbase Express (IBX), IBOjects, ActiveX Data Objects (ADO) и dbExpress
Замечательно то, что внутренние датасеты могут быть организованы с помощью той же технологии, что и основные, используемые в приложении. В скором времени ожидается и поддержка FireDAC. Но еще более замечательна возможность написания собственных внутренних датасетов. Я не могу точно сказать, насколько трудоемка данная операция, но судя по документации, все не очень сложно. По сути, какое бы не использовалось решение для доступа к данным, старшие версии FastReport будут с ними работать.
В качестве ремарки…
Почему бы в качестве эксперимента не попробовать сделать поддержку UniDAC?
Visual SQL builder
Совершенно логично, предоставить пользователю, у которого есть возможность самостоятельно создавать/видоизменять отчет, удобный и понятный интерфейс для обработки данных. Визуально Visual SQL builder похож на редактор запросов в MS Access и не должен вызывать у продвинутых пользователей особых затруднений.
Возможность создания интерактивных отчетов.
Доступна начиная со Standart редакции. Диалоговые формы в отчетах и обработчики событий позволяют создавать так называемые интерактивные отчеты, обеспечивающие взаимодействие с пользователем. Таким образом, создание отчета можно сделать абсолютно автономным.
Скрипты
Внутренний скриптовый движок поддерживает PascalScript , C++Script , JSCript , BasicScript . Очень часто это бывает удобно тогда, когда нужно встроить в отчет некоторую логику. Например, настроить размеры элементов отчета в зависимости от размера страницы и т.д.
Компоненты для веб-приложений
Официальное описание гласит следующее:
Редакция Entreprise позволяет вам встроить в ваше приложение полноценный веб-сервер отчётов и получать документы в Web через любой браузер как в Internet так и в Intranet, как по открытым, так и по защищённым каналам! Вы можете сохранять отчёты в облачных сервисах и открывать отчёты из облаков!
Стоит ли говорить, насколько сейчас востребованы системы подобного рода в корпоративном секторе? И значимость инструмента, позволяющего создавать подобные решения сложно переоценить. Вполне вероятно, что я посвящу отдельный материал разработке веб-сервер отчётов с помощью FastReport .
Естественно, все вышеперечисленное является всего лишь поверхностным описанием тех возможностей, которые предоставляет FastReport . За рамками этого обзора остался FastReport для FireMonkey .
В дальнейшем я планирую сделать серию постов, посвященных продукту с практическими примерами использования его возможностей.
Хочу поблагодарить компанию FastReports и лично Михаила Филиппенко за поддержку блог-сообщества и предоставления лицензии Enterprise .
Читайте также: