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;
- исправлена форма выбора источника данных, которая открывалась не на первом плане.

2 сентября 2024

Изменения в лицензионном соглашении и условиях использования FastCube .NET

С 30 сентября вступает в силу обновленное лицензионное соглашение FastCube .NET
21 августа 2024

«РЕД СОФТ» и «Быстрые отчеты» подтвердили совместимость своих продуктов

Компании получили сертификаты о совместимости FastReport .NET Mono, FastReport .NET Avalonia и FastReport VCL с операционной системой РЕД ОС 8.
6 августа 2024

Угощаем скидкой на генераторы отчетов в честь дня рождения

В этом году наша компания отмечает знаменательное событие — нам исполнилось 26 лет! В честь праздника мы решили порадовать Вас скидками на наши решения.