Патч 3.6.0.17 (20.11.2023)¶
Добавление и изменение функциональности¶
- В представления “Активные процессы” и “Процессы с ошибкой” добавлена колонка “Версия бизнес-процесса” и фильтр по ней.
- Добавлена возможность экранировать плейсхолдеры, а также вложенные в плейсхолдеры участки текста, обёрнутого в фигурные скобки и отдельные символы фигурных скобок. Подробнее см. раздел документации Экранирование плейсхолдеров.
Новые версии библиотек¶
HtmlAgilityPack 1.11.54
ITfoxtec.Identity.Saml2.MvcCore 4.10.4
Kerberos.NET 4.6.47
NTwain 3.7.3
NUnit 3.14.0
StackExchange.Redis 2.7.4
Изменения API¶
- В web-клиенте при формировании расширений теперь создается файл-манифест
extensions.manifest.json
, который должен лежать рядом с бандлами расширений в папкеextensions
. - В API тестов в метод
ValidationAssert.HasMessages
добавлен параметрinOrder
, позволяющий включить проверку следования результатов валидации в соответствии с порядком следования валидаторов. - В API тестов добавлен метод
ICardLifecycleCompanion<T>.Export
для экспорта карточки. - В API тестов добавлен метод
CardLifecycleCompanionExtensions.CreateTemplateAsync
для создания шаблона карточки. - В desktop-клиенте добавлен класс
NotificationUIObject
, аналогичныйViewModel<EmptyModel>
без свойстваModel
и без подписки на изменения свойств модели. - В desktop-клиенте свойство
ICardModel.Digest
теперь поддерживает уведомление об изменениях через событиеINotifyPropertyChanged
. Для изменения значения свойства используйте методSetDigestAsync
.
Исправления и оптимизации¶
- В web-клиенте для пользователя без прав администратора возвращена возможность добавить к рабочему месту сохраненный запрос из категории “Общие запросы”.
- Исправлена ситуация, когда инвалидация глобального кэша при использовании Redis могла выполняться параллельно в другом потоке с небольшой задержкой, из-за чего последовательное чтение из кэша сразу после инвалидации могло вернуть предыдущее значение.
- Исправлена ошибка “The statement terminated. The maximum recursion 100 has been exhausted before statement completion.” при завершении задания “Задача”. Ошибка воспроизводилась при использовании СУБД MS SQL Server, когда в истории заданий уровень вложенности записи по завершаемому заданию превышал 100.
- В API тестов в
PersonalRoleBuilder
исправлено получение и задание временной зоны. - Исправлено открытие карточек в диалоге посредством
IAdvancedCardDialogManager
с указанным свойствомShowCardOptions.ShowOnlyFirstTab
. Теперь вкладки не появляются в диалоге после рефреша или сохранения открытой карточки. В web-клиенте это классadvancedCardDialogManager
и свойствоDialogOptions.showOnlyFirstTab
соответственно. - Исправлено расширение представлений
OpenInModalDialogOnDoubleClickExtension
, которое не учитывало указание в запросе на открытие карточки её типа, полученного из свойствCardType
илиCardTypeColumn
в референсе представления, связанного с двойным кликом по строке (первый референс, для которого включены флажкиIsCard
иOpenOnDoubleClick
). Это актуально для представлений с виртуальными карточками, которые не могут корректно открываться без задания типа карточки. - Для расширения представлений
OpenInModalDialogOnDoubleClickExtension
исправлена настройка “Открыть первую вкладку без заголовка”. Теперь при её использовании вкладки не появляются после рефреша или сохранения открытой карточки. - Добавлена обработка исключения при попытке разобрать метаданные представления в некорректном формате.
- В web-клиенте исправлено отображение предупреждения об отсутствии лицензии на модуль “Форумы и обсуждения” в карточках настроек “Тип документа” и “Типовое решение”.
- Оптимизировано перечисление пустых объектов
ListStorage<T>
иDictionaryStorage<TKey, TValue>
. - В плагине рассылки уведомлений о заданиях исправлено приведение типов данных на PostgreSQL при подсчёте общего количества заданий у сотрудника.
- Исправлена ошибка, из-за которой в контроле “Список файлов” во всплывающей на файле подсказке могла отображаться некорректная информация о дате и времени его изменения.
- В представлении “Активные процессы” исправлена ошибка, из-за которой игнорировались некоторые параметры фильтра.
- В TessaAdmin исправлена доступность кнопок обновления и сохранения типов, когда предыдущий запрос ещё выполняется. Предотвращена возможность повторного нажатия на кнопки.
- Исправлен алгоритм установки временной зоны из родительского подразделения при сохранении карточки сотрудника с установленным флагом “Наследовать временную зону”.
- Исправлена ошибка в настройках контрола “Контейнер”, из-за которой при назначении полей карточки список доступных секций и колонок мог быть некорректным.
- В web-клиенте исправлена ошибка, из-за которой в карточке в элементе управления “Таблица” невозможно было осуществить переход на страницу, с которой был начат поиск по таблице. Также теперь после сброса фильтра происходит возврат на ту страницу, с которой был начат поиск.
- В web-клиенте исправлен доступ к полю “Временная зона” в карточке типа “Статическая роль”, если установлен флаг “Наследовать временную зону”.
- В TessaAdmin добавлена локализация подсказки для поля “Имя ссылки” в диалоге по настройке маппинга представления с типом поля “Ссылка”.
- Предотвращено создание карточек ошибок при выполнении представления, если при исполнении его SQL-запроса произошла асинхронная отмена (например, пользователь закрыл вкладку браузера). Проблема воспроизводилась при использовании СУБД MS SQL Server.
- В представлениях исправлена работа фильтров “Содержит”, “Начинается с” и “Оканчивается на” при использовании символов
\
,%
,[
,]
и_
. - В карточке “Временные зоны” исправлено вычисление значения смещения
OffsetTime
для записи в БД, если смещение отрицательное. - В web-клиенте в маршрутах исправлена ошибка, из-за которой в параметрах этапов не работала ссылка “Добавить роль “Вычисляемые исполнители”. Ошибка воспроизводилась при настройке параметров этапов в карточке “Вторичный процесс”.
- В web-клиенте исправлена ошибка, возникающая в диалоге “Мои настройки” на вкладке “Уведомления” при попытке добавить или изменить условие в таблице “Правила уведомлений”.
- В desktop-клиенте исправлена ошибка, из-за которой можно было сохранить поисковый запрос без указания имени.
- Исправлена ошибка, из-за которой при отправке уведомлений о новых сообщениях, текст, обёрнутый в фигурные скобки, обрабатывался как плейсхолдер, а должен был обрабатываться как простой текст.
- В web-клиенте в узлах дерева рабочего места исправлена проблема, из-за которой открытое контекстное меню узла дерева не прокручивалось вместе с объектом при прокрутке дерева.
- В web-клиенте исправлена проблема, из-за которой контекстное меню не закрывалось при закрытии вкладки карточки или рабочего места с помощью средней кнопки мыши.
- В web-клиенте в контроле “Текст с форматированием” исправлена проблема, из-за которой открытое контекстное меню файла или внешней ссылки, добавленной в контрол, не прокручивалось вместе с объектом при прокрутке дерева.
- В desktop-клиенте исправлена ошибка, из-за которой иногда некорректно работала прокрутка мышью в карточке “Тип условия”.
- В маршрутах и в конструкторе бизнес-процессов в диалогах с временем жизни “Запрос” или “Задание” исправлена ошибка, из-за которой не устанавливался размер добавленного в карточку диалога файла.
- В API тестов исправлено завершение диалога, созданного этапом или действием “Диалог”, с помощью метода
KrTestHelper.CompleteDialogAsync
. - В маршрутах и в конструкторе бизнес-процессов в диалогах с временем жизни “Задание” исправлена ошибка, из-за которой не сохранялись изменения в файле из карточки диалога, если в сценарии не было получения файлового контейнера карточки диалога.
- В маршрутах в этапе “Диалог” исправлена ошибка при завершении диалога с временем жизни “Карточка”. Ошибка воспроизводилась, если в карточку диалога был добавлен файл и в сценарии сохранения запрашивался объект карточки диалога.
- В маршрутах в этапе “Диалог” исправлена ошибка, из-за которой в диалоге с временем жизни “Карточка” не выполнялся сценарий сохранения при завершении диалога без изменений.
- В маршрутах и в конструкторе бизнес-процессов в диалогах с временем жизни “Задание” исправлена ошибка, из-за которой контент файлов не сохранялся в файловом сателлите. Ошибка затрагивала файлы, добавленные в диалог из шаблона, использованного для его создания.
- В маршрутах и в конструкторе бизнес-процессов в диалоге с временем жизни “Задание” исправлена ошибка, из-за которой в сохранённых файлах карточки диалога оставались установленными флаги (
CardFile.Flags
). - В маршрутах в этапе “Диалог” исправлена ошибка при инициализации диалога с временем жизни “Задание” и “Карточка”, содержащем файлы.
- В конструкторе бизнес-процессов в диалогах теперь выводится понятное сообщение об ошибке при получении карточки диалога в сценарии инициализации. Ошибка воспроизводилась, если в параметрах действия был задан несуществующий шаблон карточки. Ранее выводилась низкоуровневая ошибка “Тип карточки неизвестен или не задан.”.
- В API серверных тестов исправлена ошибка, из-за которой изменение объекта сохраняемой карточки в расширениях на сохранение влияло на работу тестов. Теперь в серверных тестах сохраняется копия карточки
CardLifecycleCompanion<T>.Card
. - В web-клиенте в карточке “Ошибка” исправлено отображение дополнительного описания.
- В desktop-клиенте исправлена ошибка, из-за которой в представлении строка группы обрезалась при наличии горизонтальной прокрутки.
- В desktop-клиенте исправлены утечки памяти, связанные с использованием иконок (объекты
PathGeometry
в WPF). - В desktop-клиенте исправлена ошибка, из-за которой в элементе управления “Представление” не отображались ошибки.
- Исправлена ошибка, из-за которой после сброса настроек пользователя через карточку сотрудника или диалог “Мои настройки” и последующего их изменения некоторые настройки необходимо было устанавливать несколько раз для того, чтобы они корректно сохранились.
- В desktop-клиенте исправлена ошибка, из-за которой настройки представления на рабочем месте перезаписывались при первом открытии представления, если в нём была задана группировка.
- В TessaAdmin исправлена ситуация, когда кнопки обновления и сохранения могли быть недоступными сразу после переключения на вкладку “Схема”.
- Исправлена ошибка обработки плейсхолдера
{tv:...}
с использованием сложной выборки данных из других таблиц. Ошибка возникала при использовании СУБД PostgreSQL. - В TessaAdmin в редакторе представлений исправлен баг, из-за которого после перехода в режим редактирования JSON и последующем выборе пункта “Отменить” в контекстном меню редактора или нажатии Ctrl+Z сбивалось форматирование JSON.
- Исправлена ошибка обработки табличных плейсхолдеров
{t:...}
и{tv:...}
в ситуации, когда в плейсхолдере используется одновременно группировка и сортировка. - Исправлена ошибка применения плейсхолдера-объявления в ситуации, когда в нём не задана сортировка.
- В web-клиенте исправлен возврат зарезервированного номера в последовательность, если выделение нормера настроено “При сохранении (если не заполнен)” и сохранение было прервано до открытия транзакции.
- В контроле “Представление” с включённым расширением “Представление истории заданий” исправлена работоспособость кнопки “Обновить”.
- В маршрутах исправлена ошибка, из-за которой из маршрута не удалялись этапы при исключении группы или шаблона этапов разными способами. Теперь при любом способе исключении группы или шаблона этапов, связанные с ним этапы также удаляются.
- В API тестов исправлена сортировка в методах
PerformerBuilder.AddPerformer
иPerformerBuilder.RemovePerformers
. Ошибка в некоторых случаях приводила к неправильному определению признака наличия изменений в этапе. - В web-клиенте исправлена ошибка, приводящая к дублированию содержания подсказок во вкладках приложения.
- В web-клиенте в карточке настроек
DeskiMobile
переименован наTESSA Assistant
. - Исправлено выполнение тестов для СУБД MS SQL Server 2012. Проблема появилась в версии 3.6.0.16.
Обновление на новую сборку¶
- Добавлена поддержка дистрибутива Linux
Альт Сервер / Альт Рабочая станция 10.1
. Полный список поддерживаемых дистрибутивов (с которыми тестировалась платформа) доступен в разделе документации Системные требования для серверов Linux.
Изменения API при обновлении¶
- В desktop-клиенте для изменения значения свойства
ICardModel.Digest
используйте методSetDigestAsync
.
Изменения конфигурации при обновлении¶
-
Представления:
-
ActiveWorkflows
-
ErrorWorkflows
-
-
Карточки:
TasksNotification
-
Изменены библиотеки локализации.