8 апреля 2025

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

Встречайте новый релиз 2025.2 для вариантов поставок FastReport .NET: WinForms, WPF, Avalonia, Mono, WEB, Ultimate. В этом обновлении вас ждёт поддержка .NET 9, библиотека для выполнения скриптов на языке C#, плагин импорта документов из Word, коннектор к Apache Ignite, улучшения дизайнера и экспортов, а также новые функции в WebReport.

Не упустите возможность обновить FastReport .NET и расширить свой функционал!

 


 

Импорт документов из Word

В наборе компонентов FastReport .NET Ultimate появился плагин, который позволяет импортировать документы Microsoft Word (.docx). При открытии такого файла он преобразуется в шаблон отчета FastReport .NET (.frx).

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

На данный момент наш плагин не поддерживает: подсветку фона части строки, шейпы (Shapes), а также вложенную векторную графику Vector Markup Language (VML) и OLE объекты. Об особенностях работы импорта и как подключить плагин, можно прочитать в статье.

 


 

Поддержка .NET 9

Поддержка .NET 9

Эта платформа повышает производительность приложений и добавляет множество новых возможностей для ваших проектов. В этом обновлении появилась поддержка .NET 9 для:

  • FastReport .NET,
  • FastReport.Core,
  • FastReport.Core.Skia,
  • FastReport.WPF,
  • FastReport.Avalonia,
  • FastReport.Web,
  • FastReport.Web.Skia,
  • FastReport.Blazor.Wasm.

Мы отказались от бинарной сериализации. BinaryFormatter стал причиной целого ряда проблем с безопасностью и Microsoft в .NET 9 отказались от его использования. Наша команда также убрала класс BinaryFormatter из исходного кода. Подробнее об этом можно прочитать по этой ссылке.

 


 

Улучшения дизайнера отчетов

Также в этой версии были внедрены несколько полезных функций, упрощающих работу с отчётами.

Теперь в инспекторе объектов можно быстро копировать данные из списка свойств объекта с помощью горячих клавиш Ctrl + C. Это поможет легко переносить свойства объектов между различными частями документа или даже между разными отчётами.

Кроме того, появилась возможность копировать итоги и параметры с сохранением иерархии вложенности. Это означает, что при копировании сложных структур данных их первоначальная организация будет сохранена, что позволяет избежать необходимости вручную восстанавливать структуру после копирования.

 


 

Подключение к Apache Ignite и РЕД Квант

Подключение к Apache Ignite и РЕД Квант

С этим обновлением был добавлен новый плагин, который значительно упрощает процесс работы с базами данных Apache Ignite и РЕД Квант при создании отчётов. Этот плагин позволяет напрямую подключать отчёты к указанным базам данных, обеспечивая удобный доступ к необходимым данным для анализа и визуализации.

Коннектор Apache Ignite реализован на основе .NET Thin Client Ignite.NET. Он предоставляет возможность подключения к кластерам Apache Ignite, работы с кэшами (включая SQL-таблицы) и обработки различных типов данных.

Кроме того, коннектор поддерживает подключение к одному или нескольким узлам Apache Ignite. Адреса узлов указываются в формате хост:порт и разделяются запятыми. Подключение возможно как с аутентификацией (если authenticationEnabled используется в конфигурации), так и без неё.

В коннекторе поддерживается работа с кэшами, созданными как ключ-значение, так и с SQL-таблицами. Для кэшей с метаданными QueryEntity поддерживаются операции получения списка полей и их типов данных. Подробнее можно прочитать в статье.

 


 

Улучшения окна предварительного просмотра

В OutlineControl мы добавили удобные кнопки с иконками для сворачивания и разворачивания. Эти кнопки были и раньше, но без иконок.

Улучшения окна предварительного просмотра

Помимо этого, были добавлены свойства, которые позволяют изменять ширину и высоту полос прокрутки в окне предварительного просмотра.

 


 

Улучшения экспортов

Добавлен экспорт форматов чисел, валюты, даты, времени и процентов в OpenOffice Calc (.ods).

В этом обновлении также был внедрён новый режим экспортов в виде параграфов для файлов формата OpenOffice Writer (.odt). Это упрощает редактирование сгенерированных документов и делает их более визуально понятными для человека. Новый режим экспорта не заменяет, а дополняет уже существующий режим и расширяет его возможности.

Улучшения экспортов

Кроме того, была добавлена опция "Автоподбор ширины" для MS Excel-экспорта.

Будет работать только при определенных значениях свойств текстового объекта: свойства AutoWidth и AutoShrink включены; значение свойства HorzAling любое, кроме Justify.

Опция "Автоподбор ширины" для MS Excel-экспорта

 


 

Изменения в WebReport

Изменения в WebReport

 

Поиск по всему отчету

Добавлен поиск текста по всему отчету, аналогично десктопной версии Viewer, при нахождении слова на другой странице, просмотр будет автоматически на нее переключен. Поиск доступен в WebReport с FastReport.Core, в WebReport для Blazor Server и WebReport для Blazor Wasm. Управлять отображением кнопки поиска можно с помощью свойства:

WebReport.Toolbar.ShowSearchButton = false;

Поиск по всему отчету

Цвет подсветки найденных слов можно изменить с помощью свойства:

WebReport.Toolbar.SearchHighlight = Color.Red;

 


 

Улучшения в настройке кэширования для WebReport

С выходом новой версии в WebReport появились дополнительные возможности для настройки кэширования.

Во-первых, теперь можно задавать индивидуальные параметры кэширования для каждого конкретного экземпляра WebReport. Ранее были доступны только общие настройки, применявшиеся ко всем отчётам, что могло быть неудобно, особенно если требовалось дольше сохранять в памяти определённые отчёты. С помощью свойства webReport.CacheOptions вы можете настроить время хранения в кэше для конкретного отчёта.

Во-вторых, появилась более гибкая настройка времени хранения отчёта в кэше благодаря параметрам AbsoluteExpirationDuration и AbsoluteExpiration. Ранее использовалась только опция CacheDuration, основанная на скользящем принципе: если отчёт использовался в течение заданного времени, таймер сбрасывался, и отчёт оставался в памяти. Это могло привести к тому, что отчёт никогда не удалялся из кэша.

Новые параметры позволяют задать точное время, когда отчёт должен быть окончательно удалён из кэша, независимо от его использования. При этом CacheDuration и новые параметры AbsoluteExpiration и AbsoluteExpirationDuration можно использовать совместно.

 // Общие настройки для всех WebReport
 services.AddFastReport(options =>
 {
 options.CacheOptions.CacheDuration = TimeSpan.FromMinutes(10);
 options.CacheOptions.AbsoluteExpirationDuration = TimeSpan.FromMinutes(20);
 });
 
 // Индивидуальные настройки WebReport, имеющие больший приоритет
 webReport.CacheOptions = new WebReportCacheOptions()
 {
 CacheDuration = // ...,
 AbsoluteExpiration = DateTime.Now.AddMinutes(30),
 // или
 AbsoluteExpirationDuration = // ...
 }; 

 


 

Обновленное демонстрационное веб-приложение на ASP .NET Core

Обновленное демонстрационное веб-приложение на ASP .NET Core


Мы обновили наше демо-приложение на ASP .NET Core, чтобы продукт радовал вас не только своим функционалом, но и внешним видом. Обновленное приложение доступно по ссылке.

 


 

Обновленное демо Online Designer

Обновленное демо Online Designer


Кроме того, мы обновили демо-приложение Online Designer, на котором вы сможете посмотреть больше примеров наших отчётов, экспортировать их, а также попробовать обновленный онлайн дизайнер на них. Обновленное приложение доступно по ссылке.

 


 

Поддержка FastScript .NET

Поддержка FastScript .NET


Добавлена возможность выполнения скрипта отчета, используя FastScript .NET.

FastScript .NET — это библиотека для выполнения скриптов на языке C#, которая не зависит от CodeDOM/Roslyn и может быть использована в средах, где запрещена кодогенерация (Native AOT, iOS, WASM). 

FastScript .NET входит в состав следующих вариантов поставок FastReport .NET: WinForms, WPF, Avalonia, Mono, WEB, Ultimate.

Для использования FastScript .NET совместно с FastReport .NET:

  • добавьте в свое приложение ссылку на nuget пакет FastReport.Plugins.FastScript;
  • выполните следующий код перед первым использованием объекта Report:
FastReport.Code.CodeProvider.DefaultProvider = typeof(FastReport.Code.FastScript.FastScriptCodeProvider);

Теперь все отчеты будут использовать FastScript .NET для вычисления выражений и выполнения кода отчета.

В FastScript .NET нет поддержки языка скрипта VB.NET, а также не поддерживается тип dynamic. Некоторые отчеты, использующие объект "Улучшенная матрица", не будут работать.

Подробная документация по работе с FastScript .NET доступна по этой ссылке.

 


 

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

[Engine]
+ добавлен новый движок скрипта - FastScript .NET;
+ добавлена поддержка вертикальной табуляции;
+ добавлен импорт документов DOCX в шаблон отчёта;
+ добавлена поддержка кодировки для китайского (упрощенного) языка при конвертации RTF;
+ добавлена возможность отключить интеграцию с МоиОтчеты Облако;
+ добавлен штрих-код GS1 Datamatrix;
+ добавлено преобразование SkBitmap в Bitmap и Image в FastReport.SkiaDrawing;
- исправлена ошибка с RichObject в кодировке zh-tw;
- исправлена ошибка одновременной компиляции скрипта отчёта при подготовке отчётов в нескольких потоках;
- исправлена ошибка при печати пустой матрицы;
- исправлена ошибка передаче null значения в параметр запроса MS SQL;
- исправлены ошибки при компиляции библиотек под .NET 9;
- исправлена ошибка приводящая к бесконечному циклу, когда включено свойство "StartNewPage" дочернего бэнда "Заголовка страницы" или "Заголовка колонки";
- исправлена ошибка приводящая к System.ArgumentException при подключении к MySQL;
- исправлена ошибка вычисления выражения PrintableExpression страницы;
- исправлена ошибка приводящая к System.NullReferenceException в методе Report.GetParameterValue;

[Designer]
+ добавлена возможность копировать данные из списка свойств объекта с помощью горячих клавиш Ctrl + C;
+ добавлена возможность копировать итоги и параметры с сохранением иерархии вложенности;
* в окне открытия страницы отчета осталась возможность выбрать только *.frx файл;
* в настройках дизайнера Mono скрыта вкладка с недоступными настройками (Страница "Код");
* изменена логика обработки стилей .rtf файла при его открытии в дизайнере;
- исправлена ошибка, когда пропадало изображение PictureObject, после отмены изменений в дизайнере, при редактировании подготовленной страницы;
- исправлена ошибка поискового фильтра в дереве данных, при которой сбрасывалось текущее состояние поиска;
- удален пункт "Новый диалог" контекстного меню в Community версии, выбор которого приводил к необрабатываемому исключению;
- исправлена ошибка при запуске просмотра отчета из дизайнера;
- исправлено исключение System.InvalidOperationException при удалении столбца источника данных, если такого столбца больше нет в базе данных;
- исправлено считывание штрихкода GS1 DataMatrix как DataMatrix;
- исправлена ошибка с выбором размещения колонок бэнда в окне "Редактор колонок";
- исправлено удаление объектов и категорий с боковой панели в дизайнере;
- исправлена ошибка с отображением иконок, которая появилась с версией AvaloniaUI 11.1;
- исправлена ошибка, когда при добавлении функции IsNull через "Редактор текста" добавлялась лишняя запятая;

[Preview]
+ добавлена кнопка для отправки отчета по электронной почте при использовании MAPI в превью в WPF;
+ добавлены кнопки сворачивания и разворачивания с иконками в OutlineControl;
+ добавлена возможность изменять ширину и высоту полосы прокрутки через код;
- исправлена ошибка с неправильным размером бумаги для принтеров без опции "Авторазмер бумаги" при нажатии кнопок "Настройки", а затем "Дополнительно" в окне "Печать";
- исправлено отключение кнопки сохранения подготовленного отчета в превью;
- исправлено отключение вкладки "Хранилище" в меню сохранения отчета в предварительном просмотре;
- исправлена ошибка с "Улучшенной матрицей" при отсутствие фильтров;
- исправлена ошибка при которой не появлялась форма печати в превью по нажатию Ctrl + P;

[Exports]
+ добавлен экспорт свойства "Author" при экспорте в PDF/A;
+ добавлена поддержка HTML тега неразрывного пробела при экспорте в Excel;
+ добавлен экспорт форматов чисел, валюты, даты, времени и процентов в OpenOffice Calc (.ods);
+ добавлена опция "Автоподбор ширины" для экспорта в MS Excel;
+ добавлен новый режим экспорта по параграфам в документы OpenOffice Writer (формат .odt);
* теперь при экспорте страниц со свойством ExportAlias в Excel, суффикс "-n" не будет добавляться к имени листа, если это возможно;
- исправлена ошибка, когда название шрифта экспортировалось без кавычек в HTML;
- исправлена ошибка в FastReport.Core с некоторыми пользовательскими шрифтами;
- исправлена ошибка в HTML-экспорте при которой, не отображалась граница штрих-кода;
- исправлена ошибка открытия файлов при экспорте отчета с спецсимволами в форматы ODT и ODS;
- исправлено некорректное отображение и экспорт некоторых Unicode символов в Skia/Avalonia;
- исправлен экспорт заливки TableObject в PDF-экспорте;
- исправлен экспорт заливки TableObject и страниц в HTML-экспорте;
- добавлен экспорт высоты для объединенных ячеек при экспорте в Excel;

[WebReport]
+ добавлен поиск по WebReport для ASP.NET;
+ добавлен поиск по WebReport для Blazor WASM;
+ добавлена поддержка .NET 9 для FastReport.Blazor.Wasm;
+ добавлена возможность создания подключения к хранимым  процедурам в WebReport;
- исправлена проблема, которая не позволяла изменить DataConnection после его создания в OnlineDesigner;
- исправлено преобразование TextObject в SVG при предварительном просмотре в Blazor;
- исправлена поддержка Size CommandParameter;
- исправлена отрисовка кнопок переключения страниц в Blazor при их выключении;
- исправлена ошибка, когда значение параметра RouteBasePath не учитывалось при настройке WebReport;

[.NET Core]
+ добавлен фильтр таблиц подключений;
+ добавлен класс JsonConnectionType для использования в методе JsonDataConnection.GetConnectionType и методы GetConnectionType() и GetParameterType() в коннектор JsonDataConnection;
- исправлена ошибка с кодировкой при подключении файла данных CSV для отчета в .NET Core;

[Common]
* изменена ширина окна "О программе...";

[Extras]
+ добавлена возможность подключения к Apache Ignite и РЕД Квант;

[Demos]
+ добавлен файл UsedPackages.version для паков WPF;
- исправлено название Avalonia и WPF при запуске демо приложения.

 

17 апреля 2025

Импорт документов из Word уже доступен в FastReport .NET Ultimate

С релизом 2025.2 подписка на Ultimate .NET стала еще выгодней! Все владельцы лицензии получили дополнительный плагин для импорта документов из Microsoft Word.
14 апреля 2025

Скидка 50% на продление лицензии FastReport Single — только до 30 апреля!

Отличные новости для владельцев FastReport VCL и FastReport .NET лицензии Single! Только до 30 апреля можно продлить свою лицензию с внушительной скидкой 50%.
7 апреля 2025

Релиз FastReport Business Graphics .NET 2025.2

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