Что нового в версии 2021.4 продукта FastReport .NET?
Важно! Изменения в редакциях
Редакции WinForms и Win+WebForms с этой версии перестают существовать. Вместо них добавлена новая редакция Standard, включающая Windows Forms компоненты, ASP.NET компоненты, а также поддержку .NET Core / .NET 5 / Blazor.
Новые возможности
Добавлены новые иконки в стиле Visual Studio. Вы можете переключаться между наборами иконок в окне дизайнера "Вид/Настройки/Интерфейс" (или "Файл/Настройки/Интерфейс" в случае использования ribbon-интерфейса):
Новые иконки представлены в нескольких размерах и отлично подходят для работы на мониторах высокого разрешения (hiDPI).
Добавлена возможность сброса настроек среды FastReport, которые хранятся в конфигурационном файле FastReport.config. Это можно сделать в окне дизайнера "Вид/Настройки/Интерфейс", кнопка "Сброс настроек". Для вступления изменений в силу требуется перезапуск дизайнера.
Добавлена возможность упрощенного отображения полей БД в объекте "Текст" в режиме дизайна. Эта настройка доступна в окне дизайнера "Вид/Настройки/Внешний вид объектов". По умолчанию настройка отключена; при ее включении объекты "Текст", содержащие одно поле БД, отображаются в упрощенном виде:
Это улучшает визуальное восприятие отчета, имеющего много мелких полей. Полное содержимое поля по-прежнему отображается в строке статуса и при редактировании текста объекта.
Добавлена возможность индивидуальной настройки ячеек в углу объекта "Матрица". Для этого используйте контекстное меню ячейки, команды "Разбить ячейку", "Объединить ячейки":
Добавлена возможность подключения к ElasticSearch. Подключение доступно в мастере подключения к данным и из кода.
Добавлен штрих-код Japanese Post 4 - State Code.
Добавлены кнопки свернуть все/развернуть все, и поле поиска для дерева отчетов и дерева данных в дизайнере. При нажатии на + дерево будет развернуто. На - дерево будет свернуто.
Эти изменения должны упростить работу с отчетами, содержащими много объектов и/или источников данных.
Значительно улучшен и оптимизирован конвертор RicthText в объекты отчета.
Количество доступных экспортов в WebReport Core/Blazor Server значительно увеличено.
Добавлены объекты интеграции с FastReport Business Graphics (\Extras\Objects\FastReportBGObjects).
Универсальные плагины FastReport.Data
Обновлены пакеты с плагинами-коннекторами FastReport.Data. Теперь они включают в себя плагины для разных редакций FastReport (.NET, Core, CoreWin, OpenSource) и автоматически подключают нужную библиотеку, в зависимости от используемого продукта. Для корректной работы необходима редакция FastReport версии 2021.3.0 и выше.
Плагины-коннекторы FastReport.Core.Data, FastReport.CoreWin.Data, FastReport.OpenSource.Data объявлены как устаревшие и более не поддерживаются.
Улучшения в публикации пользовательских приложений с использованием FastReport
Для пользовательских приложений на .NET Core 3.0+ и .NET 5+, использующих FastReport.Core, FastReport.CoreWin, FastReport.OpenSource была добавлена поддержка Single File Applications (SFA).
Также, добавлена поддержка публикации приложения с обрезанием неиспользуемых библиотек - свойство MSBuild - PublishTrimmed*.
Внимание! В некоторых случаях, возможно, придётся явно указывать список сборок, которые .NET не должен обрезать. Это может понадобится, если в скрипте отчёта используются эти библиотеки, однако в коде вашего приложения они не задействуются.
Делается это с помощью свойства TrimmerRootAssembly. В данном случае, например, явно указывается, что библиотеку System.Security обрезать не нужно:
1
2
3
<ItemGroup>
<TrimmerRootAssembly Include="System.Security" />
</ItemGroup>
Локализации
В логике смены локализации были сделаны небольшие изменения.
Добавлен пакет FastReport.Localization. Данный пакет содержит файлы локализации для продуктов FastReport.NET, FastReport.Core, FastReport.CoreWin, FastReport.Mono, FastReport.OpenSource и при добавлении этого пакета создает директорию Localization в выходной директории пользовательского проекта.
Добавлен новый API для смены локализации используя тип CultureInfo - FastReport.Utils.Res.LoadLocale(CultureInfo culture).
При вызове данного метода, FastReport ищет подходящую локализацию для выбранной культуры. Загруженные локализации кэшируются. Для корректной работы этого метода, необходимо установить в свой проект пакет FastReport.Localization из п.1 или установить путь к папке с файлами локализации в свойстве FastReport.Utils.Res.LocaleFolder.
Изменения и улучшения в тулбаре WebReport Core/Blazor
Настройки тулбара были вынесены из класса WebReport в свойство WebReport.Toolbar класса ToolbarSettings.
Добавлена возможность настройки тулбара: Положение, цвет выпадающего меню, шрифт, прозрачность иконок, изменение цвета иконок, изменение положения контента. Данные свойства доступны в webReport.Toolbar
Во время загрузки отчёта тулбар теперь не отображается.
У объекта Toolbar было добавлено свойство ShowOnDialogPage (по умолчанию true), которое позволит отключить отрисовку тулбара, если в данный момент открыто диалоговое окно
Добавлено больше экспортов в выпадающем меню тулбара. Данные свойства доступны в webReport.Toolbar.Exports.ExportTypes. Список добавленных экспортов: HTML, Hpgl, Dxf, Json, LaTeX, Ppml, PS, Xaml, Zpl, Excel97, Svg.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
ToolbarSettings toolbar = new ToolbarSettings()
{
Color = Color.LightBlue,
DropDownMenuColor = Color.LightBlue,
ShowOnDialogPage = false,
DropDownMenuTextColor = Color.Black,
IconColor = IconColors.Black,
Position = Positions.Right,
FontSettings = new Font("Arial", 14, FontStyle.Bold),
Exports = new ExportMenuSettings()
{
ExportTypes = Exports.Pdf | Exports.Excel97 | Exports.Rtf
}
// or
//Exports = ExportMenuSettings.All
};
webReport.Toolbar = toolbar;
Улучшения WebReport Core/Blazor Server
Добавлена поддержка Blazor Server компонентов для пакета FastReport.Core3.Web (CoreWin).
Улучшена поддержка компонентов диалоговых отчетов:
DateTimePicker был улучшен. В режиме DateTimePicker.Format.Time он отображает только время, в режиме DateTimePicker.Format.Short - только дату, DateTimePicker.Format.Long - и дату и время
Добавлена поддержка свойства MaxLength для TextBox
Добавлена поддержка свойства Enabled
Добавлена поддержка background-color
ИсправленияИсправлена ошибка, связанная с работой свойств Dock и Anchor у объектов, которые находятся внутри ячеек таблицы или матрицы.
Исправлена ошибка, приводящая к переполнению стека, при размещении объекта "Вложенный отчет" на подвале страницы.
Исправлена ошибка при экспорте в формат SVG, если в системе используется нестандартная настройка DPI.
Более подробная информация об изменениях:
[Engine]
+ добавлено подключение к ElasticSearch;
+ добавлен новый штрих-код - Japanese PostNet;
+ добавлен метод Res.LoadLocale(CultureInfo), который изменяет выбранную локаль по аргументу CultureInfo. Загруженные локали кэшируются. Для корректной работы требуется добавленный пакет FastReport.Localization;
* оптимизирован и унифицирован конвертор RichText в объекты отчёта;
- исправлена ошибка с неправильной шириной табуляции при TextObject.TextRenderType = TextRenderType.HtmlTextRenderer;
- исправлена ошибка с объектом "Вложенный отчет" на бэнде "Подвал страницы", приводящая к переполнению стека;
- исправлена ошибка со свойствами Dock и Anchor у объектов внутри ячеек таблицы/матрицы;
- исправлена ошибка, приводящая к System.ArgumentException при отрисовке PictureObject расположенными за пределами бэнда;
- исправлена ошибка с некорректной работой правого якоря (Anchor = AnchorStyles.Right) при неограниченной ширине страницы;
- исправлена ошибка с заменой пользовательского шрифта, на шрифт по умолчанию при подготовке отчета;
- исправлена ошибка с выравниванием по вертикали при конвертации RTF (по умолчанию теперь Top вместо Center);
- исправлена ошибка конвертации таблиц RTF в объекты отчета.
[Designer]
+ добавлено упрощенное отображение имен полей БД в дизайнере;
+ добавлена кнопка свернуть все/развернуть все, и поле поиска для дерева отчетов и дерева данных;
+ добавлены новые иконки. Вы можете выбрать их в окне дизайнера "Вид/Настройки/Интерфейс";
- исправлена ошибка, приводящая к падению дизайнера отчётов, при некорректной таблице в источнике данных.
[Preview]
- исправлена ошибка сохранения подготовленных отчётов, содержащих сконвертированный RichObject.
[Exports]
+ добавлена опция при экспорте в Word 2007 "Не добавлять разрывы разделов при разрывах страниц". По умолчанию добавляются и разрывы страниц, и разрывы разделов;
- исправлен разрыв страницы в Html экспорте (свойство PageBreaks);
- исправлен SVG экспорт с параметром "Экспорт в несколько файлов";
- исправлена ошибка в SVG экспорте на мониторах с высоким разрешением;
- исправлены имена фалов, сохраняемых в zip архив;
- исправлена ширина табуляции при экспорте RichObject;
- исправлена ошибка XPS-экспорта при которой документы, экспортированные на Linux, не открывались на Windows;
- исправлены ошибки некорректной работы свойств Anchor и Dock при экспорте страниц с бесконечной шириной;
- исправлена ошибка экспорта текстовых объектов в Excel 2007 с включенным типом рендеринга HtmlParagraph. Отключите параметр экспорта WYSIWYG, чтобы экспортировать текст вместо изображений.
[WebReport]
+ добавлена поддержка Blazor компонентов для пакета FastReport.Core3.Web;
+ для диалогов в WebReport добавлена поддержка background-color;
+ для диалогов в WebReport добавлена поддержка свойства Enabled;
+ для диалогового компонента TextBox в WebReport добавлена поддержка свойства MaxLength;
* оптимизирована загрузка локализации для Toolbar;
- исправлен некорректный вывод мультистрочного текста в Blazor (Interactive Forms & TextBox)
- исправлен некорректный фоновый цвет страницы при HTML/Blazor экспорте на браузерах Safari;
- для диалогового компонента Label в WebReport исправлено отсутствие переносов строк;
- исправлена ошибка с зависанием обратного вызова сохранения онлайн-дизайнера в WebReport с сессиями;
- исправлены ошибки некорректной работы свойств Anchor и Dock на страницах с бесконечной шириной.
[Online Designer]
- исправлено сохранение/вызов превью из Онлайн-Дизайнера со страницей в Landscape ориентации.
[.NET Core]
+ добавлена поддержка Single File Application;
* обновлены зависимости к FastReport.Compat и FastReport.DataVisualization. FastReport.Compat теперь правильно определяет возможность использования WinForms API. FastReport.DataVisualization теперь не имеет зависимость к System.Data.SqlClient и System.Drawing.Common;
- исправлена ошибка, при которой отчет не работал с данными из пользовательской библиотеки, хотя она была зарегистрирована в ReferencedAssemblies в CoreWin;
- исправлен вылет приложения при загрузке отчета с неизвестным шрифтом в нескольких потоках на Linux;
- исправлена ошибка "Could not load type 'System.Drawing.Design.UITypeEditor'";
- исправлена загрузка имен таблиц в XmlDataConnection;
- исправлена ошибка, из-за которой не загружался отчёт и ресурсы при публикации/отладки используя IIS/IIS Express. Для корректной работы, необходимо вызывать метод `UseFastReport()` перед 'UseMvc/UseEndpoints'.
[WebReport Core]
+ добавлены xml комментарии (DocumentationFile) к Web библиотекам;
+ добавлено свойство для отключения отображения тулбара на диалоговой странице отчета: webReport.Toolbar.ShowOnDialogPage;
+ добавлено больше экспортов в выпадающем меню тулбара. Данные свойства доступны в webReport.Toolbar.Exports;
+ добавлена возможность настройки тулбара: Положение, цвет выпадающего меню, шрифт, прозрачность иконок, изменение цвета иконок, изменение положения контента. Данные свойства доступны в webReport.Toolbar;
+ диалоговый DateTimePicker для WebReport был улучшен. В режиме DateTimePicker.Format.Time он отображает только время, в режиме DateTimePicker.Format.Short - только дату, DateTimePicker.Format.Long - и дату, и время.
[Extras]
+ добавлен пакет 'FastReport.Localization', который включает в ваш проект файлы локализации FastReport для работы с разными языками;
+ добавлены объекты интеграции с FastReport Business Graphics (\Extras\Objects\FastReportBGObjects).
[Demos]
+ реализован переход к списку отчетов, при нажатии на стрелку на папке в новом демо;
* изменен target framework для нового демо на 4.7.2;
* изменен цвет неактивных кнопок в режиме отображения миниатюр нового демо;
* изменен цвет фона ползунка масштабирования в новом демо;
* изменен цвет фона при отображении диалоговых форм в новом демо;
* изменен цвет фона вкладок интерактивных отчетов в новом демо;
* изменено расположение папки с миниатюрами отчетов для демонстрационного приложения. Теперь эта папка располагается не в Program Files а в AppData\Local;
- исправлены проблемы с отображением элементов интерфейса нового демонстрационного приложения;
- исправлена ошибка, вызывающая сохранение подготовленного отчета при нажатии на раскрывающиеся элементы в меню сохранения нового демонстрационного приложения;
- исправлена ошибка с выравниванием отчетов в окне предварительного просмотра нового демо;
- исправлена ошибка двойного запуска диалоговых форм при выборе отчета в новом демо;
- исправлена ошибка с растяжением миниатюр в новом демо;
- исправлена ошибка, приводящая к задержке при перемещении окна нового демо;
- исправлена ошибка нового демо с одновременным отображением миниатюр в панели папок и в панели отчета.
[Plugins]
* обновлены пакеты с плагинами-коннекторами FastReport.Data.**. Теперь они включают в себя плагины для разных редакций FastReport (.NET, Core, CoreWin, OpenSource) и автоматически подключают нужную библиотеку, в зависимости от используемого продукта;
* postgres npgsql понижение версии с 4.0.3 до 3.2.7.
Добавлено расширение FastReport Business Graphics. Это новый продукт для интерактивной визуализации данных из приложений.
Подробнее о FastReport Business Graphics
Добавлен компонент ListDataSet, позволяющий загружать в куб данные, используя Windows Forms Data Binding.
Добавлена возможность загружать данные в куб, используя механизм Windows Forms Data Binding, применимый в стандартных элементах управления: DataGridView, ListView и Combobox.
Windows Forms Data Binding работает с данными посредством компонента BindingSource, который выступает в роли прокси (больше информации по теме можно найти в MSDN).
Далее приведен небольшой пример загрузки данных из List<>.
1. Объявляем класс ProductInfo
public class ProductInfo
{
public String Name { get; set; }
public String Group { get; set; }
public int Count { get; set; }
}
2. Создаем список записей ProductInfo
List<ProductInfo> CreateProducts()
{
return new List<ProductInfo> {
new ProductInfo {Group = "Bakery products", Name = "Ciabatta", Count = 3},
new ProductInfo {Group = "Bakery products", Name = "Bread", Count = 5},
new ProductInfo {Group = "Bakery products", Name = "Croissant", Count = 1},
new ProductInfo {Group = "Alcohol", Name = "Wine", Count = 6},
new ProductInfo {Group = "Alcohol", Name = "Whiskey", Count = 2},
new ProductInfo {Group = "Alcohol", Name = "Beer", Count = 5},
new ProductInfo {Group = "Dairy products", Name = "Yoghurt", Count = 5},
new ProductInfo {Group = "Dairy products", Name = "Milk", Count = 4}
};
}
3. Настраиваем Cube и slice
private void Form1_Load(object sender, EventArgs e)
{
// настраиваем источник данных
listDataSet1.DataSource = CreateProducts();
// подгружаем данные в Cube
cube1.Active = true;
// настраиваем Slice
slice1.YAxisContainer.AddSliceField(slice1.SliceFields.GetFieldByName("Group"));
slice1.YAxisContainer.AddSliceField(slice1.SliceFields.GetFieldByName("Name"));
var measure = new FastReport.Olap.Slice.MeasureField(slice1, FastReport.Olap.Types.AggregateFunction.Sum, slice1.SliceFields.GetFieldByName("Count"));
slice1.MeasuresContainer.AddMeasure(measure);
slice1.XAxisContainer.AddMeasuresField();
}
В результате получаем следующий вид:
Полный пример расположен в каталоге Demos\C#\DataBindings.
Другие изменения:
- В контекстное меню XAxisZone, YAxisZone компонента SliceGrid добавлен пункт Copy, копирующий в буфер обмена заголовок выбранного узла
- В выпадающих списках вставка из буфера осуществляет поиск значения
- При двойном клике по значению в выпадающем фильтре измерения осуществляется позиционирование на это значение в SliceGrid
Библиотека FastReport Business Graphics .NET предназначена для применения в WinForms приложениях с использованием .NET Framework 4.x.
С помощью библиотеки FastReport Business Graphics вы сможете визуализировать различные иерархические данные, построить бизнес диаграммы для последующего анализа и принятия решений.
Главная задача деловой графики заключается в репрезентации данных таким образом, чтобы наглядно представленная информация ваших приложений помогала быстро получить полное представление о данных, облегчить процесс их анализа, и сделать процесс принятия бизнес-решений максимальной быстрым и эффективным.
FastReport Business Graphics поможет интерактивно представить иерархические данные. Эта библиотека станет идеальным дополнением генератора отчетов FastReport .NET и OLAP-куба FastCube .NET.
На данный момент времени в расширении предоставлены такие диаграммы как: Treemap, Sunburst, Icicle и диаграмма Ганта:
Подробнее о FastReport Business Graphics .NET
Fast Reports и Ростовский государственный экономический университет (РИНХ) подписали договор о сотрудничестве, согласно которому совместная деятельность вуза и IT-компании будет направлена на повышение качества образования и подготовки специалистов в области информационных технологий и информационной безопасности.
На базе ВУЗ также открыли новый Авторизованный учебный центр Fast Reports. В нем можно пройти курс FastReport Академик и стать сертифицированным специалистом или преподавателем.
Проведенные испытания технической совместимости FastReport Mono с “Astra Linux Special Edition”, операционной системой специального назначения, прошли успешно.
Astra Linux Special Edition - это база, созданная для комплексной защиты информации и построения защищённых автоматизированных систем.
С версии Astra Linux Special Edition 1.6 работа генератора отчетов с поддержкой Mono будет безошибочной.
Подробнее об Отечественных версиях Linux.
В этой версии:
Новый объект HTMLView – расширьте возможности и внешний вид своих отчетов используя HTML4 + CSS. Просто загрузите HTML документ в объект*, свяжите с данными и постройте отчет.
Читайте также: HTML 4.0 и CSS в отчёте – Легко! Обзор использования нового объекта отчета "HTMLView".
HTMLView поддерживает динамическую высоту (может расти) и разрыв данных (перенос части на новые страницы).
* - Поддерживается HTML4 c CSS (без использования JavaScript и других web технологий).
Компоновщик динамических таблиц для объекта «Таблица»: позволяет строить табличные отчеты из кода или скрипта отчета, автоматически разбивая таблицу на страницы с учетом ее роста в право и вниз. Теперь можно построить динамический отчет с неизвестным количеством строк и столбцов.
Таблица поддерживает фиксированные заголовки, которые печатаются с новой порцией данных.
Теперь в динамической таблице можно использовать агрегатные функции.
В новой версии «Объект таблица» добавлена возможность разрывать строки вместе с содержимым ячеек, используя свойство AllowSplit.
Таблица может разрывать данные ячеек с текстом.
Также все дочерние объекты ячеек имеют возможность разрываться, по аналогии с механизмом обычных бэндов отчета.
Был улучшен экспорт в PDF и экспорты в DOCX, XSLX, PPTX. В экспорте DOCX появился новый режим «Объектного» экспорта. Данный режим не использует табличный тип экспорта и позволяет добиться хорошего WYSIWYG.
UI элементы:
Новый стиль Dock панелей дизайнера (по умолчанию).
Улучшен диалог выбора данных. Добавлена фильтрация и сортировка.
Добавлен новый тип штрихкода ITF-14.
Полный список изменений:
+ Добавлен новый объект отчета HTML view. Позволяет загружать и отображать HTML4 c CSS
+ Добавлен построитель таблиц для объекта таблица (Строит и разбивает объект таблица на страницы из скрипта или кода приложения. Смотрите примеры Main demo)
+ Добавлен новый режим «Объектный режим» экспорта в фильтр экспорта DOCX
+ Добавлена поддержка HTML тэгов в экспорты XLSX и PPTX
+ Добавлен новый тип линейного штрихкода ITF-14
+ Улучшен UI диалога выбора данных (добавлена фильтрация и сортировка)
+ Добавлены горячие клавиши в редактор RichEdit
+ Добавлена поддержка формата даты в фильтре экспорта XLSX
* Улучшен экспорт из EMF в PDF, добавлена поддержка режима GM_ADVANCED
* Добавлена отсечение линий, выходящих за пределы линейного штрихкода
* Улучшена поддержка монокистей в экспортах EMF->PDF/SVG
- Исправлена дата создания документа в экспорте PDF
- Исправлена отрисовка длинного однострочного текста(без переводов строк)
- Исправлен поиск в предпросмотре
- Исправлена ошибка с объединением ячеек в экспорте XLSX
- Исправлена ошибка в 2D штрихкоде DataMatrix
- Исправлено поведение событий OnProgress во время экспорта
- Исправлена ошибка с печатью изображений с цветовой маской
- Исправлена отрисовка фигур в некоторых фильтрах экспортов (обрезался правый угол)
- Исправлена ошибка с переполнением стека при экспорте изображений PNG без альфа-канала в фильтре экспорта PPTX
- Исправлена ошибка в 2D штрихкоде GS1Databar
- Исправлена ошибка с размером потока в функции IsSupportedFormat когда загружается изображение
- Исправлен вывод для принтеров, которые не поддерживают операции alphablend
- Исправлены ошибки компиляции в C++ Builder
- Исправлен режим смещения для smWhenOverlapped в режиме seTree
- Исправлен экспорт PNG изображений с каналом прозрачности в виде цвета палитры
- Исправлен фильтр конвертации SaveToFrx (конвертор в формат FR.NET)
- Исправлена прозрачность PNG изображений внутри объекта «Карта»
- Исправлена ошибка печати объекта Chart в Lazarus
- Исправлена ошибка с шрифтом Cambria Math в экспорте PDF
- Исправлены диалоги в экспортах: ZPL, PS, PPML
- Исправлен межстрочный интервал в экспортах PostScript и PPML
- Исправлена ошибка с шрифтом HeliosCond в экспорте PDF
В новой версии FastReport Mono 2021.3 добавлены новые экспорты в XODT и XODS.
Их можно найти в настройках совместимости соответствующих экспортов в Open Office.
В построителе отчётов сделаны различные оптимизации и улучшения, а также исправлены найденные ранее ошибки.
Версия 2021.3---------------
[Engine]- исправлена ошибка при которой размеры страницы могли сбрасываться после предварительного просмотра
- исправлена ошибка, приводящая к System.ArgumentOutOfRangeException в функциях Substring
- исправлена ошибка, приводящая к System.ArgumentException при отрисовке PictureObject с некоторыми изображениями
- исправлена ошибка при которой RichText выходил за пределы страницы
- исправлена ошибка перекомпиляции скрипта отчёта, который взаимодействовал с ChildBand
[Designer]
+ улучшено поведение панели страниц
- исправлена ошибка с выходом за пределы массива в SQLBuilder в дизайнере
- исправлена ошибка при которой не открывалась диалоговая страница если в ней есть GridControl
- исправлены ошибки в режиме Right to Left
- исправлена ошибка при повторном масштабировании диалоговой формы
[Preview]
- исправлена ошибка при которой проценты масштаба в Preview могли отображаться некорректно
[Exports]
+ добавлен экспорт в XODT
+ добавлен экспорт в XODS
- исправлена ошибка экспорта в ODF при которой документ не открывался в МойОфис
- исправлена ошибка с закрытием ячейки содержащей RichText при экспорте в RTF
- исправлена ошибка при экспорте объектов с режимом рендеринга HtmlParagraph
- исправлена ошибка экспорта линии со стрелочным указателем при послойном экспорте в Word 2007
- исправлена ошибка экспорта линии со стрелочным указателем при экспорте в PowerPoint 2007
[WebReport]
- исправлена проблема компиляции скрипта VB.NET, приводящая к ошибке "Модуль не может быть общим"