Мы выпустили небольшие обновления к 77 и 78 версиям Case.one, которые содержат ряд оптимизаций и позволяют избежать появления ошибок при работе в системе.
Отчеты
- Реализовали асинхронное формирование и скачивание кастомных отчетов и системных отчетов с функцией предпросмотра — в файле настроек конфигурации appsettings.json в секцию Custom добавили параметры:
- AsyncRequestCleanupCron — cron-выражение для периодической очистки
- AsyncRequestLifetimeMinutes — время жизни записей (в минутах)
"Custom": {
"AsyncRequestCleanupCron": "0 0 * * *",
// Cron-выражение для периодической очистки
"AsyncRequestLifetimeMinutes": 2880,
// Время жизни записей (в минутах)
}
- Выполнили оптимизацию получения данных по мультиблокам/мультистрокам в отчетах (метод DbContextReportExtensions.ExecuteNativeSqlQuery(this DbContext dbContext, IEnumerable<RawSqlQuery> queries, CancellationToken? cancellationToken = null)) с большим количеством строк (свыше 5000) — изменили реализацию с комбинации массива запросов в единую команду на исполнение каждого запроса по отдельности.
Улучшения и исправления
- Исправили некорректную генерацию поля Name пользователей при включении синхронизации с Active Directory в кросс-доменной конфигурации — теперь для правильного определения DomainName значение берется из userPrincipal, если оно есть в NetbiosNames.
- Реализовали гибридный экспорт документов и отчетов в Excel по шаблону:
- Таблица заполняется через ClosedXML
- Недостающие параметры элементов отчета добавляются через OpenXML
- Поправили форматирование отчета при скачивании с использованием шаблона.