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

Патч 4.0.6 (16.05.2025)

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

  1. Добавлена поддержка редактирования параметров задания (дайджест и плановая дата) в любом типе задания. В типах задания появился флаг “Разрешить редактирование параметров задания”. При наличии этого флага и разрешения на изменение дайджеста и плановой даты задания в любой из функциональных ролей, пользователю будет доступен вариант завершения “Изменить параметры задания”.
  2. Добавлена обработка события Workflow Engine “Изменить параметры задания” и соответствующий сигнал ModifyTaskParameters.
  3. Добавлен плейсхолдер {today}. В отличие от плейсхолдера {date}, плейсхолдер {today} всегда возвращает текущую дату/время, тогда как в плейсхолдере {date} возвращаемая дата/время могут зависеть от контекста и возвращать, например, дату документа как в именах последовательностей для выделения номеров.
  4. У веб-сервиса webbi удалён роут /switch перевода системы в режим технического обслуживания.
  5. У веб-сервиса webbi удалён не используемый более ключ -unrestricted.
  6. В маршрутах и конструкторе бизнес-процессов в этапы и действия “Согласование” и “Подписание” добавлен параметр “Не создавать запись “Возврат на доработку” в истории заданий”. Параметр позволяет отключить создание указанной записи в истории заданий при возврате на доработку.
  7. Добавлена настройка MaxParallelBackgroundTasks веб-сервиса для указания ограничения на количество параллельно выполняемых фоновых заданий, для которых указано, что они могут выполняться параллельно.
  8. В web-клиенте добавлена возможность затемнять фон приложения в диалоговом окне настроек “Фон и тема”.
  9. В web-клиенте добавлена возможность позиционировать фон приложения в диалоговом окне настроек “Фон и тема”.
  10. В web-клиенте увеличен размер аватара пользователя на главной панели приложения.
  11. В web-клиенте на мобильных устройствах пункты меню файлового контрола для работы с “OnlyOffice” скрыты.
  12. Теперь в контроле “Список файлов” категории файлов по умолчанию будут отсортированы в соответствии с заданным порядковым номером, а в пределах одного номера - по алфавиту.
  13. В web-клиенте добавлена возможность подписания больших файлов.
  14. В диалоге “Структура карточки” при нажатии на кнопку “Сохранить в файл” структура карточки теперь сохраняется в формате json.
  15. При изменении пароля через карточку сотрудника пароль отправляется в формате base64. Поле PasswordRepeat при отправке имеет значение null.
  16. В web-клиенте для удобного предпросмотра файлов добавлены кнопки переключения между файлами.
  17. В конструктор бизнес-процессов в логику асинхронной обработки добавлена поддержка механизма повторного запуска асинхронной обработки сигнала. Подробнее см. в разделе Асинхронная обработка сигнала.
  18. В конструктор бизнес-процессов в настройки связи добавлен флаг “Повторить асинхронную обработку сигнала после ошибки”, позволяющий включить повторный запуск асинхронной обработки сигнала после возникновении ошибки его обработки.
  19. В конструктор бизнес-процессов в действие “Таймер” добавлен флаг “Повторить асинхронную обработку сигнала после ошибки”, позволяющий включить повторный запуск асинхронной обработки сигнала после возникновении ошибки его обработки.
  20. Выпадающий список типов колонок в TessaAdmin и SchemeEditor теперь выводится отсортированным по имени типа.
  21. В конструктор бизнес-процессов в логику асинхронной обработки добавлена поддержка механизма синхронизации обработки. При включении настройки две асинхронные обработки, выполняемые с синхронизацией по одному и тому же объекту синхронизации, никогда не выполняются одновременно и всегда будут выполнены последовательно вне зависимости от того, выполняется ли обработка сигнала для одного и того же процесса или для разных.
  22. В конструктор бизнес-процессов в настройки связи добавлены настройки “Синхронизировать обработку сигнала при асинхронной обработке” и “Объект синхронизации”, позволяющие настроить механизм синхронизации асинхронной обработки.
  23. В конструктор бизнес-процессов в действие “Таймер” добавлены настройки “Синхронизировать обработку сигнала при асинхронной обработке” и “Объект синхронизации”, позволяющие настроить механизм синхронизации асинхронной обработки.
  24. В настройку типа карточки был добавлен флаг “Разрешить теги”, управляющий возможностью использования тегов в карточках данного типа.
  25. Добавлена очистка поля “Комментарий к циклу согласования” при создании копии карточки.
  26. Добавлен плагин FileConverterRemoveCache.xml для автоматической очистки кэша сконвертированных файлов.

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

  1. Удалена команда Maintenance. Для перевода системы в режим технического обслуживания используйте команду tadmin SendCommand.

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

  1. AvalonEdit 6.3.1.120
  2. BarcodeLib 3.1.5
  3. CAdESLib 1.6.5
  4. DocumentFormat.OpenXml 3.3.0
  5. HtmlAgilityPack 1.12.1
  6. HtmlSanitizer 9.0.873
  7. iTextSharp.LGPLv2.Core 3.7.2
  8. Kerberos.NET 4.6.77
  9. Microsoft.CodeAnalysis.CSharp.Workspaces 4.13.0
  10. Microsoft.Data.SqlClient 5.2.3
  11. Microsoft.NET.Test.Sdk 17.13.0
  12. NLog 5.4.0
  13. NLog.Web.AspNetCore 5.4.0
  14. Npgsql 7.0.10
  15. NUnit3TestAdapter 5.0.0
  16. OpenCvSharp4 4.11.0.20250507
  17. SixLabors.ImageSharp.Drawing 2.1.6
  18. SkiaSharp 3.119.0
  19. StackExchange.Redis 2.8.37
  20. Swashbuckle.AspNetCore 7.3.1
  21. Swashbuckle.AspNetCore.Newtonsoft 7.3.1
  22. ZXing.Net 0.16.10

Изменения API

  1. При создании экземпляров класса ContentTokenBase у дат создания и истечения токена время усекается до секунд. Это сделано для учёта особенностей сохранения токенов в СУБД MS SQL Server и PostgreSQL, которые могут округлять миллисекунды, что ранее приводило к недействительности защищённых токенов доступа к содержимому.
  2. Исправлена реализация методов getRoleCalendarInfo, getDefaultCalendarInfo, getCalendarInfo и getAllCalendarInfos в API календарей для web-клиента.
  3. В реализации ObjectLockingStrategy устранена возможность передавать собственный скрипт работы с блокировками и добавлена возможность опционального использования множественных блокировок на запись.
  4. Модифицирован интерфейс IBackgroundServiceQueue. В метод EnqueueAsync добавлен параметр parallel регулирующий в какую очередь последовательного или параллельного исполнения будет добавлена задача. Количество одновременно запущенных задач (размер очереди) регулируется параметром MaxParallelBackgroundTasks настроек веб-сервиса.
  5. Изменён интерфейс IFileViewModel: добавлено свойство GroupStrictOrder, которое содержит информацию о заданном порядковом номере категории файла.
  6. Добавлен интерфейс ICardContentTokenProvider, который позволяет создавать, подписывать и проверять токены на получение контента файлов по отдельному GET-запросу.
  7. Добавлен интерфейс ICardContentInfo. Этот интерфейс предоставляет информацию, описывающую контент файла.
  8. Добавлен REST-метод для получения контента файла карточки по токену: GET api/v1/cards/file-content?token={token}&session={session}. Здесь token (обязательный параметр) - токен контента файла, session (опциональный параметр) - токен сессии, который может быть опущен, например, когда токен сессии уже передан через куки.
  9. Модифицирована структура свойства ITransactionScopeContext.Locks для добавления информации не только об идентификаторе объекта, но и о его префиксе.
  10. В скрипты конструктора бизнес-процессов добавлено новое свойства RetryInfo. Данное свойство содержит информацию о настройках механизма перезапуска асинхронной обработки, позволяет включить или отменить перезапуск обработки в случае ошибки, а также содержит информацию о предыдущей ошибке, вызвавшей перезапуск. Данное свойство доступно только при асинхронной обработке сигнала.
  11. В скрипты конструктора бизнес-процессов добавлены новые методы AddValidationError(string) и AddValidationError(string, object[]). Данные методы позволяют добавить в результат валидации сообщение об ошибке без создания карточки ошибки для бизнес-процесса. Подробнее см. раздел API скриптов.

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

  1. В конструкторе бизнес-процессов в параметрах действия “Согласование” исправлена ошибка, из-за которой некорректно автоматически изменялось значение поля “Вид” после изменения состояния флага “Рекомендательное согласование”.
  2. Исправлена ошибка, из-за которой не работала сортировка кнопок бизнес-процессов на тулбаре карточек.
  3. Исправлено создание защищённых токенов доступа к содержимому системы IContentTokenRepository. В некоторых случаях при сохранении защищённых токенов СУБД округляла поля, содержащие дату и время, что приводило к недействительности выданного токена.
  4. В конструкторе бизнес-процессов в действиях “Согласование” и “Подписание” исправлена ошибка, из-за которой действия не отправляли сигналы завершения после удаления заданий по сигналу DeleteTask.
  5. В web-клиенте в диалоге фильтрации представлений убрано отображение кнопок контролов в режиме только для чтения.
  6. В web-клиенте поля minDate, maxDate, beginDate, highlightBeginDate в DateTimeViewModel теперь реактивные.
  7. В конструкторе бизнес-процессов исправлены ошибки обработки привязок с типами “Карточка” и “Задание”. Ошибки возникали при получении значения ссылочного поля строковой секции при обработке привязки для списка значений, например, параметр “Роли” в действии “Группа заданий”.
  8. В конструкторе бизнес-процессов исправлена ошибка, из-за которой при настройке привязки типа “Представление” нельзя было выбрать “Параметр для ID карточки” с типом Guid Null.
  9. Исправлена ошибка разделения диалогов открытия файла для разных областей компонента выбора файла на экране логина в Redis Explorer.
  10. В конструкторе бизнес-процессов исправлена ошибка “System.InvalidOperationException: GetCardAsync method called outside of scope.” при отправке почтовых уведомлений.
  11. В web-клиенте в примере расширения 21_forumUIExtension исправлено добавление кнопки и дублирование пунктов контекстного меню.
  12. Время жизни токена, выписываемого для отображаемых пользователю аватаров, увеличено с 1 дня до времени жизни сессии (по умолчанию 7 дней).
  13. В web-клиенте исправлено выделение текста при выборе диапазона строк при помощи Shift в контроле представления.
  14. Исправлена десериализация строк в json со стороны .NET, если строки содержат значения в ISO-формате даты вида yyyy-MM-ddTHH:mm:ssZ. Библиотека Newtonsoft.Json, используемая для сериализации json, трактовала такую строку как объект DateTime (например, в строковом поле карточки section.Fields["Name"] содержался бы объект типа DateTime, а не string). Теперь строковые значения всегда десериализуются как строки, независимо от содержимого, а десериализация DateTime возможна только с суффиксом ::dtm в имени ключа для Typed Json.
  15. Исправлен метод TessaSerializer.CreateTyped(Action<JsonSerializerSettings>). Теперь он создаёт сериализатор с конвертером TypedJsonConverter до того, как будет вызван делегат в параметре. Если конвертер должен быть добавлен вручную внутри делегата, то следует вызвать аналогичный метод Create.
  16. В API тестов исправлена ошибка в методе KrTestHelper.GetWorkflowProcessAsync, из-за которой неправильно загружался идентификатор процесса.
  17. Для подписей ЭП атрибут “Время подписи” выставляется в UTC.
  18. Исправлены предупреждения в консольном выводе веб-сервисов вида “HTTP/2 requires TLS application protocol negotiation” при прослушивании портов по HTTP (без HTTPS).
  19. В web-клиенте исправлена ошибка, из-за которой выпадающий список мог перекрывать поле ввода в контроле “Ссылка”.
  20. В web-клиенте исправлена ошибка, из-за которой периодические запросы на сервер продолжали отправляться при невалидной сессии.
  21. В web-клиенте исправлена консольная ошибка несоответствия MIME-типов при открытии диалогового окна выбора файлов.
  22. Исправлена документация по генерации тестовых сертификатов.
  23. При использовании свойства CardStoreRequest.ForceTransaction веб-сервис web теперь возвращает ошибку в случае, если запрос пришёл с клиентского приложения.
  24. В web-клиенте в системе обсуждений больше не показываются кнопки “Подписаться” и “Выйти из участников” в неактуальных служебных сообщениях.
  25. В web-клиенте в системе обсуждений у кнопки “Подписаться” в выпадающем меню обсуждения исправлено обновление статуса подписки.
  26. В web-клиенте исправлено применение срока доступа временной ссылки на файл при её создании. Раньше всегда применялся период, указанный в карточке настроек сервера в поле Максимальный период действия ссылки на файл (дней).
  27. В web-клиенте исправлено отображение пунктов контекстного меню у приложенных файлов для элемента управления “Текст с форматированием”.
  28. В web-клиенте исправлено отображение всплывающих окон при прокрутке.
  29. В web-клиенте исправлено отображение фона строк у таблиц в компактной версии.
  30. В web-клиенте в системе обсуждений убрано отображение сообщения об ошибке при выходе из обсуждения.
  31. В web-клиенте для тёплой темы исправлен фон некоторых кнопок при наведении.
  32. При взятии блокировки карточки на запись не проверяется её версия, если этого не требуется.
  33. В web-клиенте исправлено выравнивание надписи с отображением количества строк в некоторых представлениях.
  34. В web-клиенте исправлена ошибка, связанная с некорректным отображением тайлов в браузере Firefox.
  35. В web-клиенте исправлена ошибка, приводившая к невозможности задать полностью прозрачный фон для элемента управления “Метка”.
  36. Модифицирован алгоритм работы IBackgroundServiceQueue таким образом, чтобы при штатной остановке веб-сервисов запланированные задачи могли быть выполнен. Ранее очередь просто прерывалась, и задачи не выполнялись.
  37. В web-клиенте исправлена ошибка, из-за которой в расширении на узел рабочего места InformationLabelViewExtension в некоторых случаях некорректно рассчитывалась видимость метки.
  38. Исправлена ошибка, из-за которой при выборе категорий файлов в контроле “Список файлов”, когда отсутствует флаг “Сохранять порядок категорий”, эти категории могли быть отсортированы не по алфавиту.
  39. В web-клиенте файлы теперь не загружаются полностью в память, а принимаются потоком. Процесс скачивания при этом контролируется браузером.
  40. Исправлено возвращаемое имя версии файла при доступе к ней по временной ссылке. Ранее в качестве имени версии устанавливалось текущее актуальное имя файла.
  41. В TessaAdmin при сохранении локализации исправлено отображение ошибок.
  42. Исправлена ошибка “An item with the same key has already been added”, отображаемая при попытке добавить существующий заголовок в методе ClientResponseExecutor.ResponseAsync.
  43. В web-клиенте MessageBox теперь корректно обрабатывает текст и обеспечивает правильное отображение обычного текста или HTML-разметки.
  44. В web-клиенте оптимизировано взаимодействие между клиентом и сервером при подписании файлов.
  45. В web-клиенте исправлена ошибка отображения контролов “Представление” в области заданий: ранее цвета, используемые в представлениях, не соответствовали цветовой гамме выбранной темы.
  46. В web-клиенте исправлена ошибка, связанная с некорректным расчётом позиции всплывающих окон.
  47. В web-клиенте в контроле “Текст с форматированием” исправлена ошибка добавления картинок.
  48. Исправлена ошибка, приводившая к лишней проверке доступа на изменение связанных с заданием ролей.
  49. Доработан CardTaskAccessProvider так, чтобы запрос проверки прав на изменение связанных с заданием ролей не вызывался повторно, если он уже был вызван в рамках текущей проверки.
  50. В представлении FileLoadingTokensForCard исправлена сортировка по колонке с идентификатором файла.
  51. Исправлена ошибка “Sequence contains no matching element” при заполнении кэша виртуальных файлов.
  52. В web-клиенте исправлена ошибка, из-за которой к контролу “Флажок” не применялись настройки текста.
  53. В web-клиенте исправлена ошибка, связанная с некорректным переносом строк в контроле “Текст с форматированием”.
  54. В шаблонах файлов Word для выделенной табличной области, лежащей внутри параграфа, исправлено определение табличных плейсхолдеров в случае, когда к данному параграфу были привязаны элементы, обтекаемые текстом или лежащие перед/за ним (надписи, картинки и т.д.).
  55. В desktop-клиенте для контролов “Флажок”, “Кнопка” и “Дата и время” исправлено применение настроек оформления текста “Подчёркнутый” и “Зачёркнутый”.
  56. Исправлена ошибка, из-за которой тестовое представление “Генератор” (TransientView) могло некорректно отображаться в web-клиенте.
  57. Исправлена ошибка, из-за которой для настроек расширенных правил доступа “Допустимое количество файлов” и “Обязательный файл” учитывались виртуальные файлы карточки.
  58. Исправлены ошибки, возникавшие при отправке уведомления в том случае, когда в карточке типа “Уведомление” не было заполнено одно из следующих полей: AliasMetadata, Subject или Text.
  59. В web-клиенте исправлена ошибка в контроле выбора цвета, из-за которой невозможно было указать цвет через поля ввода “hex” и “rgb”.
  60. В web-клиенте исправлена ошибка в диалоге редактирования тегов, из-за которой в контроле выбора цвета неправильно обрабатывались цвета с нулевой прозрачностью.
  61. В плагине расчёта заместителей исправлена ошибка, из-за которой заместитель с указанным периодом замещения не добавлялся в роль в первый день замещения.
  62. В web-клиенте в маршрутах в этапе “Подписание” исправлена ошибка “Cannot read properties of null (reading ‘id’)” при отображении заместителем исполнителя задания скрытых по умолчанию действий.
  63. Исправлено выполнение клиентских тестов, если метод ClientTestBase.OpenSessionAsync был вызван в одном из тестов, после чего упал с ошибкой (например, некорректный пароль).
  64. В web-клиенте исправлена ошибка предварительного просмотра SVG изображений в браузере Firefox.
  65. В web-клиенте исправлен фон некоторых диалоговых окон в тёплой теме.
  66. Исправлено проблема, когда при наличии ошибки в файле схемы в сообщении об этой ошибке отображалось имя другого файла.
  67. В web-клиенте исправлена ошибка, из-за которой заголовки представлений в рабочих местах не соответствовали названиям узлов в рабочих местах.
  68. Исправлена ошибка дублирования using и using static при компиляции скриптов системы.
  69. При обработке плейсхолдеров {tv:...} и {fv:...} при передаче в плейсхолдер в качестве параметра значения с типом bool теперь используется критерий IsTrue или IsFalse, в зависимости от значения параметра.
  70. В web-клиенте из нижней панели диаграмм убраны компоненты пейджинга и подсчета количества строк.
  71. В обработчике бизнес-процессов исправлена ошибка, возникавшая при сохранении результата обработки экземпляра процесса в карточку “Ошибка” в ситуации, когда обработчику не удалось взять блокировку на экземпляр процесса.
  72. В web-клиенте исправлена ошибка делавшая невозможным применение настроек шрифта к элементам управления.
  73. Исправлена ошибка “The given key ‘TypeID’ was not present in the dictionary”, которая в некоторых случаях предотвращала запись в историю действий о неуспешном открытии карточки.
  74. В web-клиенте исправлена ошибка, из-за которой кнопка “Отмена” при создании карточки в диалоговом окне не вызывала диалоговое окно с подтверждением действия.
  75. Исправлена ошибка, из-за которой в типе условия “Изменение поля” можно было выбрать комплексную колонку.
  76. В web-клиенте исправлена ошибка отображения кнопок файлового контрола: ранее кнопки могли не отображаться при его инициализации.
  77. Исправлена ошибка “Токен подписан неверно” при валидации токена прав доступа, возникающая при чтении некоторых свойств расширенных настроек прав доступа до выполнения валидации. Это могло возникнуть при обращении к свойствам токена на клиенте или при повторной валидации токена на сервере.
  78. В web-клиенте исправлена ошибка, при которой выпадающий список из тулбара появляется в левом углу окна.
  79. В web-клиенте исправлена ошибка, связанная с некорректным переносом текста в поле с автодополнением.
  80. В web-клиенте исправлено применение списка доступных расширений файлов для файлового контрола.
  81. В web-клиенте исправлена ошибка “Отсутствуют доступные категории файлов.”, возникавшая при попытке сменить категорию файла, добавленного другим пользователем.
  82. В desktop-клиенте в типе карточек “Правило доступа” исправлена ошибка, из-за которой в контроле “Роли” не локализовывались значения ролей, содержащих в своём имени строку локализации.
  83. Для сервиса monitor исправлено логирование. По умолчанию логи записываются в файл log.txt по аналогии с другими сервисами.
  84. В web-клиенте исправлена прокрутка диалога “О программе” на мобильных устройствах.
  85. В web-клиенте исправлено сохранение параметров фильтрации при открытии представления в новой вкладке.
  86. В web-клиенте исправлено сохранение параметров фильтрации при добавлении сохраненного запроса к узлу.
  87. В web-клиенте предотвращено выделение названий элементов дерева рабочего места и файлов в файловом контроле при вызове контекстного меню.
  88. В web-клиенте увеличено число строк у полей “Сообщение” и “Подробно” в диалоге ошибки.
  89. В модуле синхронизации с AD/LDAP исправлена ручная синхронизация подразделений, статических ролей и пользователей. Теперь объекты скрываются и блокируются в случае, если они отсутствуют в AD/LDAP.
  90. В web-клиенте исправлено появление полосы прокрутки в окне браузера после нажатия на кнопку “Загрузить файлы” в файловом контроле.
  91. В web-клиенте убран отступ у контрола флажка в режиме только для чтения.
  92. В web-клиенте исправлена ошибка, из-за которой нажатие клавиши Enter в диалоге выбора эмодзи приводило к ошибке.
  93. Исправлена трассировка запросов к БД для PostgreSQL, связанная с ошибкой в библиотеке Npgsql.
  94. В web-клиенте добавлено ограничение на использование расширений загружаемых фоновых изображений. Список поддерживаемых расширений: png, jpg, jpeg и webp.
  95. Для трассировки сервисов web добавлено ограничение на хранимую в памяти трассировку в случае, если сервис monitor недоступен.
  96. Исправлена обработка счётчиков на основе UpDownCounter для сервиса web.
  97. В сервисе monitor исправлена обработка счётчиков, содержащих метки с неподдерживаемыми символами.
  98. В сервисе monitor исправлено зависание в случае, если при обработке запроса произошла ошибка.
  99. В сервисе web исправлена обработка новых публичных ключей discovery при их добавлении в папку на диске в случае, если сервис уже запущен.
  100. Для команды tadmin GenerateDiscoveryKey исправлено обращение к Redis в случае, если используется режим Generate.
  101. В сервисе web исправлена включение трассировки TracingMiddleware в случае, если использовались группировки Web или *.
  102. Исправлена ошибка, позволявшая администратору изменять схему данных при установленном в app.json флаге Configuration.Sealed.
  103. В web-клиенте исправлен баг, который возникал при просмотре больших файлов PDF.
  104. В web-клиенте добавлены строки локализации для заголовков представлений “Текущие задания”, “Завершённые задания”, “Просроченные задания”.
  105. В конструкторе бизнес-процессов исправлена ошибка, из-за которой в режиме последовательной отправки заданий после удаления очередного задания следующее задание не отправлялось.
  106. В объектах CardTask и CardTaskSessionRole для web-клиента исправлены имена ключей, по которым происходило обращение к хранилищу объекта для получения его свойств.
  107. При взятии блокировок на объекты при помощи IObjectTransactionLockingStrategy добавлен учёт префикса объекта.
  108. Исправлена ошибка починки типов условий в ситуации, когда при починке карточек с условиями одна из запланированных для исправления карточек была удалена.
  109. Убрана лишняя проверка на наличие изменённого поля NeedRebuild в секции KrApprovalCommonInfoVirtual во время проверок прав доступа в типовом решении.
  110. В web-клиенте исправлена ошибка для контрола “Флажок”, из-за которой при изменении масштаба окна браузера его внешняя обводка могла соприкасаться с границей элемента.
  111. Теперь в уведомлении “Задание отправлено”, если в настройках сервера установлен флаг “Отключить ссылки на desktop-клиент для уведомлений и виртуальных файлов”, в заголовке будет ссылка на web-клиент.
  112. В маршрутах исправлена ошибка, из-за которой в IKrScope могла содержаться неактуальная версия карточки. Ошибка, например, возникала, если карточка изменялась в процессе Workflow Engine, после чего при сохранении выполнялся вторичный процесс и тоже вносил изменения.
  113. В web-клиенте исправлена ошибка, позволявшая вставку текста в текстовые контролы в карточке сверх ограничения по длине.
  114. В web-клиенте исправлена ошибка применения выбранного цвета в редакторе аннотаций к файлам.
  115. Исправлена ошибка, из-за которой при импорте карточек поверх уже существующих могли создаваться лишние запросы к серверу на сохранение карточки.
  116. Исправлено возможное зависание сервиса web в случае изменения типов карточек во время обработки других запросов.
  117. В web-клиенте исправлена ошибка применения сохраненного поискового запроса со ссылочным параметром логического типа boolean.
  118. В web-клиенте исправлена ошибка, приводившая к невозможности присвоить пользовательское имя класса выпадающему меню скрытых элементов тулбара в режиме spread.
  119. Исправлена ошибка в типе условия “По типу задания”. Теперь флаг “Взято в работу” не учитывается для заданий, которые автоматически берутся в работу.
  120. Исправлено отображение названий для параметров фильтрации представлений, в метаинформации которых поле Caption либо не задано (тогда выводится алиас), либо является пустой/пробельной строкой после применения локализации (также выводится алиас), либо содержит плейсхолдеры локализации {$Localization_Alias} (теперь они применяются).
  121. В web-клиенте исправлена ошибка, в результате которой при вставке скопированных данных из ячейки представления с типом Guid добавлялся нулевой пробел.
  122. Запись в истории действий по созданию или изменению представления теперь имеет тип “Изменение представления” (ранее использовался тип “Создание представление” для любых изменений). Запись по созданию или изменению рабочего места теперь имеет тип “Изменение рабочего места” (ранее использовался тип “Создание рабочего места” для любых изменений). Для существующих записей в истории тип действия переименован, все записи сохранены.
  123. Плагин автоматического согласования теперь записывает в лог ошибки, возникшие при завершении задания.
  124. При асинхронной обработке процессов Workflow Engine с блокировкой исправлена потенциальная возможность возникновения deadlock-а при одновременной синхронной и асинхронной обработке процесса. Теперь для начала обработки процесса берется блокировка на запись карточки, к которой относится процесс.
  125. В web-клиенте исправлена ошибка из-за которой при инициализации контрола “Строка” отображалось некорректное количество строк.
  126. В представлениях исправлена ошибка компиляции при использовании классов, принадлежащих библиотеке System (например, System.Environment), в C# выражениях.
  127. В web-клиенте исправлена ошибка отсутствия валидации текстовых параметров фильтрации, содержащих уникальные идентификаторы.
  128. В web-клиенте в диалоге проверки отзыва сертификата ЭП OCSP и CRL исправлен заголовок для идентификатора алгоритма подписи.
  129. Исправлена ошибка при распределении файлов по циклам согласования. Ошибка возникала, если в истории заданий содержались элементы с неизвестной датой завершения в разных циклах согласования.
  130. Исправлено отображение ролей комментаторов в таблице “Комментарии” в заданиях “Согласование” и “Подписание”.
  131. В web-клиенте исправлено открытие выпадающего списка у контрола с автодополнением по нажатию стрелок вверх/вниз с клавиатуры.
  132. В конструкторе бизнес-процессов исправлена ошибка, из-за которой вложенная обработка процесса Workflow Engine, запущенная в рамках сохранения вложенной карточки, повторно сохраняла тот же самый экземпляр карточки.
  133. Исправлена ошибка, приводящая к некорректному отображению локализации в диалоговом окне “Правило уведомления”.
  134. Добавлены валидаторы для полей “Начальный множитель”, “Конечный множитель” и “Шаг множителя” в карточке “Потоковый ввод документов”.
  135. Веб-сервис jinni теперь сообщает в систему Discovery код сервера ServerCode, если он обслуживает единственный экземпляр сервера. В этом случае он будет отображаться в Redis Explorer в группе этого кода сервера вместе с прочими компонентами.
  136. В web-клиенте в тёмной теме улучшена контрастность выпадающих списков за счёт обновленного значения стиля тени.
  137. В уведомлении “Рассылка о заданиях” исправлена ошибка, из-за которой дата автоматического согласования выводилась некорректно.
  138. В web-клиенте исправлен баг: при открытии больших PDF файлов происходило зависание предварительного просмотра.
  139. Исправлена ошибка сохранения изменений функциональных ролей задания, возникающая в ситуации, когда в списке ролей присутствовала удалённая из системы роль.
  140. В веб-сервисе jinni исправлена ошибка, связанная с устаревшим пакетом distutils, которая возникала в процессе конвертации файла в pdf.
  141. В Redis Explorer для Microsoft Edge скрыта кнопка отображения пароля, автоматически добавляемая браузером.
  142. В web-клиенте исправлено открытие диалога деталей по нажатию средней кнопки мыши в истории заданий.
  143. Исправлена ошибка экспорта карточки в ситуации, когда в дайджесте карточки присутствовала точка, а длина дайджеста превышала 100 символов.
  144. В web-клиенте исправлено закрытие окна выбора цвета при выходе курсора за его пределы с зажатой левой кнопкой мыши.
  145. Исправлено определение цвета задания для заместителя, если он взял задание в работу, но задание было назначено не на его персональную роль.
  146. В скриптах setup.* добавлен вызов tadmin TimeZone UpdateOffsets после установки значения смещения для временной зоны по умолчанию.
  147. В web-клиенте исправлено отображение подсказки при наведении на запись в истории заданий.
  148. В web-клиенте исправлена ошибка расчёта ширины горизонтальных блоков.
  149. В web-клиенте исправлена ошибка, из-за которой при правом клике по колонке с флагами выбора строки отображалось контекстное меню рабочего места, а не представления.
  150. В уведомлении “Рассылка о заданиях” исправлено ошибочное появление информации о предстоящем автоматическом согласовании для заданий из этапов с отключенным автоматическим согласованием.
  151. Исправлен возврат результата из методов контроллеров вызовом await this.TypedJsonAsync() с указанием значения null или с явным указанием кода возврата, не допускающего наличия тела (например, код 204). Проблема была актуальна для любого использования веб-сервиса, кроме IIS на Windows (где ошибки не было).
  152. Для типа карточки RoleDeputiesManagement исправлено редактирование таблиц “Кто меня замещает” и “Кто меня замещает по документам” в предпросмотре TessaAdmin.
  153. В web-клиенте исправлена ошибка, приводившая к бесконечному циклу попыток аутентификации при неудачной Windows-аутентификации.
  154. В web-клиенте исправлено открытие раздела справки, настроенного для нескольких вкладок одной карточки.
  155. Для команды tadmin CheckService исправлен вывод соединения к Redis при невозможности к нему подключиться.
  156. Исправлена логика работы с повреждённым файлом кэша метаинформации для desktop-клиента.
  157. Исправлена обработка возможности завершить задание, если ему в расширениях был установлен флаг CardTaskFlags.AutoStart.
  158. В маршрутах и конструкторе бизнес-процессов в диалогах с временем жизни “Карточка” исправлены ошибки при завершении диалога. Ошибки возникали, если завершение диалога прерывалось в сценарии валидации.
  159. Исправлена ошибка, из-за которой при неудачном импорте карточек утилитой tadmin ImportCards не логировались подробности ошибки.
  160. В web-клиенте для тёмной темы исправлен стиль полей в карточке операции OCR.
  161. В web-клиенте исправлена ошибка из-за которой у контролов “Ссылка” и “Список” в выпадающем меню с таблицей текст выравнивался по центру.
  162. В логе веб-сервиса записывается более понятная ошибка для ситуации, когда токен сессии был отправлен от чужого инстанса на том же сайте, если в конфигурационном файле указано некорректное значение настройки GuyFawkesAuth, при этом логин выполняется из веб-клиента.
  163. В TessaAdmin исправлена ошибка открытия редактора рабочих мест в ситуации, когда в рабочем месте присутствуют не до конца настроенные узлы с представлениями.
  164. В web-клиенте исправлено появление горизонтальной полосы прокрутки в представлениях без строк в случаях, когда колонки не помещались на экране.
  165. В web-клиенте исправлена ошибка отображения поля поиска в предпросмотре с распознаванием текста: ранее в тёмной теме фон поля поиска отображался некорректно.
  166. Исправлено открытие web-клиента и приложения TessaClient в случае, если для пользователя в поле PersonalRoleSatellite.WorkplaceExtensions указан некорректный JSON для личных настроек рабочего места. В этом случае приложение открывается без личных настроек, а ошибка записывается в лог: лог сервиса web для web-клиента, клиентский лог для приложения TessaClient.
  167. В web-клиенте для контрола “Выбор цвета” исправлены ошибки, приводившие к невозможности открыть меню выбора цвета при некоторых введенных значениях.
  168. В web-клиенте в карточке правил расчета ACL убрано пустое пространство под полем “Расширения”, если оно незаполнено.
  169. В web-клиенте исправлена ошибка в карточке правил расчета ACL при её сохранении в случае, если поле “Расширения” было изменено.
  170. Улучшена стабильность обработки операций по конвертации файлов за счёт автоматической перезагрузки зависших процессов до наступления планового техобслуживания.
  171. В web-клиенте исправлена ошибка отображения pdf-файлов в области предпросмотра на iOS: ранее файл не отображался при значении масштаба в 400% из-за ограничений Safari WebKit. Теперь максимальное значение масштаба для iOS - 300%.
  172. Исправлена ошибка обработки скрытых вкладок при открытии карточки и после её обновления. Ранее не осуществлялось перехода на первую отображаемую вкладку.
  173. В web-клиенте исправлена ошибка, из-за которой было невозможно получить фрагменты текущей темы через ThemeManager.getThemeNode.
  174. Исправлена автоматическая очистка кэша сконвертированных файлов, если конвертация выполнялась в веб-сервисе web, а не в фоновой службе chronos.

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

  1. При использовании Nginx для корректной и оптимальной работы веб-сервиса рекомендуется отключить кэширование запросов на уровне server или location в конфигурационном файле Nginx *.conf (настройка proxy_request_buffering off), а также в других прокси, за которыми стоит Nginx, если таковые присутствуют. Подробнее в разделе Настройка веб-сервера Nginx.
  2. Изменён способ включения и отключения в режима технического обслуживания. Необходимо изменить настройки IIS и nginx, обратитесь к соответствующим разделам документации.
  3. Для плагина WorkflowEngineAsyncPlugin добавлены настройки WorkflowAsync.RetryPeriod и WorkflowAsync.RetryTimeout, определяющие период, через который будет перезапущена асинхронная обработка сигнала после возникновения ошибки, и период, через который будет прекращена повторная асинхронная обработка сигнала после ошибки. Подробнее см. в разделе Предварительная настройка Chronos.
  4. Если для карточек необходимо включить поддержку тегов, необходимо установить флаг “Разрешить теги” в типе карточки.
  5. В конфигурационном файле app.json для службы Chronos удалён параметр FileConverter.CacheCleanPeriod в пользу нового плагина FileConverterRemoveCache.xml и его настроек.
  6. В конструкторе бизнес-процессов исправлена проверка версии карточки при сохранении после окончания обработки. Теперь версия карточки проверяется всегда. Если в скриптах бизнес-процессов выполняется сохранение карточки с изменением версии через репозиторий карточек, то необходимо или удалять карточку из текущего скоупа с помощью метода RemoveCardAsync, или устанавливать корректную версию для карточки из скоупа.

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

  1. Удалён интерфейс IKrPermissionExtendedCardSettings, который мог использоваться в расширениях правил доступа. Замените его на класс KrPermissionExtendedCardSettingsStorage. Вместо метода интерфейса TryGetCardSettings используйте метод TryGetSectionSettings.
  2. Модифицированы все методы интерфейсов IObjectLockingStrategy, IObjectTransactionLockingStrategy, IKrPermissionsObjectLockingStrategy. Для корректной идентификации блокируемого объекта используется параметр типа ObjectLockKey, который заменил два параметра objectID и objectPrefix. Семантика использования осталась прежней. Для перехода на новый API достаточно окружить objectID и objectPrefix конструкцией new (...), т.е. new (objectID, objectPrefix).
  3. В методах ITransactionStrategy, ICardTransactionStrategy добавлена предварительная проверка параметра validationResult на наличие ошибок. В случае их наличия, никакие действия не выполняются и производится немедленный выход из методов.
  4. В методах IObjectLockingStrategy.ReleaseWriterLockAsync, IObjectLockingStrategy.ReleaseReaderLockAsync, IObjectTransactionLockingStrategy.ReleaseObjectAsync, IKrPermissionsObjectLockingStrategy.ClearLocksAsync, IKrPermissionsLockStrategy.ClearLocksAsync, IAclLockStrategy.ReleaseLockAsync, INestedRoleLockStrategy.ReleaseLockAsync, ISmartRoleLockStrategy.ReleaseLockAsync удалён параметр cancellationToken.
  5. Скоуп карточек IWorkflowEngineCardsScope при вызове метода Create теперь всегда создаёт новую область видимости карточек, а не использует ранее созданную при повторных вызовах. Для методов получения карточки из скоупа добавлен необязательный параметр, позволяющий получать карточку, как только из текущего скоупа, так и из цепочки родительских скоупов.

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

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

    • Administrator

    • User (изменена локализация заголовков для узлов “Текущие задания” и “Завершённые задания” в папке “Отчеты”, для узла “Просроченные задания” в папке “Диаграммы”)

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

    • FileLoadingTokensForCard
  3. Таблицы:

    • ActionTypes

    • CompletionOptions

    • KrApprovalActionVirtual

    • KrApprovalSettingsVirtual

    • KrSigningActionVirtual

    • KrSigningStageSettingsVirtual

    • WeTimerAction

    • WorkflowEngineTaskActions

    • WorkflowEngineTimerSubscriptions

    • WorkflowInLinks

    • WorkflowLinks

    • WorkflowSignalTypes

  4. Типы:

    • Car

    • Contract

    • DocLoad

    • Document

    • FieldChangedCondition

    • Incoming

    • KrApprovalAction

    • KrApprovalStageTypeSettings

    • KrPermissions

    • KrSigningAction

    • KrSigningStageTypeSettings

    • Outgoing

    • Partner

    • Protocol

    • RoleDeputiesManagement

    • WfResolution

    • WorkflowLinkEditor

    • WorkflowNodeEditor

    • WorkflowProcess

    • WorkflowTimerAction

  5. Карточки:

    • ApprovalHistoryCondition

    • TaskNotification

    • TaskTypeCondition

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

Back to top