Патч 4.1.4 (23.02.2026)¶
Новые возможности¶
- Добавлена поддержка мобильного приложения TESSA Mobile Client. Описание доступно в руководстве пользователя, руководстве администратора и руководстве разработчика. Приложение позволяет подключаться к нескольким серверам TESSA и использовать полнофункциональный web-клиент, включая разработанные в рамках проекта расширения, на мобильных устройствах под управлением ОС Andoid и iOS.
Добавление и изменение функциональности¶
- В редактор схемы добавлена поддержка удаления объекта схемы, который уже был удалён из базы данных другими средствами. Ранее подобные попытки приводили к ошибкам.
- Таймаут по умолчанию
CheckTimeoutдля скриптов.bat/.shувеличен с 20 до 40 секунд. - Добавлена поддержка отображения кнопки “Перевзять задание в работу” для незагруженных заданий на верхнем уровне действий. Кнопка “Скрытые по умолчанию действия” теперь отображается только при наличии у сотрудника других ролей, дающих доступ к действиям без взятия в работу.
- В настройки персонализации добавлена возможность задать отдельные цвета для заданий, взятых в работу пользователем и взятых в работу другими сотрудниками. Эти цвета имеют приоритет перед цветами для функциональных ролей.
- В карточку настроек пользователя добавлена опция “Не скрывать задания, взятые в работу другими сотрудниками”. При включении указанной настройки задания, взятые другими, отображаются как обычные, если доступны для перевзятия. Скрытые задания по другим причинам продолжают оставаться скрытыми независимо от данной настройки.
- В web-клиенте в мобильной версии теперь все вкладки отображаются с названием.
- Для флага
InvisibleByDefaultв настройках колонок представлений улучшено описание в документации в разделе Редактор колонок представления и во всплывающей подсказке на флаге. - Добавлена возможность настройки игнорирования отсутствующих путей в хранилище карточек при выгрузке внешнего контента.
- В web-клиенте добавлена возможность стилизации вкладок верхней панели.
- Добавлены события истории действий, связанные с неудачными действиями над карточкой: “Неудачное сохранение карточки”, “Неудачное создание карточки”, “Неудачное восстановление карточки”, “Неудачный импорт карточки”.
- В web-клиенте у вложенных тайлов теперь могут отображаться иконка и описание, если они были заданы в настройках тайла.
- Для форматтера плейсхолдеров
#barcodeдобавлена поддержка параметровa, отвечающего за выравнивание штрих-кода внутри изображения, иfs, отвечающего за размер шрифта метки штрих-кода. Также изменён параметрl: для него больше не нужно указывать значение. Подробнее смотрите в разделе шаблоны файлов и плейсхолдеры. - В редакторе схемы при валидации уникальности имени колонки теперь проверяются не только физические и комплексные колонки внутри таблицы, но и ссылочные колонки внутри комплексных колонок таблицы.
- В истории действий в текстовом описании заданий теперь выводится больше информации об изменении задания.
Консольная утилита tadmin¶
- Добавлена команда PackageMobileClientApp, которая создаёт файл
.jcardдля заданного мобильного приложения. Импортировать такую карточку можно командойImportCardsдля публикации.
Новые версии библиотек¶
.NET 8.0.24CAdESLib 1.7.1.1DocumentFormat.OpenXml 3.4.1HtmlSanitizer 9.0.892iTextSharp.LGPLv2.Core 3.7.12ITfoxtec.Identity.Saml2.MvcCore 4.17.0Kerberos.NET 4.6.146MailKit 4.15.0Microsoft.Data.SqlClient 6.1.4Microsoft.IdentityModel.Protocols.OpenIdConnect 8.16.0Microsoft.NET.Test.Sdk 18.0.1NetOfficeFw.Word 1.9.8OpenTelemetry 1.15.0Otp.NET 1.4.1PDFsharp-wpf 6.2.4SkiaSharp 3.119.2SkiaSharp.QrCode 0.12.0StackExchange.Redis 2.11.3
Изменения API¶
- Добавлено свойство
ISessionLoginContext.ClientParameters, посредством которого в методеISessionLoginProvider.TryGetUserAsyncможно получить информацию с клиента, переданную в методISessionServer.OpenSessionAsync, в т.ч. по IP-адресу и DNS-имени клиента. - В методе
StorageHelper.Mergeдобавлен опциональный параметрalwaysOverrideLists, при передаче которого какtrueвсе вложенные списки будут полностью заменяться вместо их объединения. - Добавлена возможность кастомизации отображения информации о задании. Подробнее в Руководстве разработчика.
- Добавлена возможность установки информации по файлу
IFile.Info, используя свойствоIFileCreationToken.Info. Для файлов карточки свойствоIFile.Infoсоответствует свойствуCardFile.Info. Изменение актуально и для серверного API, и для web-клиента. - Добавлен метод
IOperationRepository.ReturnToCreatedAsync, который переводит любую незавершённую операцию в состояние “Создано”, откуда она может быть взята в работу. В web-клиенте добавлен аналогичный методIOperationService.returnToCreated(актуально для типов операций, которыми разрешено управлять с клиента).
Исправления и оптимизации¶
- При генерации файлов по шаблону в формате
.docxи.xlsxисправлена ошибка, из-за которой расширение “Перед заменой плейсхолдера” не выполнялось для плейсхолдеров в некоторых местах документа. - В редакторе схемы данных при использовании схемы на СУБД PostgreSQL исправлена ошибка, возникающая при попытке изменить имя таблицы, когда длина имени превышает 50 символов, а в таблице есть колонки строкового типа с ограничением длины строки.
- В web-клиенте исправлена ошибка, в результате которой текст вкладок приложения мог обрезаться в браузере Mozilla Firefox.
- Исправлена сортировка в представлении “Типы ролей”.
- В web-клиенте исправлена ошибка, из-за которой в запросе к представлению параметр с типом
Guidмог быть установлен с пустым значением. - В web-клиенте в контроле “Текст с форматированием” исправлена ошибка, из-за которой рамка изменения размера картинки могла иметь некорректные размеры.
- При создании электронной подписи для сертификатов с расширением
OCSP No Checkне выполняется проверка на отзыв. - Исправлена ошибка, из-за которой фильтры по типу уведомления работали некорректно.
- В web-клиенте исправлена ошибка отображения подсказок на кнопках тулбара, создаваемых по настройкам шаблонов бизнес-процессов.
- В web-клиенте исправлена ошибка отображения подсказок на кнопках тулбара, сворачиваемых в группу.
- В плагине
SmartRoleGenerationPluginисправлена ошибка, из-за которой при обновлении генератора умных ролей предварительно не удалялись связанные с данным генератором операции на пересчёт ролей. - Реализована корректная обработка ошибки взятия блокировки при попытке удалить правило доступа в то время, когда производится расчёт правил доступа.
- В web-клиенте исправлена ошибка, из-за которой в справке не открывался предпросмотр файлов, приложенных в контроле “Текст с форматированием”.
- Исправлена проблема, при которой серверные расширения
CardMetadataExtensionмогли запускаться на соединении с другой базой данных, или на соединении с открытой транзакцией. - Исправлена ошибка с некорректным выполнением некоторых методов объекта
ICardGetStrategy, если они вызываются без предварительно построенных метаданныхICardMetadata, и всё их выполнение производится внутри блокаISeparateDbConnectionWorker.CreateScope(). Такое обычно могло происходить в плагинах Chronos и в тестах. - В аннотациях pdf исправлена ошибка с использованием пользовательских цветов для текста.
- Исправлен механизм обновления версий действий бизнес-процессов. Исправлено поведение, при котором обновление действий на новую версию в экземплярах бизнес-процесса с указанным идентификатором версии шаблона бизнес-процесса возвращало ошибку, если не было обнаружено ни одного действия, подлежащего обновлению. Кроме того, теперь ошибки возникшие при выполнении обновления возвращаются на клиентскую часть как ошибки, а не как предупреждения.
- Исправлена временная лицензия, создаваемая объектом
TransientLicenseManager. Он используется при отсутствии действительного файла лицензии в юнит-тестах. - В отладке представлений TessaAdmin исправлен вывод комментария в тексте SQL для параметра
"IsAdministrator", если в интерфейсе выбран уровень доступа “Пользователь”. - В web-клиенте в обсуждениях была исправлена ошибка, из-за которой в сообщениях некорретно отображались изображения, если для них были заданы настройки размера.
- В web-клиенте исправлена ошибка в уведомлениях браузера, из-за которой неправильно работала кнопка “Открыть здесь”.
- В web-клиенте исправлена ошибка, из-за которой в мобильной версии в фильтрах контрола “Представление” кнопки “+N” и “Корзина” исчезали за пределы экрана.
- Исправлено сохранение файлов в файловый сателлит карточки, для типа которой не установлен флаг “Разрешить файлы”.
- В web-клиенте для подписания файлов с недоверенным корневым сертификатом исправлен показ валидационной информации.
- В web-клиенте исправлена ошибка, из-за которой callback
onValueSelectedв функцииshowViewsDialogвызывался безawait. - Исправлена ошибка проверки правил доступа при серверном сохранении карточки в случае, когда для сохраняемой карточки выданы все права доступа и в неё копируются файлы из другой карточки, к которой у пользователя нет доступа.
- Исправлены проблемы при взаимодействии Deski с терминалом на ОС Windows 10/11.
- В web-клиете исправлены возможные проблемы при параллельном редактировании Р7-Офис/OnlyOffice.
- В синхронизации AD/LDAP исправлен алгоритм определения статуса заблокированных пользователей.
- Исправлена ошибка в функционировании сервиса
monitorна ОС Linux из-за отсутствующей зависимостиTessa.Linux. - В сервисе
monitorисправлена возможная ошибкаThe list of label values must have the same number of elements as the list of label names. Ошибка могла возникать в случае, если для счётчика указывались различные наборы меток. - Исправлена отправка уведомлений о пользователях, добавленных в участники обсуждения. Уведомление не отправляется, если пользователь добавлен при упоминании в сообщении посредством
@ИмяПользователя(при этом уже отправляется другое уведомление). - В web-клиенте исправлена ошибка, из-за которой при копировании текста из контрола “Текст с форматированием” добавлялись пустые строки.
- Исправлена ошибка в webbi Redis Explorer, не позволявшая отображать имена пользователей при просмотре сессий.
- В web-клиенте исправлены ошибки отображения диаграмм при мобильном разрешении вью-порта.
- В web-клиенте исправлена ошибка, из-за которой на нижней панели представления не отображались элементы, которые были добавлены после контрола пейджинга.
- В web‑клиенте для обозревателя свойств исправлена ошибка, из‑за которой свойство, использующее табличный провайдер данных (созданный по умолчанию), не учитывало реактивность декорируемого объекта данных.
- В web-клиенте исправлена ошибка сортировки кнопок конструктора процессов и маршрутов на тулбаре карточки по настройке кнопки “Порядок” в ситуации, когда кнопки были объединены в группу.
- В web-клиенте в мобильной верстке диалогов исправлены некорректные нулевые отступы после заголовков контролов.
- Исправление получение значения для свойства
CardGetFileContentResponse.ContentToken, если у возвращаемого объекта оно не было установлено. Теперь по умолчанию возвращается значениеnull(ранее выбрасывалось исключениеKeyNotFoundException). - В web-клиенте исправлена ошибка, из-за которой в карточках для контролов “Метка” и “Текст” настройки внутренних отступов работали некорректно.
- В web-клиенте исправлена ошибка маппинга параметров представлений в рабочем месте в ситуации, когда маппинг производился на колонку, содержащую численные значения.
- Исправлена очистка временных файлов при отправке почты, если при обработке письма оно не было отправлено из-за ошибки, при отмене отправки (остановка плагина), а также в случае откладывания отправки, когда некоторые из приложенных файлов ещё не загружены в карточку.
- В web-клиенте исправлена ошибка, из-за которой номер карточки мог оставаться зарезервированным при закрытии приложения.
- При выгрузке данных представлений в формате “Excel - CSV” для колонок с типом данных
Decimalзначение теперь выводится без разделителя разрядов. Например, вместо строки10 000,00записывается10000,00. Таким образом, при открытии сгенерированного csv-файла в Excel значения будут определяться как числа (а не строки), и по ним будут работать различные функции (в т.ч. агрегатные, такие какSUM). - В web-клиенте исправлена ошибка, из-за которой в мобильной версии была возможность закрыть те вкладки, которые закрывать нельзя.
- Уникальное имя (DN) в карточках сотрудников, подразделений и статических ролей (используется для синхронизации AD/LDAP) теперь имеет значение, уникальное для всех объектов в системе, и максимальный размер в 260 символов.
- При копировании либо создании по шаблону карточки персональной роли, статической роли или подразделения теперь происходит очистка следующих полей секции “Синхронизация с Active Directory / LDAP”: “Дата последней синхронизации”, “Дата последнего изменения в AD / LDAP”, “Уникальное имя (DN)”, “Active Directory / LDAP ID”.
- Исправлена ошибка, возникавшая при экспорте карточек шаблонов бизнес-процессов, когда в хранилище отсутствовали данные по пути, для которого настроена выгрузка внешнего контента.
- Оптимизированы индексы для таблицы
RoleUsers. - В API файлов установка свойства
Sizeу токеновIFileCreationToken/IFileVersionCreationTokenтеперь также устанавливает соответствующие свойства объектовCardFile/CardFileVersion. Ранее значение размера записывалось в объектыIFile/IFileVersion, но не в связанные объекты в карточке. Исправление актуально и для серверного API, и для web-клиента. - Исправлена работа действия “Тестовое согласование” в карточке автомобиля.
- Исправлено поведение диалога комментария при выборе сертификата.
- При генерации шаблонов файлов в формате
docxисправлена ошибка, приводящая к зависанию генерации шаблона файла при некоторых компоновках документа. - В конструкторе бизнес-процессов в действиях “Задание”, “Группа заданий” и “Настраиваемое задание” исправлена ошибка, из-за которой не отправлялись уведомления при завершении задания. Ошибка возникала, если в параметрах отправки уведомлений при завершении задания не были заданы получатели.
- В web-клиенте исправлена ошибка, из-за которой заголовки у контролов “Метка” и “Текст” обрезались в горизонтальных блоках.
- Исправлена ошибка, из-за которой при неудачном сохранении или создании карточки в историю действий всё равно записывалась информация о её создании или изменении.
- В web-клиенте исправлена ошибка, в результате которой настройки стилей “Подчеркнутый”, “Зачеркнутый”, “Линия сверху” применялись для кнопок контролов.
- В web-клиенте исправлена ошибка запуска перерасчёта умной роли из интерфейса карточки умной роли.
- В web-клиенте исправлена ошибка запуска перерасчёта ACL из интерфейса карточки.
- Исправлена проблема, из-за которой ручной запуск перерасчёта умных ролей не пересчитывал итоговый список сотрудников по составу умной роли в случае, если при перерасчёте не было изменений состава умной роли.
- В web-клиенте для контрола “Представление” исправлена ошибка, делавшая фон полос прокрутки прозрачным. Добавлены фиксированные горизонтальные границы в начало и конец области с данными.
- В web-клиенте для контрола “Представление” добавлена поддержка вытягивания по высоте.
- В web-клиенте для контрола “Представление” исправлена ошибка приводившая к отсутствию границы между заголовком и телом таблицы.
- В web-клиенте исправлена ошибка, из-за которой невозможно открыть представление в карточке или на рабочем месте, если для него были заданы настройки колонок, которых уже нет в метаданных.
- Исправлена ошибка, из-за которой в процессе мобильного согласования в случае превышения ограничения размера файлов лист согласования не отправлялся в почтовом уведомлении.
- В web-клиенте исправлена ошибка, из-за которой игнорировалось выравнивание заголовка колонки.
- В карточке “Виртуальный файл” исправлена ошибка, из-за которой если при выполнении компиляции скрипта инициализации виртуального файла по кнопке “Выполнить компиляцию” возникала ошибка компиляции, то при последующих сохранениях карточки возникала ошибка несоответствия версии карточки.
- В карточке умной роли исправлена ошибка, из-за которой в таблице “Состав роли” не открывались карточки ролей по двойному клику. Ошибка возникала при использовании СУБД PostgreSQL.
- Исправлена ошибка, приводившая к попаданию удалённых строк коллекционных секций в параметры фильтрации при настроенном маппинге представления.
- В форматтере плейсхолдеров
#barcodeисправлена ошибка, из-за которой использовался слишком большой размер шрифта метки при её отображении. - Исправлена ошибка валидатора типа “Уникальное поле”, которая могла возникать при установленном флаге “Автоматически удалять строки-дубликаты”.
- В web-клиенте устранена проблема, из-за которой автокомплит в параметрах фильтрации представления показывал неактуальные данные.
- Удалена некорректная всплывающая подсказка в сценарии инициализации карточки виртуального файла.
- В карточке сотрудника в настройках замещения исправлена ошибка, из-за которой при сохранении карточки вместо удаления дубликатов сотрудников, ролей и типов документов, добавленных в настройках, система возвращала ошибку.
- В web-клиенте исправлена ошибка приводившая к неверному расчету высоты контрола “Представление” в браузере Safari.
- При генерации шаблонов файлов с расширением
xlsxв контексте расширенийExcelPlaceholderReplaceExtensionContextисправлена ошибка, из-за которой свойствоRowElementsвозвращало не элементы текущей строки, а элементы всей таблицы. - В синхронизации AD/LDAP исправлена обработка ошибочного ответа LDAP с кодом 32 (“Object not found”). Этот ответ возвращается LDAP-сервером, если в его конфигурации не настроены рефералы, и искомый объект отсутствует в каталоге. Ранее в такой ситуации синхронизация не срабатывала при наличии в TESSA объектов с
distinguishedName, отсутствующих в каталоге сервера. Исправление актуально для служб каталогов, не совместимых с Active Directory (например, для OpenLDAP). - Исправлена ошибка открытия записи истории действий, в которой присутствовала запись об изменении параметров задания.
- В web-клиенте исправлена ошибка, в результате которой контрол “Таблица” без заданной настройки максимальной высоты не растягивался по высоте блока.
Обновление на новую сборку¶
- Приложение-помощник web-клиента Deski обновлено до версии 2.5.0. Опубликуйте новые версии приложения при обновлении. При использовании функций, связанных с Deski, пользователю будет предложено обновить его версию на опубликованную. Также обновление может выполнить администратор системы, установив msi-пакет для Windows через доменные политики, а для Linux воспользовавшись инструкцией Установка ассистента web-клиента Deski. Обратите внимание, что, начиная с версии 2.4.0, не поддерживается установка на 32-битных версиях Windows.
- В карточке настроек календаря изменены даты начала и окончания расчёта. Измените и пересчитайте календарь при обновлении, если срок его окончания подходит к концу.
Изменения API при обновлении¶
- Изменена сигнатура статического защищенного метода
DefaultAdExtension.HasAccountLock(). При необходимости актуализируйте места использования в наследниках класса. - Метод запуска обработчика плагина Chronos
IPluginHandlerRunner.RunHandlerAsyncтеперь возвращает результат выполнения. - Изменён интерфейс
IStorageSerializationOptions: добавлено свойствоStoragePathResolverOptions, содержащее опции разрешения значений из хранилища. - Изменён интерфейс
ICardExternalSourceLogic: в методWriteJsonCardAsyncдобавлен параметрstoragePathResolverOptions, содержащий опции разрешения значений из хранилища. - Изменён интерфейс
IStorageValuesKeeper: в методeKeepValuesизменён тип параметраoptionsc перечисленияStoragePathResolveOptionsна объектStoragePathResolverOptions. - Изменён интерфейс
IStoragePathResolver: в методахResolveиTryResolveизменён тип параметраoptionsc перечисленияStoragePathResolveOptionsна объектStoragePathResolverOptions. - Изменён интерфейс
ISmartRoleManager: в методUpdateSmartRoleAsyncдобавлен параметрforceUpdate, который определяет, нужно ли вызывать принудительное обновление списка сотрудников умной роли, даже если нет изменений.
Изменения конфигурации при обновлении¶
-
Рабочие места:
Administrator
-
Представления:
-
LastTopics -
MobileApplication(добавлено) -
MyTopics -
RoleTypes -
SmartRoleMembers
-
-
Таблицы:
-
FmTopicParticipantRoles -
FmTopicParticipants -
MobileApplication(добавлена) -
Roles -
RoleUsers -
ServerInstances -
UserSettingsVirtual
-
-
Библиотеки схемы:
Default
-
Типы:
-
GeneralUserSettings -
KrVirtualFile -
MobileApplication(добавлен) -
PersonalizationUserSettings -
ServerInstance
-
-
Карточки:
-
CancelButton -
DefaultCalendar(необязательное изменение) -
RebuildButton -
RegisterButton -
RejectButton -
Server settings (settings)(необязательное изменение)
-
-
Изменены библиотеки локализации.