Перейти к содержанию

Патч 4.1.4 (23.02.2026)

Новые возможности

  1. Добавлена поддержка мобильного приложения TESSA Mobile Client. Описание доступно в руководстве пользователя, руководстве администратора и руководстве разработчика. Приложение позволяет подключаться к нескольким серверам TESSA и использовать полнофункциональный web-клиент, включая разработанные в рамках проекта расширения, на мобильных устройствах под управлением ОС Andoid и iOS.

Добавление и изменение функциональности

  1. В редактор схемы добавлена поддержка удаления объекта схемы, который уже был удалён из базы данных другими средствами. Ранее подобные попытки приводили к ошибкам.
  2. Таймаут по умолчанию CheckTimeout для скриптов .bat/.sh увеличен с 20 до 40 секунд.
  3. Добавлена поддержка отображения кнопки “Перевзять задание в работу” для незагруженных заданий на верхнем уровне действий. Кнопка “Скрытые по умолчанию действия” теперь отображается только при наличии у сотрудника других ролей, дающих доступ к действиям без взятия в работу.
  4. В настройки персонализации добавлена возможность задать отдельные цвета для заданий, взятых в работу пользователем и взятых в работу другими сотрудниками. Эти цвета имеют приоритет перед цветами для функциональных ролей.
  5. В карточку настроек пользователя добавлена опция “Не скрывать задания, взятые в работу другими сотрудниками”. При включении указанной настройки задания, взятые другими, отображаются как обычные, если доступны для перевзятия. Скрытые задания по другим причинам продолжают оставаться скрытыми независимо от данной настройки.
  6. В web-клиенте в мобильной версии теперь все вкладки отображаются с названием.
  7. Для флага InvisibleByDefault в настройках колонок представлений улучшено описание в документации в разделе Редактор колонок представления и во всплывающей подсказке на флаге.
  8. Добавлена возможность настройки игнорирования отсутствующих путей в хранилище карточек при выгрузке внешнего контента.
  9. В web-клиенте добавлена возможность стилизации вкладок верхней панели.
  10. Добавлены события истории действий, связанные с неудачными действиями над карточкой: “Неудачное сохранение карточки”, “Неудачное создание карточки”, “Неудачное восстановление карточки”, “Неудачный импорт карточки”.
  11. В web-клиенте у вложенных тайлов теперь могут отображаться иконка и описание, если они были заданы в настройках тайла.
  12. Для форматтера плейсхолдеров #barcode добавлена поддержка параметров a, отвечающего за выравнивание штрих-кода внутри изображения, и fs, отвечающего за размер шрифта метки штрих-кода. Также изменён параметр l: для него больше не нужно указывать значение. Подробнее смотрите в разделе шаблоны файлов и плейсхолдеры.
  13. В редакторе схемы при валидации уникальности имени колонки теперь проверяются не только физические и комплексные колонки внутри таблицы, но и ссылочные колонки внутри комплексных колонок таблицы.
  14. В истории действий в текстовом описании заданий теперь выводится больше информации об изменении задания.

Консольная утилита tadmin

  1. Добавлена команда PackageMobileClientApp, которая создаёт файл .jcard для заданного мобильного приложения. Импортировать такую карточку можно командой ImportCards для публикации.

Новые версии библиотек

  1. .NET 8.0.24
  2. CAdESLib 1.7.1.1
  3. DocumentFormat.OpenXml 3.4.1
  4. HtmlSanitizer 9.0.892
  5. iTextSharp.LGPLv2.Core 3.7.12
  6. ITfoxtec.Identity.Saml2.MvcCore 4.17.0
  7. Kerberos.NET 4.6.146
  8. MailKit 4.15.0
  9. Microsoft.Data.SqlClient 6.1.4
  10. Microsoft.IdentityModel.Protocols.OpenIdConnect 8.16.0
  11. Microsoft.NET.Test.Sdk 18.0.1
  12. NetOfficeFw.Word 1.9.8
  13. OpenTelemetry 1.15.0
  14. Otp.NET 1.4.1
  15. PDFsharp-wpf 6.2.4
  16. SkiaSharp 3.119.2
  17. SkiaSharp.QrCode 0.12.0
  18. StackExchange.Redis 2.11.3

Изменения API

  1. Добавлено свойство ISessionLoginContext.ClientParameters, посредством которого в методе ISessionLoginProvider.TryGetUserAsync можно получить информацию с клиента, переданную в метод ISessionServer.OpenSessionAsync, в т.ч. по IP-адресу и DNS-имени клиента.
  2. В методе StorageHelper.Merge добавлен опциональный параметр alwaysOverrideLists, при передаче которого как true все вложенные списки будут полностью заменяться вместо их объединения.
  3. Добавлена возможность кастомизации отображения информации о задании. Подробнее в Руководстве разработчика.
  4. Добавлена возможность установки информации по файлу IFile.Info, используя свойство IFileCreationToken.Info. Для файлов карточки свойство IFile.Info соответствует свойству CardFile.Info. Изменение актуально и для серверного API, и для web-клиента.
  5. Добавлен метод IOperationRepository.ReturnToCreatedAsync, который переводит любую незавершённую операцию в состояние “Создано”, откуда она может быть взята в работу. В web-клиенте добавлен аналогичный метод IOperationService.returnToCreated (актуально для типов операций, которыми разрешено управлять с клиента).

Исправления и оптимизации

  1. При генерации файлов по шаблону в формате .docx и .xlsx исправлена ошибка, из-за которой расширение “Перед заменой плейсхолдера” не выполнялось для плейсхолдеров в некоторых местах документа.
  2. В редакторе схемы данных при использовании схемы на СУБД PostgreSQL исправлена ошибка, возникающая при попытке изменить имя таблицы, когда длина имени превышает 50 символов, а в таблице есть колонки строкового типа с ограничением длины строки.
  3. В web-клиенте исправлена ошибка, в результате которой текст вкладок приложения мог обрезаться в браузере Mozilla Firefox.
  4. Исправлена сортировка в представлении “Типы ролей”.
  5. В web-клиенте исправлена ошибка, из-за которой в запросе к представлению параметр с типом Guid мог быть установлен с пустым значением.
  6. В web-клиенте в контроле “Текст с форматированием” исправлена ошибка, из-за которой рамка изменения размера картинки могла иметь некорректные размеры.
  7. При создании электронной подписи для сертификатов с расширением OCSP No Check не выполняется проверка на отзыв.
  8. Исправлена ошибка, из-за которой фильтры по типу уведомления работали некорректно.
  9. В web-клиенте исправлена ошибка отображения подсказок на кнопках тулбара, создаваемых по настройкам шаблонов бизнес-процессов.
  10. В web-клиенте исправлена ошибка отображения подсказок на кнопках тулбара, сворачиваемых в группу.
  11. В плагине SmartRoleGenerationPlugin исправлена ошибка, из-за которой при обновлении генератора умных ролей предварительно не удалялись связанные с данным генератором операции на пересчёт ролей.
  12. Реализована корректная обработка ошибки взятия блокировки при попытке удалить правило доступа в то время, когда производится расчёт правил доступа.
  13. В web-клиенте исправлена ошибка, из-за которой в справке не открывался предпросмотр файлов, приложенных в контроле “Текст с форматированием”.
  14. Исправлена проблема, при которой серверные расширения CardMetadataExtension могли запускаться на соединении с другой базой данных, или на соединении с открытой транзакцией.
  15. Исправлена ошибка с некорректным выполнением некоторых методов объекта ICardGetStrategy, если они вызываются без предварительно построенных метаданных ICardMetadata, и всё их выполнение производится внутри блока ISeparateDbConnectionWorker.CreateScope(). Такое обычно могло происходить в плагинах Chronos и в тестах.
  16. В аннотациях pdf исправлена ошибка с использованием пользовательских цветов для текста.
  17. Исправлен механизм обновления версий действий бизнес-процессов. Исправлено поведение, при котором обновление действий на новую версию в экземплярах бизнес-процесса с указанным идентификатором версии шаблона бизнес-процесса возвращало ошибку, если не было обнаружено ни одного действия, подлежащего обновлению. Кроме того, теперь ошибки возникшие при выполнении обновления возвращаются на клиентскую часть как ошибки, а не как предупреждения.
  18. Исправлена временная лицензия, создаваемая объектом TransientLicenseManager. Он используется при отсутствии действительного файла лицензии в юнит-тестах.
  19. В отладке представлений TessaAdmin исправлен вывод комментария в тексте SQL для параметра "IsAdministrator", если в интерфейсе выбран уровень доступа “Пользователь”.
  20. В web-клиенте в обсуждениях была исправлена ошибка, из-за которой в сообщениях некорретно отображались изображения, если для них были заданы настройки размера.
  21. В web-клиенте исправлена ошибка в уведомлениях браузера, из-за которой неправильно работала кнопка “Открыть здесь”.
  22. В web-клиенте исправлена ошибка, из-за которой в мобильной версии в фильтрах контрола “Представление” кнопки “+N” и “Корзина” исчезали за пределы экрана.
  23. Исправлено сохранение файлов в файловый сателлит карточки, для типа которой не установлен флаг “Разрешить файлы”.
  24. В web-клиенте для подписания файлов с недоверенным корневым сертификатом исправлен показ валидационной информации.
  25. В web-клиенте исправлена ошибка, из-за которой callback onValueSelected в функции showViewsDialog вызывался без await.
  26. Исправлена ошибка проверки правил доступа при серверном сохранении карточки в случае, когда для сохраняемой карточки выданы все права доступа и в неё копируются файлы из другой карточки, к которой у пользователя нет доступа.
  27. Исправлены проблемы при взаимодействии Deski с терминалом на ОС Windows 10/11.
  28. В web-клиете исправлены возможные проблемы при параллельном редактировании Р7-Офис/OnlyOffice.
  29. В синхронизации AD/LDAP исправлен алгоритм определения статуса заблокированных пользователей.
  30. Исправлена ошибка в функционировании сервиса monitor на ОС Linux из-за отсутствующей зависимости Tessa.Linux.
  31. В сервисе monitor исправлена возможная ошибка The list of label values must have the same number of elements as the list of label names. Ошибка могла возникать в случае, если для счётчика указывались различные наборы меток.
  32. Исправлена отправка уведомлений о пользователях, добавленных в участники обсуждения. Уведомление не отправляется, если пользователь добавлен при упоминании в сообщении посредством @ИмяПользователя (при этом уже отправляется другое уведомление).
  33. В web-клиенте исправлена ошибка, из-за которой при копировании текста из контрола “Текст с форматированием” добавлялись пустые строки.
  34. Исправлена ошибка в webbi Redis Explorer, не позволявшая отображать имена пользователей при просмотре сессий.
  35. В web-клиенте исправлены ошибки отображения диаграмм при мобильном разрешении вью-порта.
  36. В web-клиенте исправлена ошибка, из-за которой на нижней панели представления не отображались элементы, которые были добавлены после контрола пейджинга.
  37. В web‑клиенте для обозревателя свойств исправлена ошибка, из‑за которой свойство, использующее табличный провайдер данных (созданный по умолчанию), не учитывало реактивность декорируемого объекта данных.
  38. В web-клиенте исправлена ошибка сортировки кнопок конструктора процессов и маршрутов на тулбаре карточки по настройке кнопки “Порядок” в ситуации, когда кнопки были объединены в группу.
  39. В web-клиенте в мобильной верстке диалогов исправлены некорректные нулевые отступы после заголовков контролов.
  40. Исправление получение значения для свойства CardGetFileContentResponse.ContentToken, если у возвращаемого объекта оно не было установлено. Теперь по умолчанию возвращается значение null (ранее выбрасывалось исключение KeyNotFoundException).
  41. В web-клиенте исправлена ошибка, из-за которой в карточках для контролов “Метка” и “Текст” настройки внутренних отступов работали некорректно.
  42. В web-клиенте исправлена ошибка маппинга параметров представлений в рабочем месте в ситуации, когда маппинг производился на колонку, содержащую численные значения.
  43. Исправлена очистка временных файлов при отправке почты, если при обработке письма оно не было отправлено из-за ошибки, при отмене отправки (остановка плагина), а также в случае откладывания отправки, когда некоторые из приложенных файлов ещё не загружены в карточку.
  44. В web-клиенте исправлена ошибка, из-за которой номер карточки мог оставаться зарезервированным при закрытии приложения.
  45. При выгрузке данных представлений в формате “Excel - CSV” для колонок с типом данных Decimal значение теперь выводится без разделителя разрядов. Например, вместо строки 10 000,00 записывается 10000,00. Таким образом, при открытии сгенерированного csv-файла в Excel значения будут определяться как числа (а не строки), и по ним будут работать различные функции (в т.ч. агрегатные, такие как SUM).
  46. В web-клиенте исправлена ошибка, из-за которой в мобильной версии была возможность закрыть те вкладки, которые закрывать нельзя.
  47. Уникальное имя (DN) в карточках сотрудников, подразделений и статических ролей (используется для синхронизации AD/LDAP) теперь имеет значение, уникальное для всех объектов в системе, и максимальный размер в 260 символов.
  48. При копировании либо создании по шаблону карточки персональной роли, статической роли или подразделения теперь происходит очистка следующих полей секции “Синхронизация с Active Directory / LDAP”: “Дата последней синхронизации”, “Дата последнего изменения в AD / LDAP”, “Уникальное имя (DN)”, “Active Directory / LDAP ID”.
  49. Исправлена ошибка, возникавшая при экспорте карточек шаблонов бизнес-процессов, когда в хранилище отсутствовали данные по пути, для которого настроена выгрузка внешнего контента.
  50. Оптимизированы индексы для таблицы RoleUsers.
  51. В API файлов установка свойства Size у токенов IFileCreationToken/IFileVersionCreationToken теперь также устанавливает соответствующие свойства объектов CardFile/CardFileVersion. Ранее значение размера записывалось в объекты IFile/IFileVersion, но не в связанные объекты в карточке. Исправление актуально и для серверного API, и для web-клиента.
  52. Исправлена работа действия “Тестовое согласование” в карточке автомобиля.
  53. Исправлено поведение диалога комментария при выборе сертификата.
  54. При генерации шаблонов файлов в формате docx исправлена ошибка, приводящая к зависанию генерации шаблона файла при некоторых компоновках документа.
  55. В конструкторе бизнес-процессов в действиях “Задание”, “Группа заданий” и “Настраиваемое задание” исправлена ошибка, из-за которой не отправлялись уведомления при завершении задания. Ошибка возникала, если в параметрах отправки уведомлений при завершении задания не были заданы получатели.
  56. В web-клиенте исправлена ошибка, из-за которой заголовки у контролов “Метка” и “Текст” обрезались в горизонтальных блоках.
  57. Исправлена ошибка, из-за которой при неудачном сохранении или создании карточки в историю действий всё равно записывалась информация о её создании или изменении.
  58. В web-клиенте исправлена ошибка, в результате которой настройки стилей “Подчеркнутый”, “Зачеркнутый”, “Линия сверху” применялись для кнопок контролов.
  59. В web-клиенте исправлена ошибка запуска перерасчёта умной роли из интерфейса карточки умной роли.
  60. В web-клиенте исправлена ошибка запуска перерасчёта ACL из интерфейса карточки.
  61. Исправлена проблема, из-за которой ручной запуск перерасчёта умных ролей не пересчитывал итоговый список сотрудников по составу умной роли в случае, если при перерасчёте не было изменений состава умной роли.
  62. В web-клиенте для контрола “Представление” исправлена ошибка, делавшая фон полос прокрутки прозрачным. Добавлены фиксированные горизонтальные границы в начало и конец области с данными.
  63. В web-клиенте для контрола “Представление” добавлена поддержка вытягивания по высоте.
  64. В web-клиенте для контрола “Представление” исправлена ошибка приводившая к отсутствию границы между заголовком и телом таблицы.
  65. В web-клиенте исправлена ошибка, из-за которой невозможно открыть представление в карточке или на рабочем месте, если для него были заданы настройки колонок, которых уже нет в метаданных.
  66. Исправлена ошибка, из-за которой в процессе мобильного согласования в случае превышения ограничения размера файлов лист согласования не отправлялся в почтовом уведомлении.
  67. В web-клиенте исправлена ошибка, из-за которой игнорировалось выравнивание заголовка колонки.
  68. В карточке “Виртуальный файл” исправлена ошибка, из-за которой если при выполнении компиляции скрипта инициализации виртуального файла по кнопке “Выполнить компиляцию” возникала ошибка компиляции, то при последующих сохранениях карточки возникала ошибка несоответствия версии карточки.
  69. В карточке умной роли исправлена ошибка, из-за которой в таблице “Состав роли” не открывались карточки ролей по двойному клику. Ошибка возникала при использовании СУБД PostgreSQL.
  70. Исправлена ошибка, приводившая к попаданию удалённых строк коллекционных секций в параметры фильтрации при настроенном маппинге представления.
  71. В форматтере плейсхолдеров #barcode исправлена ошибка, из-за которой использовался слишком большой размер шрифта метки при её отображении.
  72. Исправлена ошибка валидатора типа “Уникальное поле”, которая могла возникать при установленном флаге “Автоматически удалять строки-дубликаты”.
  73. В web-клиенте устранена проблема, из-за которой автокомплит в параметрах фильтрации представления показывал неактуальные данные.
  74. Удалена некорректная всплывающая подсказка в сценарии инициализации карточки виртуального файла.
  75. В карточке сотрудника в настройках замещения исправлена ошибка, из-за которой при сохранении карточки вместо удаления дубликатов сотрудников, ролей и типов документов, добавленных в настройках, система возвращала ошибку.
  76. В web-клиенте исправлена ошибка приводившая к неверному расчету высоты контрола “Представление” в браузере Safari.
  77. При генерации шаблонов файлов с расширением xlsx в контексте расширений ExcelPlaceholderReplaceExtensionContext исправлена ошибка, из-за которой свойство RowElements возвращало не элементы текущей строки, а элементы всей таблицы.
  78. В синхронизации AD/LDAP исправлена обработка ошибочного ответа LDAP с кодом 32 (“Object not found”). Этот ответ возвращается LDAP-сервером, если в его конфигурации не настроены рефералы, и искомый объект отсутствует в каталоге. Ранее в такой ситуации синхронизация не срабатывала при наличии в TESSA объектов с distinguishedName, отсутствующих в каталоге сервера. Исправление актуально для служб каталогов, не совместимых с Active Directory (например, для OpenLDAP).
  79. Исправлена ошибка открытия записи истории действий, в которой присутствовала запись об изменении параметров задания.
  80. В web-клиенте исправлена ошибка, в результате которой контрол “Таблица” без заданной настройки максимальной высоты не растягивался по высоте блока.

Обновление на новую сборку

  1. Приложение-помощник web-клиента Deski обновлено до версии 2.5.0. Опубликуйте новые версии приложения при обновлении. При использовании функций, связанных с Deski, пользователю будет предложено обновить его версию на опубликованную. Также обновление может выполнить администратор системы, установив msi-пакет для Windows через доменные политики, а для Linux воспользовавшись инструкцией Установка ассистента web-клиента Deski. Обратите внимание, что, начиная с версии 2.4.0, не поддерживается установка на 32-битных версиях Windows.
  2. В карточке настроек календаря изменены даты начала и окончания расчёта. Измените и пересчитайте календарь при обновлении, если срок его окончания подходит к концу.

Изменения API при обновлении

  1. Изменена сигнатура статического защищенного метода DefaultAdExtension.HasAccountLock(). При необходимости актуализируйте места использования в наследниках класса.
  2. Метод запуска обработчика плагина Chronos IPluginHandlerRunner.RunHandlerAsync теперь возвращает результат выполнения.
  3. Изменён интерфейс IStorageSerializationOptions: добавлено свойство StoragePathResolverOptions, содержащее опции разрешения значений из хранилища.
  4. Изменён интерфейс ICardExternalSourceLogic: в метод WriteJsonCardAsync добавлен параметр storagePathResolverOptions, содержащий опции разрешения значений из хранилища.
  5. Изменён интерфейс IStorageValuesKeeper: в методe KeepValues изменён тип параметра options c перечисления StoragePathResolveOptions на объект StoragePathResolverOptions.
  6. Изменён интерфейс IStoragePathResolver: в методах Resolve и TryResolve изменён тип параметра options c перечисления StoragePathResolveOptions на объект StoragePathResolverOptions.
  7. Изменён интерфейс ISmartRoleManager: в метод UpdateSmartRoleAsync добавлен параметр forceUpdate, который определяет, нужно ли вызывать принудительное обновление списка сотрудников умной роли, даже если нет изменений.

Изменения конфигурации при обновлении

  1. Рабочие места:

    • Administrator
  2. Представления:

    • LastTopics

    • MobileApplication (добавлено)

    • MyTopics

    • RoleTypes

    • SmartRoleMembers

  3. Таблицы:

    • FmTopicParticipantRoles

    • FmTopicParticipants

    • MobileApplication (добавлена)

    • Roles

    • RoleUsers

    • ServerInstances

    • UserSettingsVirtual

  4. Библиотеки схемы:

    • Default
  5. Типы:

    • GeneralUserSettings

    • KrVirtualFile

    • MobileApplication (добавлен)

    • PersonalizationUserSettings

    • ServerInstance

  6. Карточки:

    • CancelButton

    • DefaultCalendar (необязательное изменение)

    • RebuildButton

    • RegisterButton

    • RejectButton

    • Server settings (settings) (необязательное изменение)

  7. Изменены библиотеки локализации.

Back to top