В версии 2027.1 для FastReport VCL появились новые UI-компоненты TfrTabControl, TfrImageComboBox и TfrProgressBar, объект отчёта TfrxProgressBarView и обновление FastGrid с общими и групповыми итогами. Движок отчётов теперь поддерживает табуляции в объекте «Текст» и кэширование TfrxReportPage.BackPicture для экономии памяти. Экспорты получили улучшения качества и новые функции, а FastScript — поддержку Multistring, как в последних версиях Delphi. Всё это — с поддержкой RAD Studio 13.2 и Lazarus.
TfrTabControl — аналог стандартного TabControl, который поддерживает весь стандартный функционал плюс дополнительные возможности:
— Автоматическое перемещение вкладок (Drag and Drop): вкладки можно перемещать и менять местами без написания дополнительных обработчиков.
— Кнопка закрытия вкладки: вкладки закрываются кнопкой, а действие обрабатывается через события.
С нашим контролом TfrTabControl вам не нужно писать дополнительный код для организации постраничного интерфейса с закрытием и перемещением вкладок.
Новый редактор TfrProgressBar не только отображает сам прогресс, но и позволяет задавать и показывать пороговые значения на своей шкале.
Редактор имеет настройки для управления отображением и позволяет тонко настроить вывод шкалы под свои нужды.
Новый компонент выпадающего списка с изображениями TfrImageComboBox, не имеющий аналога в стандартной палитре компонентов, позволяет назначать изображения каждому элементу списка, имеет встроенную фильтрацию по включению и множество других настроек, чтобы настроить редактор под ваши нужды.
FastGrid получил крупное обновление. Главная особенность этого релиза – поддержка автоматического расчета итоговых значений по всей колонке и по группе. Для вычислений итогов доступны несколько функций: минимум, максимум, сумма, количество, среднее. Групповые итоги доступны для вывода в заголовках и подвалах групп. Гибкая настройка форматирования строки итогов с помощью встроенных обработчиков событий. Показ итогов для свернутых групп. И, конечно, печать итогов в отчете и экспорте.
Все новые редакторы доступны для выбора в качестве редакторов полей в сетке. Добавлен автоматический механизм установки оптимальной ширины колонки по содержимому в этой колонке. Сетка всегда адаптируется под ваши данные.
Для управления всем доступным функционалом мы добавили удобные всплывающие контекстные меню.
FastReport получил обновление движка, объектов отчета и экспортов.
Новый объект отчёта TfrxProgressBarView, основанный на редакторе TfrProgressBar, позволяет отображать индикацию прогресса с пороговыми значениями на своей шкале и связывать её с данными отчёта.
В объект “текст” добавлена поддержка табуляций на печати и при редактировании. Данный функционал настраивается через свойство AllowTabs, чтобы сохранить работоспособность ваших отчетов.
Новое свойство DrawOptions объекта TfrxPDFView позволяет отображать содержимое XForm, которое обычно выключено при печати.
Улучшена работа дерева отчета внутри дизайнера – теперь можно перетаскивать объекты отчета и менять их местами прямо в дереве отчета. В дополнение, при переименовании обработчиков событий в инспекторе объектов отчета они так же переименовываются в скрипте отчета.
В движок отчета добавлена поддержка кэширования изображений для TfrxReportPage.BackPicture для предварительного просмотра (EngineOptions.BackPictureInCache) и конструктора отчетов – отчеты с установленным BackPicture потребляют значительно меньше ресурсов.
Через объект отчета теперь можно проверить наличие зарегистрированной пользовательской функции через метод TfrxReport.HasFunction. Улучшен механизм валидации отчетов.
Движок экспортов также получил ряд улучшений. В экспорте DOCX добавлена поддержка закладок, которые можно добавлять в произвольные объекты отчета через свойство ExportsSettings. Это позволяет вставлять в документ дополнительные маркеры для последующей машинной обработки документа.
Улучшен экспорт в PDF и его работа с электронными подписями и конвертация из EMF. Экспорт в текстовый формат получил новое свойство UTF8BOM, для управления BOM заголовком.
Компонент сервера отчетов можно настроить на работу вне корневого каталога с помощью свойства UseRootForHTTPServerResources и использовать относительный путь для ресурсов сервера.
Скриптовый движок FastScript получил поддержку Multistring — новый синтаксический сахар позволяет объявлять многострочные строковые литералы, как в последних версиях Delphi (подробнее о синтаксисе).
В экспорт XLSX добавлена поддержка HTML-тэгов, а в экспорте RTF поддержка HTML-тэгов расширилась тегами <sub> и <sup>. Улучшена работа компонентов отчета на платформе macOS ARM 64-bit.
Ознакомьтесь с полным списком исправлений и изменений.
[Report object]
+ добавлена поддержка закладок в DOCX
+ добавлена поддержка табуляции в MemoView
- исправлен QR Swiss preset
- исправлена ошибка, из-за которой содержимое HTMLView могло исчезать в унаследованных отчетах
- исправлено использование UTF8 текста в водяных знаках
+ добавлено свойство TfrxPDFView.DrawOptions.FlattenPage, позволяющее отображать содержимое XForm
- отключено обращение к настройкам принтера при TfrxRichView.Wysiwyg = False
- исправлена ошибка, возникающая при разделении объекта RichView с GapY больше 0
- исправлено поведение интерактивного события OnClick в TfrxChartView
[Engine]
* модифицирован AddEmptyPage для добавления пустой страницы в конец отчёта
- исправлена ошибка, из-за которой поля UserDataSet не отображались в конструкторе отчетов
+ добавлен метод TfrxReport.HasFunction
+ добавлена поддержка кэширования изображений свойства TfrxReportPage.BackPicture для предварительного просмотра (EngineOptions.BackPictureInCache) и конструктора отчетов
- исправлено поведение при использовании флагов StartNewPage и KeepTogether
- исправлена ошибка, связанная с видимостью нижнего колонтитула группы, когда последний бэнд в группе скрыт фильтром
- исправлена ошибка при печати прозрачного PNG-изображения, хранящегося в Page.BackPicture
- исправлена ошибка в макросе TotalPages# при создании составных отчетов с помощью функции PreviewPages.AddFrom
- исправлена ошибка в значениях нижнего колонтитула, когда невидимые данные присутствуют между различными группами
[Exports]
- исправлена ошибка с несколькими подписями
- исправлен экспорт подчеркнутого/зачеркнутого текста
- исправлен экспорт PDF для соответствия PDF/A
- исправлена ошибка экспорта в PDF EMF, развёрнутого на 90 градусов
+ добавлен экспорт TfrxPictureView.Name в DOCX
+ добавлены примеры на подпись PDF
- исправлено смещение штрихкода при экспорте
- исправлена ошибка преобразования варианта из Cardinal в Integer
- исправлен экспорт EMF в PDF
- исправлен экспорт картинок в объектный PPTX и DOCX
+ добавлено свойство UTF8BOM для экспортов в CSV и SimpleText для кодировки UTF8
[Designer]
- исправлено перетаскивание элементов в ReportTree
* при редактировании имён обработчиков событий они обновляются в коде
- исправлена ошибка копирования содержимого пустого изображения в дизайнере отчетов
- исправлено отображение подсказок в редакторе алиасов
- исправлены некоторые цвета в дизайнере
[Other]
- исправлена работа валидатора с контекстом отчёта
* улучшена валидация объектов отчёта
- исправлена валидация PrepareScript
- исправлен конвертер TfrxSaveFRX
[Client-server]
+ добавлено свойство UseRootForHTTPServerResources, позволяющее загружать ресурсы корневого каталога сервера по относительному пути
[Preview]
- исправлено поведение предварительного просмотра в режиме RTL при установке флага PreviewOptions.RTLPreview
[Engine]
* модифицирован AddEmptyPage для добавления пустой страницы в конец отчёта
- исправлена поддержка платформы macOS ARM 64-bit
[Exports]
+ добавлена поддержка HTML-тэгов в XLSX экспорт
- исправлена ошибка экспорта в PDF EMF, развёрнутого на 90 градусов
+ добавлена поддержка тэгов <sub> и <sup> в TfrxRTFExport
- исправлено позиционирование текста при экспорте в PDF с использованием сторонних шрифтов
[Designer]
- исправлены иконки кнопок в дизайнере
[Report object]
- отключено обращение к настройкам принтера при TfrxRichView.Wysiwyg = False
[Preview]
- исправлена ошибка, из-за которой окно предварительного просмотра зависало при использовании Metal Canvas
[Report object]
+ добавлена поддержка закладок в DOCX
+ добавлена поддержка табуляции в MemoView
- исправлен QR Swiss preset
- исправлена ошибка, из-за которой содержимое HTMLView могло исчезать в унаследованных отчетах
- исправлена компиляция пакета LazRich
+ добавлено свойство TfrxPDFView.DrawOptions.FlattenPage, позволяющее отображать содержимое XForm
- отключено обращение к настройкам принтера при TfrxRichView.Wysiwyg = False
- исправлена ошибка, возникающая при разделении объекта RichView с GapY больше 0
- исправлено поведение интерактивного события OnClick в TfrxChartView
[Engine]
* модифицирован AddEmptyPage для добавления пустой страницы в конец отчёта
- исправлена ошибка экспорта в PDF EMF, развёрнутым на 90 градусов
- исправлена ошибка, из-за которой поля UserDataSet не отображались в конструкторе отчетов
+ добавлен метод TfrxReport.HasFunction
+ добавлена поддержка кэширования изображений свойства TfrxReportPage.BackPicture для предварительного просмотра (EngineOptions.BackPictureInCache) и конструктора отчетов
- исправлено поведение при использовании флагов StartNewPage и KeepTogether
- исправлена ошибка, связанная с видимостью нижнего колонтитула группы, когда последний бэнд в группе скрыт фильтром
- исправлена ошибка при печати прозрачного PNG-изображения, хранящегося в Page.BackPicture
- исправлена ошибка в макросе TotalPages# при создании составных отчетов с помощью функции PreviewPages.AddFrom
- исправлена ошибка в значениях нижнего колонтитула, когда невидимые данные присутствуют между различными группами
[Exports]
- исправлена ошибка с несколькими подписями
- исправлен экспорт подчеркнутого/зачеркнутого текста
- исправлен экспорт PDF для соответствия PDF/A
+ добавлен экспорт TfrxPictureView.Name в DOCX
+ добавлены примеры на подпись PDF
- исправлено смещение штрихкода при экспорте
- исправлена ошибка преобразования варианта из Cardinal в Integer
- исправлен экспорт EMF в PDF
- исправлен экспорт картинок в объектный PPTX и DOCX
+ добавлено свойство UTF8BOM для экспортов в CSV и SimpleText для кодировки UTF8
[Designer]
- исправлено перетаскивание элементов в ReportTree
* при редактировании имён обработчиков событий они обновляются в коде
- исправлена ошибка копирования содержимого пустого изображения в дизайнере отчетов
- исправлено отображение подсказок в редакторе алиасов
- исправлен расчёт размера окна подсказки
- исправлены некоторые цвета в дизайнере
[Other]
- исправлена работа валидатора с контекстом отчёта
* улучшена валидация объектов отчёта
- исправлена валидация PrepareScript
[Client-server]
+ добавлено свойство UseRootForHTTPServerResources, позволяющее загружать ресурсы корневого каталога сервера по относительному пути
[Preview]
- исправлено поведение предварительного просмотра в режиме RTL при установке флага PreviewOptions.RTLPreview
[Engine]
- исправлена совместимость с Developer Express
[Graphic]
- исправлен TfrxSVGGraphic в TImage
- исправлена SVG графика
- исправлена прозрачность в SVG
[Localization]
+ добавлены сербские латинские ресурсы, обновлены сербские и немецкие ресурсы
* обновлён китайский перевод
[Engine]
- исправлена совместимость с Developer Express
[Localization]
+ добавлены сербские латинские ресурсы, обновлены сербские и немецкие ресурсы
* обновлён китайский перевод
[Graphic]
- исправлен TfrxSVGGraphic в TImage
- исправлена SVG графика
- исправлена прозрачность в SVG
[Localization]
+ добавлены сербские латинские ресурсы, обновлены сербские и немецкие ресурсы
* обновлён китайский перевод
[UI]
+ добавлен TfrTabControl
- улучшена производительность штрих-кодов
[Engine]
* удалены локальные переменные в DataMatrix
- исправлен порядок ресурсов для компилятора C++ Builder Modern
[Engine]
- исправлена работа в Lazarus Frame
* удалены локальные переменные в DataMatrix
- исправлен порядок ресурсов для компилятора C++ Builder Modern
- исправлена проблема с сохранением структуры дерева TfrTreeView в Design time в модерновом интерфейсе Lazarus
[UI]
- улучшена производительность штрих-кодов
- исправлена неисчезающая подсказка TfrTreeView под Linux
- Исправлен поворот текста в штрихкодах
[UI]
- увеличена зона курсора для изменения размера элементов
[Engine]
- исправлена работа пользовательских фильтров с операцией OR
[UI]
- увеличена зона курсора для изменения размера элементов
[UI]
- увеличена зона курсора для изменения размера элементов
[Engine]
- исправлена работа пользовательских фильтров с операцией OR
[Engine]
- исправлена ошибка с именем параметра Result в скриптах CPP
+ добавлена поддержка Multistring в движок FastScript
+ добавлена документация по FastScript
[RTTI]
- убраны из списка FastScript функции, которые поддерживаются только в FastReport
[Engine]
- исправлена ошибка с именем параметра Result в скриптах CPP
+ добавлена поддержка Multistring в движок FastScript
+ добавлена документация по FastScript
[RTTI]
- убраны из списка FastScript функции, которые поддерживаются только в FastReport
[Engine]
- исправлена ошибка с именем параметра Result в скриптах CPP
+ добавлена поддержка Multistring в движок FastScript
+ добавлена документация по FastScript
- исправлена работа мемо-компонентов с двухбайтными символами
[RTTI]
- убраны из списка FastScript функции, которые поддерживаются только в FastReport
[UI]
+ добавлено встроенное всплывающее меню
- исправлено - некоторые сочетания клавиш для работы с буфером обмена не работают в активном внутреннем редакторе
- исправлено зависание картинки курсора сплиттера в дизайнтайме у TfrGrid
[Engine]
+ добавлена возможность установки оптимальной ширины колонки по значениям в этой колонке
+ добавлены групповые и общие итоги
* объединены все объекты внешнего вида, отвечающие за настройку внешнего вида, в одну коллекцию
[Exports]
+ исправлен метод IsBlobField в провайдере TableBuilder при использовании невидимых столбцов
[UI]
+ добавлено встроенное всплывающее меню
- исправлено - некоторые сочетания клавиш для работы с буфером обмена не работают в активном внутреннем редакторе
- исправлено зависание картинки курсора сплиттера в дизайнтайме у TfrGrid
[Engine]
+ добавлена возможность установки оптимальной ширины колонки по значениям в этой колонке
+ добавлены групповые и общие итоги
* объединены все объекты внешнего вида, отвечающие за настройку внешнего вида, в одну коллекцию
[Exports]
+ исправлен метод IsBlobField в провайдере TableBuilder при использовании невидимых столбцов
[UI]
+ добавлен редактор TfrImageComboBox с ниспадающим списком картинок и надписями
+ добавлен редактор - TfrProgressBar
* свойства MinValue и MaxValue теперь работают более удобно при редактировании данных
- исправлена высота ниспадающего списка при его первичном вызове, когда размер шрифта отличается от размера по умолчанию
+ реализована возможность ограничивать число вводимых после запятой знаков
* улучшен TfrCalendar - недоступные даты (не входящие в разрешенный диапазон значений) изображаются как неактивные
- исправлено двойное масштабирование TfrCheckBox
- исправлена проблема с захватом движений мыши, когда ниспадающее окно вызывается второй раз после выбора одного из пунктов списка в этом окне
[UI]
+ добавлен редактор TfrImageComboBox с ниспадающим списком картинок и надписями
+ добавлен редактор - TfrProgressBar
* свойства MinValue и MaxValue теперь работают более удобно при редактировании данных
- исправлена высота ниспадающего списка при его первичном вызове, когда размер шрифта отличается от размера по умолчанию
+ реализована возможность ограничивать число вводимых после запятой знаков
* улучшен TfrCalendar - Недоступные даты (не входящие в разрешенный диапазон значений) изображаются как неактивные
- исправлены некоторые проблемы в отрисовке редакторов под Linux
- исправлена проблема с захватом движений мыши, когда ниспадающее окно вызывается второй раз после выбора одного из пунктов списка в этом окне