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

Патч 3.6.0.16 (16.09.2023)

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

  1. Добавлена поддержка приложения-ассистента DeskiMobile для подписания ЭП в web-клиенте с использованием токенов РуТокен на мобильных устройствах. Поддерживаются варианты токенов NFC, Bluetooth, USB. Приложение устанавливается из магазинов приложений для Android, iPhone, iPad. В карточку “Настройки сервера” добавлен флаг “Использовать мобильный ассистент DeskiMobile” и настройка “Время жизни JWT токена DeskiMobile”.

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

  1. В представление “Типы условий” добавлена колонка “Описание”.
  2. В обсуждениях (форумах) добавлена логика обработки ошибок, которые могут возникать при парсинге содержимого сообщения.
  3. В редакторе схемы данных в записи таблиц с типом “Перечисление” добавлена поддержка комплексных колонок.
  4. В карточку настройки подписей можно добавлять файлы CRL (список проверки отзыва сертификатов).
  5. Доработан плагин рассылки уведомлений о заданиях. В app.json сервиса Chronos добавлена настройка TaskNotifications.MaxTasksPerUserNotification. Эта настройка ограничивает максимальное количество заданий, приходящихся на одного сотрудника, которые попадают в уведомление (по умолчанию - 20 заданий на сотрудника). Из базы отбирается ограниченное количество заданий, начиная с самых новых, которые потом передаются в уведомление. Информация об общем количестве заданий сверх тех, что попали в уведомление, также отображается в уведомлении, если общее количество заданий сотрудника превышает заданное ограничение. Помимо этого, в плагине был оптимизирован запрос получения информации по заданиям.
  6. Доработаны проверки типов карточек на корректность, была добавлена проверка на наличие дубликатов секций в типе карточки и наличие дубликатов колонок в секциях. Также доработано исправление типов карточек, было добавлено исправление дубликатов секций и дубликатов колонок.
  7. Добавлено открытие параметров этапов по двойному клику по строке представления в рабочем месте “Администратор -> Маршруты -> Шаблоны этапов”, detail-представление с этапами.
  8. В маршрутах в этап “Диалог” добавлен параметр “Не выводить вкладки”, позволяющий скрыть вкладки карточки.
  9. В конструкторе бизнес-процессов в действия “Диалог”, “Задание” и “Группа заданий” добавлен параметр “Не выводить вкладки”, позволяющий скрыть вкладки карточки.
  10. В контекстном меню для файла расширена функциональность пунктов “Объединить с текущим в Word” и “Сравнить в Word”. Теперь для сравнения и объединения доступны файлы с расширением .odt.
  11. При подписании выводится информация о валидации подписи.
  12. Доработан диалог импорта карточек. Теперь элементы управления диалога блокируются во время выполнения процедуры импорта.
  13. В маршрутах в этапе “Доработка” теперь больше не переносится текст из поля “Комментарий к циклу маршрута” в поле “Комментарий” задания “Доработка”.

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

  1. Для команд Sql и Select добавлен флаг tran. Если он указан - SQL-скрипт выполняется внутри транзакции (без флага - каждые команды, разделённые GO имеют свою транзакцию, как и раньше). При наличии флага каждый файл выполняется в рамках отдельной транзакции, когда файлов несколько. Если при выполнении команды внутри транзакции возникла ошибка, то, независимо от её типа, происходит откат.
  2. В команды ImportScheme, ImportSchemeSql, ExportScheme, ExportSchemeSql и MigrateDatabase в случае ошибки при работе со схемой данных добавлено логирование объекта схемы, при обработке которого возникла ошибка.
  3. Для команды ConvertConfiguration добавлен режим BOM, с помощью которого можно преобразовать файлы с кодировкой UTF-8 без BOM в файлы с кодировкой UTF-8 с BOM.

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

  1. CAdESLib 1.6.0
  2. HtmlAgilityPack 1.11.53
  3. ITfoxtec.Identity.Saml2.MvcCore 4.8.8
  4. Kerberos.NET 4.6.29
  5. LiteDB 5.0.17
  6. Npgsql 5.0.17
  7. PDFiumSharpV2 1.1.3
  8. Quartz 3.7.0
  9. SixLabors.ImageSharp.Drawing 1.0.0

Изменения API

  1. В маршрутах в обработчике этапа “Регистрация” изменено поведение при невозможности обработки завершаемого задания. Теперь метод RegistrationStageTypeHandler.HandleTaskCompletionAsync возвращает значение StageHandlerResult.EmptyResult вместо создания исключения.
  2. Освобождение объектов, зарегистрированных в IUnityDisposableContainer, теперь выполняется в порядке, обратном их регистрации.
  3. В IWorkflowEngineProcessRequest добавлены свойства ProcessDigest и CardID. Первое позволяет задать дайджест процесса, используемый при создании асинхронной операции. Второй параметр позволяет задать идентификатор карточки, для которой создаётся процесс при запуске нового процесса.
  4. В IWorkflowEngineContext добавлено свойство AsyncRequests, в который можно добавить список запросов для асинхронной обработки процесса, отправляемых при успешном завершении обработки текущего процесса.
  5. В web-клиенте добавлена возможность вызвать методы focus и blur для контролов: “Таблица”, “Представление” и представления в рабочем месте.
  6. В web-клиенте для контрола “Представление” исправлена подписка на событие viewControlViewModel.onRefreshing.

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

  1. Исправлена логика обработки ошибок, которые могут возникать при парсинге содержимого контрола “Текст с форматированием”.
  2. В маршрутах и конструкторе бизнес-процессов в этапах и действиях “Согласование” и “Подписание” исправлена ошибка, из-за которой при запросе дополнительных согласований, начиная со второго уровня вложенности, не выполнялась проверка полей: “Исполнители”, “Длительность, рабочие дни” и “Комментарий”.
  3. В web-клиенте исправлена ошибка, из-за которой настройка “Предпросмотр файлов посредством Р7-Офис / OnlyOffice” не применялась для контролов “Обсуждения” и “Предпросмотр файлов”.
  4. В расширении типа карточки “Очистка связанных полей” исправлено сообщение об ошибке, которое возникало при попытке открыть редактор выбора очищаемой колонки, не выбрав перед этим отслеживаемую колонку.
  5. При открытии карточки теперь загружают данные только контролы “Представление”, видимые пользователю, т.е. находящиеся на текущей вкладке карточки.
  6. Для СУБД PostgreSQL исправлена ошибка, приводившая к потере нескольких часов от результата функции CalendarAddWorkingDaysToDateExact, а также возможная некорректная работа функций CalendarGetFirstQuantStart и CalendarGetLastQuantStart в случаях, когда рабочие интервалы календаря граничат с полночью.
  7. Исправлена ошибка, возникавшая при обработке бизнес-процессов, созданных в предыдущих версиях Tessa, в случае, когда в таких процессах присутствует действие “Таймер”.
  8. В бизнес-процессах Workflow Engine исправлена ошибка, возникавшая при обновлении подписки на действие “Таймер”.
  9. В web-клиенте исправлена ошибка, из-за которой область предпросмотра “Р7-Офис / OnlyOffice” отображалась некорректно.
  10. Исправлена ошибка переноса содержимого прикрепленных к карточке файлов, которая могла возникать при копировании карточки с файлами.
  11. При создании нового параметра представления теперь по умолчанию проставляется флаг Multiple.
  12. В web-клиенте в контроле “Таблица” исправлена ошибка, приводившая к некорректной сортировке по числовым значениям.
  13. В web-клиенте в контроле “Метка (заданный текст)” исправлена ошибка, приводящая к изменению местами настроек отступов справа/слева и сверху/снизу.
  14. В web-клиенте в контролах “Метка (заданный текст)” и “Текст (поле только для чтения)” исправлена ошибка, приводящая к “схлопыванию” контрола при отсутствии текста.
  15. В web-клиенте исправлена ошибка с выбором сертификата при наличии нескольких сертификатов с одинаковым именем.
  16. При формировании подписи уровня XLT1 необходимые сертификаты для подписанта и метки времени вставляются в пакет подписи независимо.
  17. Исправлена ошибка в карточке уведомления о новых сообщениях в обсуждении, из-за которой уведомление не формировалось.
  18. Исправлена ошибка, когда файлы, добавленные в диалоге со временим жизни диалога “Задание”, сохранялись в основной карточке, а не в диалоге.
  19. В редакторе схемы данных исправлена ошибка, возникающая при попытке задать пустое значение для записи таблицы с типом “Перечисление” в ячейке, допускающей значение null.
  20. В web-клиенте исправлена ошибка, из-за которой иногда контрол “Строка” считался изменённым, хотя реальных изменений в полях карточки не было.
  21. Исправление появление в логах ошибки Couldn't unsubscribe from Redis channel по причине Cannot access a disposed object. Это не влияло на валидность закрытия соединения.
  22. Исправлена ошибка в редакторе виртуальных схем диалогов, возникающая при попытке связать комплексную колонку с таблицей типа “Перечисление”, если в данной таблице отсутствует колонка с наименованием “ID”.
  23. Исправлено возможное подвисание плагина асинхронной обработки процессов WorkflowEngineAsyncPlugin в ситуации, когда процесс создавал асинхронную задачу, например, при обработке асинхронной связи между узлами, а затем продолжал выполнение других синхронных узлов.
  24. Исправлена проблема сохранения ошибок в экземпляре процесса при завершении обработки процесса Workflow Engine с ошибкой.
  25. При экспорте представлений и рабочих мест файлы записываются в кодировке UTF-8 с BOM, как и для других объектов конфигурации. Ранее использовалась кодировка UTF-8 без BOM.
  26. В маршрутах и конструкторе бизнес-процессов исправлена ошибка, из-за которой в задании “Доработка” не сохранялся комментарий к новому циклу согласования, если к карточке был приложен несохранённый файл.
  27. Исправлена ошибка Object must implement IConvertible в отладке представлений TessaAdmin при указании ссылочных параметров и потенциально других типов, у которых в метаинформации указан Null-тип схемы. Ошибка появилась в предыдущих патчах.
  28. Исправлено дублирование номеров в последовательности в случае возникновения ошибок после завершения транзакции при первом сохранении карточки.
  29. Для СУБД PostgreSQL исправлено выполнение представлений внутри транзакции, если при создании хранимой функции для представления произошла ошибка в SQL.
  30. В desktop-клиенте в контроле “Представление” при сбросе группировки исправлено восстановление позиции столбца.
  31. Исправлена обработка параметров представлений в связке master-detail в тех случаях, когда параметр в detail не был указан заранее.
  32. При запуске TessaAdmin теперь не выполняется загрузка содержимого всех неактивных вкладок.
  33. В API desktop-клиента исправлено выполнение из потока UI некоторых асинхронных методов, где был пропущен вызов ConfigureAwait(false).
  34. Исправлено время запуска TessaAdmin, если язык локализации отличается от английского. Проблема появилась в патче 3.6.0.15.
  35. Исправлена ошибка, которая могла возникать при чтении строковых объектов в pdf-файле с помощью метода PdfSharp.PdfReader.Open, если строка имела кодировку Unicode. Актуально для модуля потокового сканирования при использовании конвертера PdfToBmpConverter.
  36. Исправлено расширение KrSecondaryProcessMetadataExtension, благодаря чему из шаблона больше не добавляются уже имеющиеся в типе секции и колонки, что ранее приводило к тому, что в метаинформации типа появлялись дублированные элементы.
  37. Оптимизировано получение смещения временной зоны по умолчанию для создания ролей через IRoleRepository.
  38. В web-клиенте исправлена ошибка, приводящая к некорректной работе ссылочных контролов при активированных настройках ручного ввода и задержки поиска: после окончания ввода и мгновенном нажатии на клавишу Enter значение контрола менялось на предыдущее.
  39. Исправлена невозможность удалить из корзины карточку, у которой в базе не заполнено поле Deleted.Card. Такое могло происходить, если при миграции карточек с бинарного формата на формат JSON не производилась миграция для карточек в корзине.
  40. Исправлена ошибка в работе команды tadmin MigrateFiles, когда система неуспешно пыталась разрешить зависимости, связанные с компиляцией.
  41. В web-клиенте исправлена ошибка, приводящая к некорректной работе ссылочных контролов с активированной настройкой ручного ввода: при использовании медленного интернет-соединения после окончания ввода и мгновенном нажатии на клавишу Enter значение контрола менялось на значение из предыдущего запроса.
  42. В web-клиенте исправлен диалог указания категории при добавлении файлов. В контролах “Список файлов” и “Представление” с расширением “Список файлов в представлении”, для которых указаны флаги “Использовать категории” и “Запретить файлы без категорий”, и не указан флаг “Запретить добавлять категории вручную”, заблокирована кнопка ввода пустой категории, которая была аналогична выбору “Без категории” в списке.
  43. В desktop-клиенте исправлен автоматический расчёт ширины столбцов для представлений “Мои обсуждения” и “Последние обсуждения”.
  44. В desktop-клиенте исправлена работа горизонтальной прокрутки при использовании тачпадов или иных устройств, поддерживающих горизонтальную прокрутку.
  45. У объекта подключения к базе данных DbManager исправлена версия конструктора, использующая подключение DbConnection в качестве параметра. Теперь передаваемое подключение к базе корректно завершает работу/возвращается в пул подключений при вызове метода DisposeAsync у DbManager. Проблема была актуальна только в тестах и консольных операциях, использующих подключение к базе данных напрямую.
  46. В desktop-клиенте исправлено обновление представлений по F5 или тайлу “Обновить”. Теперь всегда обновляется и узел дерева, и таблица.
  47. Из таблицы KrStages удалён избыточный индекс ndx_KrStages_RowID.
  48. В desktop-клиенте исправлена позиция открытия контекстного меню элементов управления “Список”, “Ссылка” и “Строка” с типом строки “Расширенный”.
  49. Удалено лишнее предупреждение о необходимости включения типа карточки в типовое решение, возникающее при работе с контролом “Обсуждение” в карточке, не входящей в типовое решение.
  50. Исправлено формирование карточек ошибок из плагина конвертации файлов. Теперь дополнительное описание корректно формируется для карточек ошибок.
  51. Исправлены проблемы при расчёте доступа к файлам по правилам доступа.
  52. Исправлена ошибка при параллельном обращении к свойствам, возвращающим dynamic-обёртку над Storage-хранилищем в объектах: Card, CardInfoStorageObject, ConfigurationObject, InfoStorageObject, ValidationInfoStorageObject, WorkflowEngineSignal и WorkflowStorageBase.
  53. В маршрутах исправлена ошибка “An item with the same key has already been added.” при получении сателлита основного процесса с помощью метода IKrScope.GetKrSatelliteAsync.
  54. В API тестов в методе PendingAction.SetInfo исправлена ошибка при задании значения null, из-за которой старое значение свойства PendingAction.Info не удалялось.
  55. В маршрутах исправлена ошибка, из-за которой при задании нового значения свойству Stage.SettingsStorage свойства Stage.Settings и Stage.Author возвращали неактуальные значения.
  56. В маршрутах исправлена ошибка, из-за которой неправильно определялось положение SQL исполнителей этапов при задании роли “SQL исполнители”.
  57. В маршрутах исправлена ошибка, из-за которой после копирования карточки документа, содержащей маршрут, после пересчёта маршрута этапы изменяли своё положение. Ошибка воспроизводилась, если после копирования карточка не была сохранена.
  58. В маршрутах исправлена ошибка, из-за которой не восстанавливался изменённый пользователем порядок этапов, заданный в шаблоне этапов, после снятия флага “Можно перемещать”.
  59. В маршрутах исправлена ошибка, из-за которой при установке флага “Все этапы нередактируемые” в группе этапов изменённые параметры и/или положение этапов не восстанавливались в соответствии с шаблоном этапов.
  60. В конструкторе бизнес-процессов в методе KrWorkflowActionBase.SetStateIDAsync(IWorkflowEngineContext, KrState, CancellationToken) исправлена ошибка, из-за которой для нетиповых состояний устанавливалось отображаемое название состояния, равное значению null.
  61. Оптимизированы настройки для временных баз данных, создаваемых для автотестов, при использовании с СУБД MS SQL Server.
  62. В desktop-клиенте исправлен отступ, отображаемый у флажков для списка “Ссылочные колонки” в редакторе виртуальной схемы и для контрола карточки “Представление” с расширением “Таблица в представлении” и указанной настройкой “Колонка флажка”.
  63. Оптимизировано отображение списка представлений в TessaAdmin.
  64. В web-клиенте исправлена ошибка в карточке “Сотрудник”, возникающая при изменении значения контрола “Тип входа в систему” при включенном автозаполнении задействованных полей.
  65. Исправлена загрузка карточки сателлита сотрудника при первом входе в систему. Это могло проявляться в некорректном автоматическом определении языка и настроек форматирования в web-клиенте.
  66. В web-клиенте исправлена ошибка проверки подписи токена правил доступа, возникающая при обновлении карточки в ситуации, когда в расширенных настройках были настройки доступа для заданий.
  67. В web-клиенте исправлено скрытие контролов заданий по настройкам доступа для заданий.
  68. В диалоге “Мои настройки” больше не отображается вкладка “История заданий” в случае, если для карточки сотрудника была разрешена отправка заданий. Исправление в версии 3.6.0.15 было неполным.
  69. Исправлено возможное зависание при остановке сервисов web и chronos на ОС Linux, если не используется Redis для синхронизации кэшей.

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

  1. После обновления схемы данных необходимо выполнить запрос из файла Fixes/Migration-3.6.XX.sql после комментария “Insert KrTask entries for KrEdit tasks”, где вместо ХХ должно быть указано значение ms для MS SQL Server или pg для PostgreSQL. При обновлении с предыдущих релизов 3.5.0.x и ранее он выполняется автоматически в скриптах Upgrade.bat/upgrade.sh.

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

  1. В маршрутах в обработчике этапа “Регистрация” изменено поведение при невозможности обработки завершаемого задания. Теперь метод RegistrationStageTypeHandler.HandleTaskCompletionAsync возвращает значение StageHandlerResult.EmptyResult вместо создания исключения. Актуализируйте его использование в проектном решении.
  2. У обработчиков процессов IWorkflowEngineProcessor и IWorkflowEngineProcessorClient в методе SendAsyncSignalAsync изменён набор параметров. Теперь метод принимает объект запроса IWorkflowEngineProcessRequest, который позволяет более гибко настраивать отправку асинхронных запросов в процессы. Старый вариант метода SendAsyncSignalAsync вынесен как метод-расширение и доступен в пространстве имён Tessa.Workflow.
  3. В web-клиенте у обработчика процессов IWorkflowEngineProcessorClient в методе sendAsyncSignalAsync изменён набор параметров. Теперь метод принимает объект запроса IWorkflowEngineProcessRequest, который позволяет более гибко настраивать отправку асинхронных запросов в процессы.
  4. Изменён конструктор DbManager(IDataProvider, IDbConnection). По умолчанию переданное соединение закрывается при освобождении DbManager, ранее оно оставалось открытым. Изменить поведение можно через опциональный параметр bool leaveOpen = false.
  5. Изменена сигнатура метода IEDSProvider.ExtendDocumentAsync.
  6. Изменена регистрация зависимостей из пакета CAdESLib в Tessa.EDS.EDSExtensions.

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

  1. Представления:

    • ConditionTypes

    • KrStageRows

    • LastTopics

    • MyTopics

    • ReportPastTasksByUser

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

  2. Таблицы:

    • KrDialogStageTypeSettingsVirtual

    • KrStages

    • KrTaskCommentVirtual (удалена)

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

    • ServerInstances

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

    • Tasks

    • WeDialogAction

    • WeTaskActionDialogs

  3. Процедуры:

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

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

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

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

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

  4. Функции:

    • CalendarAddWorkingDaysToDateExact

    • CalendarGetFirstQuantStart

    • CalendarGetLastQuantStart

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

  5. Типы:

    • KrAdditionalApproval

    • KrDialogStageTypeSettings

    • KrEdit

    • ServerInstance

    • SignatureSettings

    • WorkflowDialogAction

    • WorkflowTaskAction

    • WorkflowTaskGroupAction

  6. Карточки:

    • ForumNewMessagesNotification

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

    • TasksNotification

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

Back to top