13 сентября 2023

Обновление продуктов на базе .NET до версии 2023.3

Рады представить вам долгожданное обновление, в котором особое внимание было уделено пользовательскому опыту и качеству программного кода. В этом релизе мы постарались прислушаться к запросам наших пользователей. С версий 2023.3 были добавлены: новый объект - RFID-метка, поддержка изображений в формате WebP, асинхронный просмотр отчета, панель инструментов в контекстном меню и многое другое. Изменения доступны для следующих продуктов:

- FastReport .NET,
- FastReport WPF,
- FastReport Mono,
- FastReport Desktop,
- FastCube .NET.

Новые возможности

Новый объект RFIDLabel

В новой версии появился объект - RFID-метка. Она позволяет идентифицировать товары и очень похожа на штрих-код, но в отличии от него использует радиосигналы. Это позволяет сканировать большое количество товаров за короткие промежутки времени.

Метка содержит 4 банка данных: зарезервированный банк для хранения пароля доступа и пароля уничтожения, банк электронного кода продукта, банк идентификатора метки и банк пользовательских данных. Метка в линейке продуктов FastReport .NET, представлена в виде объекта отчета. Настраивать метку можно с помощью удобного редактора, который вызывается двойным щелчком мыши.

Редактор RFID-меток

RFID-метки могут быть созданы некоторыми принтерами компании Zebra, поэтому кроме самого объекта меток, был реализован их экспорт в ZPL. Для корректного экспорта RFID-метка должна быть в единственном экземпляре на странице.

Подробнее читайте в статье.

Поддержка изображений в формате WebP

Появился плагин, обеспечивающий поддержку изображений в формате WebP. Теперь можно загружать такие изображения в объект PictureObject с помощью редактора в дизайнере отчетов, а также из кода. В FastReport.Skia WebP-изображения поддерживаются без плагина, однако они при загрузке преобразовываются в формат PNG.

Подробности о формате и инструкцию по использованию плагина, можно найти в статье.

Предварительный просмотр внутри окна дизайнера и асинхронный просмотр отчета

Теперь есть возможность, при использовании дизайнера в своем приложении, запускать предварительный просмотр отчета внутри окна дизайнера. Ранее предварительный просмотр всегда запускался в отдельном окне. Для этого нужно в коде добавить строку:

Config.DesignerSettings.EmbeddedPreview = true;

Выглядеть это будет так:

Предварительный просмотр внутри окна дизайнера

В некоторых случаях, такой режим может быть удобнее.

Кроме этого, появились методы асинхронной подготовки и просмотра отчета: Report.PrepareAsync() и Report.ShowAsync(). Их можно использовать при подготовке больших отчетов. В таком случае, с окном предварительного просмотра можно будет работать, пока идет подготовка отчета. И у пользователя не будет создаваться впечатление, что приложение зависло и не отвечает.

Панель инструментов в контекстном меню

Было улучшено контекстное меню при нажатии правой кнопки мыши по объекту. Вверху появилась панель инструментов, в которую вынесены часто используемые пункты, такие как: редактировать, вырезать, копировать, вставить и т.д.

Раньше меню выглядело так:

Старое контекстное меню

Новое меню стало компактнее и эргономичнее:

Новое контекстное меню

 

Экспорт в S3

Добавлена возможность выгружать подготовленные и экспортированные отчеты в Simple Storage Service (сокращенно S3). Новый экспорт находится во вкладке "Хранилище" меню сохранения подготовленного отчета.

При первом экспорте понадобится ввести регистрационные данные в окне авторизации.

Авторизация в S3

Необходимые ключи можно получить в настройках аккаунта сервиса S3. Подробнее можно почитать в документации сервиса.

После успешной авторизации появится окно экспорта.

Сохранение в S3

Здесь можно выбрать бакет для сохранения, тип и имя файла. Если выбрать тип файла отличный от "Готовый отчет", то станут доступны настройки соответствующего экспорта.

Подробнее читайте в статье.

Возможность настраивать параметры шрифта штрих-кодов

Для объектов "Штрих-код" теперь доступно свойство "Font". Оно позволяет задать параметры шрифта, используемого при отображении текстов штрих-кодов. По умолчанию используется шрифт Arial, он же использовался в прошлых версиях. Теперь можно выбрать другой шрифт, изменить его размер, начертание и т.д. В результате можно создавать, например такие штрих-коды:

Пример штрих-кода с нестандартным шрифтом

Однако, с настройками шрифта следует быть осторожным. Возможно, не все сканеры смогут корректно считывать такие штрих-коды.

Опция "Преобразовывать общий формат в текстовый" при экспорте в Excel 2007

В Excel 2007 есть несколько форматов данных, среди которых есть два очень похожих: общий и текстовый.

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

Текстовый формат всегда отображает данные так, как они введены.

В FastReport .NET тоже есть несколько форматов, например: общий, числовой, дата и многие другие. При экспорте для данных подбирается подходящий формат, числовой преобразовывается в числовой, дата остается датой.

Общий формат в FastReport .NET тоже используется по умолчанию. Он отображает данные так же, как они были введены. На самом деле общий формат это System.String. В свою очередь отдельного текстового формата в FastReport .NET не существует.

В Excel 2007-экспорте появилась новая опция, которая позволяет преобразовывать общий формат FastReport .NET в текстовый формат Excel (по умолчанию общий экспортируется как общий).

Опция преобразования формата

Отчеты, созданные в прошлых версиях FastReport .NET, в новой версии будут экспортироваться так же, так как по умолчанию эта опция отключена.

Поддержка частичной компиляции отчёта

В FastReport.Core, FastReport.Core.Skia и FastReport.CoreWin была добавлена возможность включать частичную компиляцию отчёта для ускорения его подготовки в случае, если в отчёте не изменялся скрипт отчёта и нет объектов, которые не поддерживают частичную компиляцию. Включить его можно следующей командой:

FastReport.Utils.Config.CompilerSettings.ReflectionEmitCompiler = true;

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

 

Новые возможности WebReport

Улучшения в WASM

Ранее отчёты, открытые в браузере при помощи нашей библиотеки FastReport.Blazor.Wasm, можно было только просматривать. С этим обновлением была добавлена поддержка экспортов. Теперь пользователи могут экспортировать получившиеся отчеты в различные форматы, точно также, как это делается и в обычным WebReport.

Экспорт отчетов из WASM

Также, благодаря Reflection.Emit компиляции, была ускорена загрузка и подготовка отчётов без скрипта в WebAssembly.

Персонализация панели инструментов

Теперь вы можете создавать свои собственные элементы, такие как кнопки, выпадающие списки и поля для ввода, и добавлять их в панель инструментов. Эти элементы могут иметь различные параметры, включая изображение, название и стили. Вы также можете внедрять логику с использованием JavaScript и C#.

Пример добавления собственных элементов в панель инструментов:

 var button = new ToolbarButton() 
 {
 Title = "MyCustomButton",
 OnClickAction = new ElementClickAction()
 {
 OnClickAction = async (webreport) =>
 {
 webreport.LocalizationFile = "MyLocalizationFile";
 }
 },
 };
 
 var select = new ToolbarSelect()
 {
 Title = "MyCustomSelect",
 Items = new List<ToolbarSelectItem>
 {
 new ToolbarSelectItem()
 {
 Title = "MySelectItem",
 OnClickAction = new ElementScript()
 {
 Script = "console.log('My item is working')"
 }
 }
 }
 };
 
 var input = new ToolbarInput()
 {
 InputType = "number",
 OnChangeAction = new ElementChangeAction()
 {
 OnChangeAction = async (webreport, inputValue) =>
 {
 webreport.Report.Prepare();
 webReport.Toolbar.Height = int.Parse(inputValue);
 }
 }
 
 };
 
 webReport.Toolbar.InsertToolbarElement(button);
 webReport.Toolbar.InsertToolbarElement(select);
 webReport.Toolbar.InsertToolbarElement(input);

Как результат, после внесения изменений, эти настроенные элементы будут отображаться в вашей панели инструментов:

Панель инструментов

 

Полный список изменений

[Engine]
+ добавлен новый объект RFIDLabel;
+ добавлено автоматическое форматирование GS1 для штрих-кода GS1-128;
+ добавлена загрузка таблиц в ячейках других таблиц при конвертации шаблонов RDL;
+ добавлено свойство Config.CompilerSettings.ReflectionEmitCompiler, которое при включении ускоряет подготовку отчета если не был изменен скрипт (работает только в .NET Core/.NET);
+ добавлена возможность настраивать параметры шрифта штрих-кодов с помощью нового свойства "Font";
* улучшена работа с приватными коллекциями шрифтов;
* демо версия - убрано ограничение в 5 страниц; текст заменяется случайным образом на "Demo version";
- исправлен бесконечный цикл при вычислении выражения параметра, равного этому параметру;
- исправлена проблема считывания штрих-кода DataMatrix мобильным сканером;
- исправлен баг из-за которого, при ручных переносах некорректно отображались зачеркивания строк;
- исправлено вычисление сдвига транслируемых объектов RichObject;
- исправлено преобразование пустого Variant в другие типы;
- исправлено удаление столбца, после которого данные столбца оставались в отчете;
- исправлена работа свойства VisibleExpression для строк и столбцов матрицы и таблицы;
- исправлено удаление больше не присутствующих шрифтов из словаря font_hash;
- исправлена ошибка при неотсортированных позициях табуляции в RichObject;
- исправлена ошибка с разбором таблицы GSUB, приводящая к исключению;
- исправлена потеря позиции потока при экспорте в PDF с опцией "Текст в кривых", приводящая к System.StackOverflowException;
- исправлена ошибка загрузки границ объектов при конвертации шаблонов RDL;
- исправлено удаление первых трех символов в штрих-коде GS1-128;
- исправлена таблица кодирования штрих-кода Code93 Extended;
- исправлена кодировка текста в штрих-коде DataMatrix;
- исправлена ошибка в отрисовке текста при переносе слов из-за недостатка места;
- исправлено преобразование RightToLeft текста при включенной опции ConvertRichText;
- исправлен перенос строки в HtmlTextRenderer;
- исправлена ошибка, когда столбцы страницы печатались поверх столбцов бэнда;
- исправлено выделение белым цветом пустых строк между абзацами текста и некоторых абзацев в RichObject при использовании заливки;
- исправлено выделение частей текста белым цветом в RichObject с ConvertRichText = true;
- исправлено игнорирование ConnectionString, если ConnectionStringExpression возвращало значение null;
- исправлены отступы транслируемых текстовых объектов из RichObject;
- исправлено позиционирование объектов при транслировании RichObject;
- исправлен импорт таблиц из JasperReports;
- исправлено исключение System.NullReferenceException при очистке TableObject;
- исправлено горизонтальное выравнивание картинки в RichObject при ConvertRichText = true;
- исправлено исключение System.NotImplementedException, когда позиция табуляции TextObject отрицательна;
- исправлено преобразование нулей, если выражение содержит функцию;
- исправлено исключение System.ArgumentException, когда хост источника данных JSON имеет пустой CharacterSet;
- исправлено позиционирование TableObject при транслировании RichObject;

[Designer]
+ добавлена возможность взять имена столбцов из первой строки в Excel-подключении;
+ добавлены категории для объектов "Штрих-код";
+ добавлено свойство Config.DesignerSettings.EmbeddedPreview для предварительного просмотра отчета внутри окна дизайнера;
+ в панели "Объекты" добавлена категория "Другие" для диалоговых элементов управления;
+ добавлена возможность отображать транслированный объект в Онлайн Дизайнере;
+ добавлена страница выбора процедур в форме мастера подключения к данным;
+ добавлена панель инструментов в контекстное меню;
+ добавлена возможность использовать выражения в поле "Сумма платежа" в редакторе SberbankQr;
+ добавлен парсинг параметров из SQL-запроса;
+ добавлено предупреждение при совпадении имен параметров запроса;
+ добавлена проверка на существование файла при его изменении в CSV-подключении через свойство CsvFile;
* изменения в интерфейсе "Построителя запросов";
* обновлен "Мастер подключения к данным". Улучшен интерфейс, исправлены ошибки и увеличена скорость работы;
* изменение отрисовки подсказки с координатами/размерами в дизайнере;
- исправлена проблема подключения к CSV через URL;
- исправлена ошибка в операции "Сохранить как..." для файла, открытого из облака;
- исправлен объект "Карта" в NET 6.0 (пустые надписи у полигонов);
- исправлена ошибка считывания значений из файла конфигурации дизайнера;
- исправлен баг при котором создавалась новая страница отчета после двойного клика правой кнопкой на вкладке "Код";
- исправлена ошибка после закрытия окна предварительного просмотра, при пустых значениях числовых параметров;
- исправлен баг, при котором в процессе авторизации зависал дизайнер;
- исправлены ошибки в редакторах объектов Gauge;
- исправлено исключение System.NullReferenceException при объединении словарей, которые включают соединения с параметрами;
- исправлено выделение текста цветом у RichObject при использовании свойства ConvertRichText = true;
- исправлена ошибка с порядком форматов при нескольких выражениях в текстовом объекте;
- исправлена ошибка масштабирования в окне настроек дизайнера на вкладке "Плагины";
- исправлено некорректное масштабирование формы выбора источника данных в Visual Studio;
- исправлено неполное отображение страниц с бесконечной шириной в предварительном просмотре добавления страниц;
- исправлен баг загрузки отчета с паролем;
- исправлены проблемы с масштабированием некоторых контролов;
- исправлена ошибка когда выбраны поля у невыбранных таблиц при редактировании подключения;
- исправлена ошибка когда выбраны все таблицы при редактировании подключения, хотя на самом деле выбраны только некоторые из них;
- исправлено исключение System.IO.FileFormatException при использовании неправильного XML отчета на странице FRX;
- исправлена некорректная работа настроек шрифта в MSChartObject при масштабировании больше 100%;
- исправлена ошибка при подключении базы данных CSV через URI;
- исправлена ошибка при запуске отчета с MSChartObject и SparklineObject на DataBand с включенным свойством CanBreak;
- исправлены проблемы с отображением SVG в дизайнере;
- исправлена ошибка с размером шрифта в окне "Дерево отчета";
- исправлено поведение окна "О программе" при изменении масштабирования;
- исправлено игнорирование отрисовывания MSChartObject при отсутствии Title;

[Preview]
- исправлено выравнивание текстового объекта по горизонтали при AutoWidth = true;
- исправлены проблемы с отображением SVG в предварительном просмотре;

[Exports]
+ добавлен экспорт в S3;
+ добавлен экспорт границ страницы при Image-экспорте;
+ добавлена опция "Использовать разрывы страниц" в форме экспорта в HTML;
+ добавлена опция позволяющая включать и отключать добавление закладок на каждую страницу при экспорте в Word 2007;
+ добавлено создание нового листа при приближении количества строк к максимально допустимому на одном листе в Excel 2007;
+ добавлена опция "Преобразовывать общий формат в текстовый" в Excel 2007 экспорте;
+ расширение имен шрифтов;
+ улучшена подсистема упаковки шрифтов для экспорта в PDF;
* ускорена работа экспорта в PDF;
* оптимизирован экспорт интерактивных форм в PDF;
- исправлена ошибка, из-за которой не учитывался LineHeight при экспорте с использованием Skia;
- исправлен многопоточный экспорт в PDF и частные коллекции шрифтов;
- исправлена загрузка шрифтов с традиционными китайскими иероглифами;
- исправлен кернинг шрифтов с написанием справа налево при экспорте в PDF;
- исправлена ошибка при которой шрифты, размером меньше 10, отображались некорректно с включенным свойством ConvertRichText при экспорте в RTF;
- исправлены ошибки кернинга в PDF экспорте;
- исправлена ошибка в PDF экспорте в режиме "Текст в кривых" на высоком разрешении монитора;
- исправлена ошибка, когда для некоторых объектов в PDF экспорте рисовалась тёмная рамка;
- исправлен экспорт семейств шрифтов, зарегистрированных в FastReport.Utils.FRPrivateFontCollection;
- исправлено отображение HTML тегов <strike>, <sub> и <sup> при экспорте в RTF;
- исправлен баг, при котором экспорт отчета с картинками под Skia завершался ошибкой;
- исправлен экспорт объектов подвала в RTF и DOCX;
- теперь однобайтовые пробелы не пропадают из строки после экспорта в Excel 2007;
- исправлено добавление лишних переносов текста при экспорте в CSV;
- исправлена ошибка с добавлением лишних разделителей при экспорте в CSV;
- исправлена ошибка, из-за которой повреждались шрифты при многопоточном экспорте в PDF;
- исправлена ошибка из-за которой не обрабатывались символы переноса при экспорте в HTML;
- исправлена некорректная работа гиперссылок в RichObject при экспорте в PDF;
- исправлен множитель высоты строки в RTF экспорте;
- исправлено двойное сохранение отчета в Google Drive;
- исправлен вызов API для сохранения отчетов в OneDrive;
- исправлены проблемы отображения SVG при экспорте в PDF;
- исправлены ошибки в дереве экспортов;
- исправлен экспорт текста с HTML-тегами в Word 2007;

[WebReport]
+ добавлена тень для отчёта в WebReport;
+ добавлена поддержка экспорта отчётов в Wasm;
* изменено поведение Toolbar для отчётов с одной страницей;
* изменено поведение печати отчёта из браузера в WebReport. Теперь страница печати закрывается автоматически;
- исправлена ошибка из-за которой не работало события клика в WebReport;
- исправлен некорректный экспорт в Word 2007 в веб отчетах;
- исправлена ошибка, при которой некоторые объекты отчета (например, RichObject) могли не отображаться в Web-дизайнере;
- исправлена ошибка, при которой не происходил экспорт одностраничного отчёта, если использовались настройки;
- исправлена ошибка, из-за которой не обновлялся отчёт при изменении параметра;

[.NET Core]
- исправлена ошибка при включении опции InvariantGlobalization;

[Demos]
* изменен скрипт в шаблоне "Sort Group By Total" для корректной работы отчета и отображения итогов, при использовании свойств "Может расти", "Может сжиматься" бэнда "Подвал группы";

[Extras]
+ добавлен экспорт границ страницы при экспорте с помощью PDFSimpleExport;
+ добавлена возможность подключения к MariaDB с помощью плагина MySqlConnection;
+ добавлен формат .db в файловый фильтр для подключения SQLite;
+ добавлен плагин с поддержкой изображений в формате WebP;
* плагин RPTImportPlugin обновлен до .NET Framework 4.7.2;
- исправлена ошибка, приводившая к System.IO.FileLoadException при подключении к ClickHouse и MongoDB;
- исправлена форма выбора источника данных, которая открывалась не на первом плане.

17 сентября 2025

FastReport VCL официально поддерживает RAD Studio 13 Florence

Обновление 2025.2.8 для FastReport VCL (и всех его вариантов поставки) с поддержкой RAD Studio 13 Florence уже доступно в личном кабинете.
15 сентября 2025

С днём программиста «Быстрые отчеты» поздравили студентов РГЭУ (РИНХ)

«Быстрые отчеты» поздравили студентов РГЭУ (РИНХ) с Днём программиста. Генеральный директор компании Алла Шлюпкина выступила с тёплыми словами.
10 сентября 2025

Приглашаем посетить Международный форум в Казани

«Быстрые отчеты» примет участие в KAZAN DIGITAL WEEK – 2025 на экспозиционной площадке МВЦ «Казань Экспо» с 17 по 19 сентября.

Не является публичной офертой
© 1998-2025 ООО «Быстрые отчеты»