Патч 4.0.6 (16.05.2025)¶
Добавление и изменение функциональности¶
- Добавлена поддержка редактирования параметров задания (дайджест и плановая дата) в любом типе задания. В типах задания появился флаг “Разрешить редактирование параметров задания”. При наличии этого флага и разрешения на изменение дайджеста и плановой даты задания в любой из функциональных ролей, пользователю будет доступен вариант завершения “Изменить параметры задания”.
- Добавлена обработка события Workflow Engine “Изменить параметры задания” и соответствующий сигнал
ModifyTaskParameters
. - Добавлен плейсхолдер
{today}
. В отличие от плейсхолдера{date}
, плейсхолдер{today}
всегда возвращает текущую дату/время, тогда как в плейсхолдере{date}
возвращаемая дата/время могут зависеть от контекста и возвращать, например, дату документа как в именах последовательностей для выделения номеров. - У веб-сервиса
webbi
удалён роут/switch
перевода системы в режим технического обслуживания. - У веб-сервиса
webbi
удалён не используемый более ключ-unrestricted
. - В маршрутах и конструкторе бизнес-процессов в этапы и действия “Согласование” и “Подписание” добавлен параметр “Не создавать запись “Возврат на доработку” в истории заданий”. Параметр позволяет отключить создание указанной записи в истории заданий при возврате на доработку.
- Добавлена настройка
MaxParallelBackgroundTasks
веб-сервиса для указания ограничения на количество параллельно выполняемых фоновых заданий, для которых указано, что они могут выполняться параллельно. - В web-клиенте добавлена возможность затемнять фон приложения в диалоговом окне настроек “Фон и тема”.
- В web-клиенте добавлена возможность позиционировать фон приложения в диалоговом окне настроек “Фон и тема”.
- В web-клиенте увеличен размер аватара пользователя на главной панели приложения.
- В web-клиенте на мобильных устройствах пункты меню файлового контрола для работы с “OnlyOffice” скрыты.
- Теперь в контроле “Список файлов” категории файлов по умолчанию будут отсортированы в соответствии с заданным порядковым номером, а в пределах одного номера - по алфавиту.
- В web-клиенте добавлена возможность подписания больших файлов.
- В диалоге “Структура карточки” при нажатии на кнопку “Сохранить в файл” структура карточки теперь сохраняется в формате
json
. - При изменении пароля через карточку сотрудника пароль отправляется в формате
base64
. ПолеPasswordRepeat
при отправке имеет значениеnull
. - В web-клиенте для удобного предпросмотра файлов добавлены кнопки переключения между файлами.
- В конструктор бизнес-процессов в логику асинхронной обработки добавлена поддержка механизма повторного запуска асинхронной обработки сигнала. Подробнее см. в разделе Асинхронная обработка сигнала.
- В конструктор бизнес-процессов в настройки связи добавлен флаг “Повторить асинхронную обработку сигнала после ошибки”, позволяющий включить повторный запуск асинхронной обработки сигнала после возникновении ошибки его обработки.
- В конструктор бизнес-процессов в действие “Таймер” добавлен флаг “Повторить асинхронную обработку сигнала после ошибки”, позволяющий включить повторный запуск асинхронной обработки сигнала после возникновении ошибки его обработки.
- Выпадающий список типов колонок в TessaAdmin и SchemeEditor теперь выводится отсортированным по имени типа.
- В конструктор бизнес-процессов в логику асинхронной обработки добавлена поддержка механизма синхронизации обработки. При включении настройки две асинхронные обработки, выполняемые с синхронизацией по одному и тому же объекту синхронизации, никогда не выполняются одновременно и всегда будут выполнены последовательно вне зависимости от того, выполняется ли обработка сигнала для одного и того же процесса или для разных.
- В конструктор бизнес-процессов в настройки связи добавлены настройки “Синхронизировать обработку сигнала при асинхронной обработке” и “Объект синхронизации”, позволяющие настроить механизм синхронизации асинхронной обработки.
- В конструктор бизнес-процессов в действие “Таймер” добавлены настройки “Синхронизировать обработку сигнала при асинхронной обработке” и “Объект синхронизации”, позволяющие настроить механизм синхронизации асинхронной обработки.
- В настройку типа карточки был добавлен флаг “Разрешить теги”, управляющий возможностью использования тегов в карточках данного типа.
- Добавлена очистка поля “Комментарий к циклу согласования” при создании копии карточки.
- Добавлен плагин
FileConverterRemoveCache.xml
для автоматической очистки кэша сконвертированных файлов.
Консольная утилита tadmin¶
- Удалена команда
Maintenance
. Для перевода системы в режим технического обслуживания используйте командуtadmin
SendCommand
.
Новые версии библиотек¶
AvalonEdit 6.3.1.120
BarcodeLib 3.1.5
CAdESLib 1.6.5
DocumentFormat.OpenXml 3.3.0
HtmlAgilityPack 1.12.1
HtmlSanitizer 9.0.873
iTextSharp.LGPLv2.Core 3.7.2
Kerberos.NET 4.6.77
Microsoft.CodeAnalysis.CSharp.Workspaces 4.13.0
Microsoft.Data.SqlClient 5.2.3
Microsoft.NET.Test.Sdk 17.13.0
NLog 5.4.0
NLog.Web.AspNetCore 5.4.0
Npgsql 7.0.10
NUnit3TestAdapter 5.0.0
OpenCvSharp4 4.11.0.20250507
SixLabors.ImageSharp.Drawing 2.1.6
SkiaSharp 3.119.0
StackExchange.Redis 2.8.37
Swashbuckle.AspNetCore 7.3.1
Swashbuckle.AspNetCore.Newtonsoft 7.3.1
ZXing.Net 0.16.10
Изменения API¶
- При создании экземпляров класса
ContentTokenBase
у дат создания и истечения токена время усекается до секунд. Это сделано для учёта особенностей сохранения токенов в СУБД MS SQL Server и PostgreSQL, которые могут округлять миллисекунды, что ранее приводило к недействительности защищённых токенов доступа к содержимому. - Исправлена реализация методов
getRoleCalendarInfo
,getDefaultCalendarInfo
,getCalendarInfo
иgetAllCalendarInfos
в API календарей для web-клиента. - В реализации
ObjectLockingStrategy
устранена возможность передавать собственный скрипт работы с блокировками и добавлена возможность опционального использования множественных блокировок на запись. - Модифицирован интерфейс
IBackgroundServiceQueue
. В методEnqueueAsync
добавлен параметрparallel
регулирующий в какую очередь последовательного или параллельного исполнения будет добавлена задача. Количество одновременно запущенных задач (размер очереди) регулируется параметромMaxParallelBackgroundTasks
настроек веб-сервиса. - Изменён интерфейс
IFileViewModel
: добавлено свойствоGroupStrictOrder
, которое содержит информацию о заданном порядковом номере категории файла. - Добавлен интерфейс
ICardContentTokenProvider
, который позволяет создавать, подписывать и проверять токены на получение контента файлов по отдельному GET-запросу. - Добавлен интерфейс
ICardContentInfo
. Этот интерфейс предоставляет информацию, описывающую контент файла. - Добавлен REST-метод для получения контента файла карточки по токену:
GET api/v1/cards/file-content?token={token}&session={session}
. Здесьtoken
(обязательный параметр) - токен контента файла,session
(опциональный параметр) - токен сессии, который может быть опущен, например, когда токен сессии уже передан через куки. - Модифицирована структура свойства
ITransactionScopeContext.Locks
для добавления информации не только об идентификаторе объекта, но и о его префиксе. - В скрипты конструктора бизнес-процессов добавлено новое свойства
RetryInfo
. Данное свойство содержит информацию о настройках механизма перезапуска асинхронной обработки, позволяет включить или отменить перезапуск обработки в случае ошибки, а также содержит информацию о предыдущей ошибке, вызвавшей перезапуск. Данное свойство доступно только при асинхронной обработке сигнала. - В скрипты конструктора бизнес-процессов добавлены новые методы
AddValidationError(string)
иAddValidationError(string, object[])
. Данные методы позволяют добавить в результат валидации сообщение об ошибке без создания карточки ошибки для бизнес-процесса. Подробнее см. раздел API скриптов.
Исправления и оптимизации¶
- В конструкторе бизнес-процессов в параметрах действия “Согласование” исправлена ошибка, из-за которой некорректно автоматически изменялось значение поля “Вид” после изменения состояния флага “Рекомендательное согласование”.
- Исправлена ошибка, из-за которой не работала сортировка кнопок бизнес-процессов на тулбаре карточек.
- Исправлено создание защищённых токенов доступа к содержимому системы
IContentTokenRepository
. В некоторых случаях при сохранении защищённых токенов СУБД округляла поля, содержащие дату и время, что приводило к недействительности выданного токена. - В конструкторе бизнес-процессов в действиях “Согласование” и “Подписание” исправлена ошибка, из-за которой действия не отправляли сигналы завершения после удаления заданий по сигналу
DeleteTask
. - В web-клиенте в диалоге фильтрации представлений убрано отображение кнопок контролов в режиме только для чтения.
- В web-клиенте поля
minDate
,maxDate
,beginDate
,highlightBeginDate
вDateTimeViewModel
теперь реактивные. - В конструкторе бизнес-процессов исправлены ошибки обработки привязок с типами “Карточка” и “Задание”. Ошибки возникали при получении значения ссылочного поля строковой секции при обработке привязки для списка значений, например, параметр “Роли” в действии “Группа заданий”.
- В конструкторе бизнес-процессов исправлена ошибка, из-за которой при настройке привязки типа “Представление” нельзя было выбрать “Параметр для ID карточки” с типом
Guid Null
. - Исправлена ошибка разделения диалогов открытия файла для разных областей компонента выбора файла на экране логина в
Redis Explorer
. - В конструкторе бизнес-процессов исправлена ошибка “System.InvalidOperationException: GetCardAsync method called outside of scope.” при отправке почтовых уведомлений.
- В web-клиенте в примере расширения
21_forumUIExtension
исправлено добавление кнопки и дублирование пунктов контекстного меню. - Время жизни токена, выписываемого для отображаемых пользователю аватаров, увеличено с 1 дня до времени жизни сессии (по умолчанию 7 дней).
- В web-клиенте исправлено выделение текста при выборе диапазона строк при помощи Shift в контроле представления.
- Исправлена десериализация строк в json со стороны .NET, если строки содержат значения в ISO-формате даты вида
yyyy-MM-ddTHH:mm:ssZ
. БиблиотекаNewtonsoft.Json
, используемая для сериализации json, трактовала такую строку как объектDateTime
(например, в строковом поле карточкиsection.Fields["Name"]
содержался бы объект типаDateTime
, а неstring
). Теперь строковые значения всегда десериализуются как строки, независимо от содержимого, а десериализацияDateTime
возможна только с суффиксом::dtm
в имени ключа для Typed Json. - Исправлен метод
TessaSerializer.CreateTyped(Action<JsonSerializerSettings>)
. Теперь он создаёт сериализатор с конвертеромTypedJsonConverter
до того, как будет вызван делегат в параметре. Если конвертер должен быть добавлен вручную внутри делегата, то следует вызвать аналогичный методCreate
. - В API тестов исправлена ошибка в методе
KrTestHelper.GetWorkflowProcessAsync
, из-за которой неправильно загружался идентификатор процесса. - Для подписей ЭП атрибут “Время подписи” выставляется в UTC.
- Исправлены предупреждения в консольном выводе веб-сервисов вида “HTTP/2 requires TLS application protocol negotiation” при прослушивании портов по HTTP (без HTTPS).
- В web-клиенте исправлена ошибка, из-за которой выпадающий список мог перекрывать поле ввода в контроле “Ссылка”.
- В web-клиенте исправлена ошибка, из-за которой периодические запросы на сервер продолжали отправляться при невалидной сессии.
- В web-клиенте исправлена консольная ошибка несоответствия MIME-типов при открытии диалогового окна выбора файлов.
- Исправлена документация по генерации тестовых сертификатов.
- При использовании свойства
CardStoreRequest.ForceTransaction
веб-сервисweb
теперь возвращает ошибку в случае, если запрос пришёл с клиентского приложения. - В web-клиенте в системе обсуждений больше не показываются кнопки “Подписаться” и “Выйти из участников” в неактуальных служебных сообщениях.
- В web-клиенте в системе обсуждений у кнопки “Подписаться” в выпадающем меню обсуждения исправлено обновление статуса подписки.
- В web-клиенте исправлено применение срока доступа временной ссылки на файл при её создании. Раньше всегда применялся период, указанный в карточке настроек сервера в поле
Максимальный период действия ссылки на файл (дней)
. - В web-клиенте исправлено отображение пунктов контекстного меню у приложенных файлов для элемента управления “Текст с форматированием”.
- В web-клиенте исправлено отображение всплывающих окон при прокрутке.
- В web-клиенте исправлено отображение фона строк у таблиц в компактной версии.
- В web-клиенте в системе обсуждений убрано отображение сообщения об ошибке при выходе из обсуждения.
- В web-клиенте для тёплой темы исправлен фон некоторых кнопок при наведении.
- При взятии блокировки карточки на запись не проверяется её версия, если этого не требуется.
- В web-клиенте исправлено выравнивание надписи с отображением количества строк в некоторых представлениях.
- В web-клиенте исправлена ошибка, связанная с некорректным отображением тайлов в браузере Firefox.
- В web-клиенте исправлена ошибка, приводившая к невозможности задать полностью прозрачный фон для элемента управления “Метка”.
- Модифицирован алгоритм работы
IBackgroundServiceQueue
таким образом, чтобы при штатной остановке веб-сервисов запланированные задачи могли быть выполнен. Ранее очередь просто прерывалась, и задачи не выполнялись. - В web-клиенте исправлена ошибка, из-за которой в расширении на узел рабочего места
InformationLabelViewExtension
в некоторых случаях некорректно рассчитывалась видимость метки. - Исправлена ошибка, из-за которой при выборе категорий файлов в контроле “Список файлов”, когда отсутствует флаг “Сохранять порядок категорий”, эти категории могли быть отсортированы не по алфавиту.
- В web-клиенте файлы теперь не загружаются полностью в память, а принимаются потоком. Процесс скачивания при этом контролируется браузером.
- Исправлено возвращаемое имя версии файла при доступе к ней по временной ссылке. Ранее в качестве имени версии устанавливалось текущее актуальное имя файла.
- В TessaAdmin при сохранении локализации исправлено отображение ошибок.
- Исправлена ошибка “An item with the same key has already been added”, отображаемая при попытке добавить существующий заголовок в методе
ClientResponseExecutor.ResponseAsync
. - В web-клиенте
MessageBox
теперь корректно обрабатывает текст и обеспечивает правильное отображение обычного текста или HTML-разметки. - В web-клиенте оптимизировано взаимодействие между клиентом и сервером при подписании файлов.
- В web-клиенте исправлена ошибка отображения контролов “Представление” в области заданий: ранее цвета, используемые в представлениях, не соответствовали цветовой гамме выбранной темы.
- В web-клиенте исправлена ошибка, связанная с некорректным расчётом позиции всплывающих окон.
- В web-клиенте в контроле “Текст с форматированием” исправлена ошибка добавления картинок.
- Исправлена ошибка, приводившая к лишней проверке доступа на изменение связанных с заданием ролей.
- Доработан
CardTaskAccessProvider
так, чтобы запрос проверки прав на изменение связанных с заданием ролей не вызывался повторно, если он уже был вызван в рамках текущей проверки. - В представлении
FileLoadingTokensForCard
исправлена сортировка по колонке с идентификатором файла. - Исправлена ошибка “Sequence contains no matching element” при заполнении кэша виртуальных файлов.
- В web-клиенте исправлена ошибка, из-за которой к контролу “Флажок” не применялись настройки текста.
- В web-клиенте исправлена ошибка, связанная с некорректным переносом строк в контроле “Текст с форматированием”.
- В шаблонах файлов Word для выделенной табличной области, лежащей внутри параграфа, исправлено определение табличных плейсхолдеров в случае, когда к данному параграфу были привязаны элементы, обтекаемые текстом или лежащие перед/за ним (надписи, картинки и т.д.).
- В desktop-клиенте для контролов “Флажок”, “Кнопка” и “Дата и время” исправлено применение настроек оформления текста “Подчёркнутый” и “Зачёркнутый”.
- Исправлена ошибка, из-за которой тестовое представление “Генератор” (
TransientView
) могло некорректно отображаться в web-клиенте. - Исправлена ошибка, из-за которой для настроек расширенных правил доступа “Допустимое количество файлов” и “Обязательный файл” учитывались виртуальные файлы карточки.
- Исправлены ошибки, возникавшие при отправке уведомления в том случае, когда в карточке типа “Уведомление” не было заполнено одно из следующих полей:
AliasMetadata
,Subject
илиText
. - В web-клиенте исправлена ошибка в контроле выбора цвета, из-за которой невозможно было указать цвет через поля ввода “hex” и “rgb”.
- В web-клиенте исправлена ошибка в диалоге редактирования тегов, из-за которой в контроле выбора цвета неправильно обрабатывались цвета с нулевой прозрачностью.
- В плагине расчёта заместителей исправлена ошибка, из-за которой заместитель с указанным периодом замещения не добавлялся в роль в первый день замещения.
- В web-клиенте в маршрутах в этапе “Подписание” исправлена ошибка “Cannot read properties of null (reading ‘id’)” при отображении заместителем исполнителя задания скрытых по умолчанию действий.
- Исправлено выполнение клиентских тестов, если метод
ClientTestBase.OpenSessionAsync
был вызван в одном из тестов, после чего упал с ошибкой (например, некорректный пароль). - В web-клиенте исправлена ошибка предварительного просмотра SVG изображений в браузере Firefox.
- В web-клиенте исправлен фон некоторых диалоговых окон в тёплой теме.
- Исправлено проблема, когда при наличии ошибки в файле схемы в сообщении об этой ошибке отображалось имя другого файла.
- В web-клиенте исправлена ошибка, из-за которой заголовки представлений в рабочих местах не соответствовали названиям узлов в рабочих местах.
- Исправлена ошибка дублирования
using
иusing static
при компиляции скриптов системы. - При обработке плейсхолдеров
{tv:...}
и{fv:...}
при передаче в плейсхолдер в качестве параметра значения с типомbool
теперь используется критерийIsTrue
илиIsFalse
, в зависимости от значения параметра. - В web-клиенте из нижней панели диаграмм убраны компоненты пейджинга и подсчета количества строк.
- В обработчике бизнес-процессов исправлена ошибка, возникавшая при сохранении результата обработки экземпляра процесса в карточку “Ошибка” в ситуации, когда обработчику не удалось взять блокировку на экземпляр процесса.
- В web-клиенте исправлена ошибка делавшая невозможным применение настроек шрифта к элементам управления.
- Исправлена ошибка “The given key ‘TypeID’ was not present in the dictionary”, которая в некоторых случаях предотвращала запись в историю действий о неуспешном открытии карточки.
- В web-клиенте исправлена ошибка, из-за которой кнопка “Отмена” при создании карточки в диалоговом окне не вызывала диалоговое окно с подтверждением действия.
- Исправлена ошибка, из-за которой в типе условия “Изменение поля” можно было выбрать комплексную колонку.
- В web-клиенте исправлена ошибка отображения кнопок файлового контрола: ранее кнопки могли не отображаться при его инициализации.
- Исправлена ошибка “Токен подписан неверно” при валидации токена прав доступа, возникающая при чтении некоторых свойств расширенных настроек прав доступа до выполнения валидации. Это могло возникнуть при обращении к свойствам токена на клиенте или при повторной валидации токена на сервере.
- В web-клиенте исправлена ошибка, при которой выпадающий список из тулбара появляется в левом углу окна.
- В web-клиенте исправлена ошибка, связанная с некорректным переносом текста в поле с автодополнением.
- В web-клиенте исправлено применение списка доступных расширений файлов для файлового контрола.
- В web-клиенте исправлена ошибка “Отсутствуют доступные категории файлов.”, возникавшая при попытке сменить категорию файла, добавленного другим пользователем.
- В desktop-клиенте в типе карточек “Правило доступа” исправлена ошибка, из-за которой в контроле “Роли” не локализовывались значения ролей, содержащих в своём имени строку локализации.
- Для сервиса
monitor
исправлено логирование. По умолчанию логи записываются в файлlog.txt
по аналогии с другими сервисами. - В web-клиенте исправлена прокрутка диалога “О программе” на мобильных устройствах.
- В web-клиенте исправлено сохранение параметров фильтрации при открытии представления в новой вкладке.
- В web-клиенте исправлено сохранение параметров фильтрации при добавлении сохраненного запроса к узлу.
- В web-клиенте предотвращено выделение названий элементов дерева рабочего места и файлов в файловом контроле при вызове контекстного меню.
- В web-клиенте увеличено число строк у полей “Сообщение” и “Подробно” в диалоге ошибки.
- В модуле синхронизации с AD/LDAP исправлена ручная синхронизация подразделений, статических ролей и пользователей. Теперь объекты скрываются и блокируются в случае, если они отсутствуют в AD/LDAP.
- В web-клиенте исправлено появление полосы прокрутки в окне браузера после нажатия на кнопку “Загрузить файлы” в файловом контроле.
- В web-клиенте убран отступ у контрола флажка в режиме только для чтения.
- В web-клиенте исправлена ошибка, из-за которой нажатие клавиши Enter в диалоге выбора эмодзи приводило к ошибке.
- Исправлена трассировка запросов к БД для PostgreSQL, связанная с ошибкой в библиотеке Npgsql.
- В web-клиенте добавлено ограничение на использование расширений загружаемых фоновых изображений. Список поддерживаемых расширений:
png
,jpg
,jpeg
иwebp
. - Для трассировки сервисов
web
добавлено ограничение на хранимую в памяти трассировку в случае, если сервисmonitor
недоступен. - Исправлена обработка счётчиков на основе
UpDownCounter
для сервисаweb
. - В сервисе
monitor
исправлена обработка счётчиков, содержащих метки с неподдерживаемыми символами. - В сервисе
monitor
исправлено зависание в случае, если при обработке запроса произошла ошибка. - В сервисе
web
исправлена обработка новых публичных ключейdiscovery
при их добавлении в папку на диске в случае, если сервис уже запущен. - Для команды
tadmin GenerateDiscoveryKey
исправлено обращение кRedis
в случае, если используется режимGenerate
. - В сервисе
web
исправлена включение трассировкиTracingMiddleware
в случае, если использовались группировкиWeb
или*
. - Исправлена ошибка, позволявшая администратору изменять схему данных при установленном в
app.json
флагеConfiguration.Sealed
. - В web-клиенте исправлен баг, который возникал при просмотре больших файлов PDF.
- В web-клиенте добавлены строки локализации для заголовков представлений “Текущие задания”, “Завершённые задания”, “Просроченные задания”.
- В конструкторе бизнес-процессов исправлена ошибка, из-за которой в режиме последовательной отправки заданий после удаления очередного задания следующее задание не отправлялось.
- В объектах
CardTask
иCardTaskSessionRole
для web-клиента исправлены имена ключей, по которым происходило обращение к хранилищу объекта для получения его свойств. - При взятии блокировок на объекты при помощи
IObjectTransactionLockingStrategy
добавлен учёт префикса объекта. - Исправлена ошибка починки типов условий в ситуации, когда при починке карточек с условиями одна из запланированных для исправления карточек была удалена.
- Убрана лишняя проверка на наличие изменённого поля
NeedRebuild
в секцииKrApprovalCommonInfoVirtual
во время проверок прав доступа в типовом решении. - В web-клиенте исправлена ошибка для контрола “Флажок”, из-за которой при изменении масштаба окна браузера его внешняя обводка могла соприкасаться с границей элемента.
- Теперь в уведомлении “Задание отправлено”, если в настройках сервера установлен флаг “Отключить ссылки на desktop-клиент для уведомлений и виртуальных файлов”, в заголовке будет ссылка на web-клиент.
- В маршрутах исправлена ошибка, из-за которой в
IKrScope
могла содержаться неактуальная версия карточки. Ошибка, например, возникала, если карточка изменялась в процессе Workflow Engine, после чего при сохранении выполнялся вторичный процесс и тоже вносил изменения. - В web-клиенте исправлена ошибка, позволявшая вставку текста в текстовые контролы в карточке сверх ограничения по длине.
- В web-клиенте исправлена ошибка применения выбранного цвета в редакторе аннотаций к файлам.
- Исправлена ошибка, из-за которой при импорте карточек поверх уже существующих могли создаваться лишние запросы к серверу на сохранение карточки.
- Исправлено возможное зависание сервиса
web
в случае изменения типов карточек во время обработки других запросов. - В web-клиенте исправлена ошибка применения сохраненного поискового запроса со ссылочным параметром логического типа
boolean
. - В web-клиенте исправлена ошибка, приводившая к невозможности присвоить пользовательское имя класса выпадающему меню скрытых элементов тулбара в режиме
spread
. - Исправлена ошибка в типе условия “По типу задания”. Теперь флаг “Взято в работу” не учитывается для заданий, которые автоматически берутся в работу.
- Исправлено отображение названий для параметров фильтрации представлений, в метаинформации которых поле
Caption
либо не задано (тогда выводится алиас), либо является пустой/пробельной строкой после применения локализации (также выводится алиас), либо содержит плейсхолдеры локализации{$Localization_Alias}
(теперь они применяются). - В web-клиенте исправлена ошибка, в результате которой при вставке скопированных данных из ячейки представления с типом
Guid
добавлялся нулевой пробел. - Запись в истории действий по созданию или изменению представления теперь имеет тип “Изменение представления” (ранее использовался тип “Создание представление” для любых изменений). Запись по созданию или изменению рабочего места теперь имеет тип “Изменение рабочего места” (ранее использовался тип “Создание рабочего места” для любых изменений). Для существующих записей в истории тип действия переименован, все записи сохранены.
- Плагин автоматического согласования теперь записывает в лог ошибки, возникшие при завершении задания.
- При асинхронной обработке процессов Workflow Engine с блокировкой исправлена потенциальная возможность возникновения deadlock-а при одновременной синхронной и асинхронной обработке процесса. Теперь для начала обработки процесса берется блокировка на запись карточки, к которой относится процесс.
- В web-клиенте исправлена ошибка из-за которой при инициализации контрола “Строка” отображалось некорректное количество строк.
- В представлениях исправлена ошибка компиляции при использовании классов, принадлежащих библиотеке
System
(например,System.Environment
), в C# выражениях. - В web-клиенте исправлена ошибка отсутствия валидации текстовых параметров фильтрации, содержащих уникальные идентификаторы.
- В web-клиенте в диалоге проверки отзыва сертификата ЭП OCSP и CRL исправлен заголовок для идентификатора алгоритма подписи.
- Исправлена ошибка при распределении файлов по циклам согласования. Ошибка возникала, если в истории заданий содержались элементы с неизвестной датой завершения в разных циклах согласования.
- Исправлено отображение ролей комментаторов в таблице “Комментарии” в заданиях “Согласование” и “Подписание”.
- В web-клиенте исправлено открытие выпадающего списка у контрола с автодополнением по нажатию стрелок вверх/вниз с клавиатуры.
- В конструкторе бизнес-процессов исправлена ошибка, из-за которой вложенная обработка процесса Workflow Engine, запущенная в рамках сохранения вложенной карточки, повторно сохраняла тот же самый экземпляр карточки.
- Исправлена ошибка, приводящая к некорректному отображению локализации в диалоговом окне “Правило уведомления”.
- Добавлены валидаторы для полей “Начальный множитель”, “Конечный множитель” и “Шаг множителя” в карточке “Потоковый ввод документов”.
- Веб-сервис
jinni
теперь сообщает в систему Discovery код сервераServerCode
, если он обслуживает единственный экземпляр сервера. В этом случае он будет отображаться в Redis Explorer в группе этого кода сервера вместе с прочими компонентами. - В web-клиенте в тёмной теме улучшена контрастность выпадающих списков за счёт обновленного значения стиля тени.
- В уведомлении “Рассылка о заданиях” исправлена ошибка, из-за которой дата автоматического согласования выводилась некорректно.
- В web-клиенте исправлен баг: при открытии больших PDF файлов происходило зависание предварительного просмотра.
- Исправлена ошибка сохранения изменений функциональных ролей задания, возникающая в ситуации, когда в списке ролей присутствовала удалённая из системы роль.
- В веб-сервисе
jinni
исправлена ошибка, связанная с устаревшим пакетомdistutils
, которая возникала в процессе конвертации файла вpdf
. - В Redis Explorer для Microsoft Edge скрыта кнопка отображения пароля, автоматически добавляемая браузером.
- В web-клиенте исправлено открытие диалога деталей по нажатию средней кнопки мыши в истории заданий.
- Исправлена ошибка экспорта карточки в ситуации, когда в дайджесте карточки присутствовала точка, а длина дайджеста превышала 100 символов.
- В web-клиенте исправлено закрытие окна выбора цвета при выходе курсора за его пределы с зажатой левой кнопкой мыши.
- Исправлено определение цвета задания для заместителя, если он взял задание в работу, но задание было назначено не на его персональную роль.
- В скриптах
setup.*
добавлен вызовtadmin TimeZone UpdateOffsets
после установки значения смещения для временной зоны по умолчанию. - В web-клиенте исправлено отображение подсказки при наведении на запись в истории заданий.
- В web-клиенте исправлена ошибка расчёта ширины горизонтальных блоков.
- В web-клиенте исправлена ошибка, из-за которой при правом клике по колонке с флагами выбора строки отображалось контекстное меню рабочего места, а не представления.
- В уведомлении “Рассылка о заданиях” исправлено ошибочное появление информации о предстоящем автоматическом согласовании для заданий из этапов с отключенным автоматическим согласованием.
- Исправлен возврат результата из методов контроллеров вызовом
await this.TypedJsonAsync()
с указанием значенияnull
или с явным указанием кода возврата, не допускающего наличия тела (например, код204
). Проблема была актуальна для любого использования веб-сервиса, кроме IIS на Windows (где ошибки не было). - Для типа карточки
RoleDeputiesManagement
исправлено редактирование таблиц “Кто меня замещает” и “Кто меня замещает по документам” в предпросмотре TessaAdmin. - В web-клиенте исправлена ошибка, приводившая к бесконечному циклу попыток аутентификации при неудачной Windows-аутентификации.
- В web-клиенте исправлено открытие раздела справки, настроенного для нескольких вкладок одной карточки.
- Для команды
tadmin CheckService
исправлен вывод соединения к Redis при невозможности к нему подключиться. - Исправлена логика работы с повреждённым файлом кэша метаинформации для desktop-клиента.
- Исправлена обработка возможности завершить задание, если ему в расширениях был установлен флаг
CardTaskFlags.AutoStart
. - В маршрутах и конструкторе бизнес-процессов в диалогах с временем жизни “Карточка” исправлены ошибки при завершении диалога. Ошибки возникали, если завершение диалога прерывалось в сценарии валидации.
- Исправлена ошибка, из-за которой при неудачном импорте карточек утилитой
tadmin ImportCards
не логировались подробности ошибки. - В web-клиенте для тёмной темы исправлен стиль полей в карточке операции OCR.
- В web-клиенте исправлена ошибка из-за которой у контролов “Ссылка” и “Список” в выпадающем меню с таблицей текст выравнивался по центру.
- В логе веб-сервиса записывается более понятная ошибка для ситуации, когда токен сессии был отправлен от чужого инстанса на том же сайте, если в конфигурационном файле указано некорректное значение настройки
GuyFawkesAuth
, при этом логин выполняется из веб-клиента. - В TessaAdmin исправлена ошибка открытия редактора рабочих мест в ситуации, когда в рабочем месте присутствуют не до конца настроенные узлы с представлениями.
- В web-клиенте исправлено появление горизонтальной полосы прокрутки в представлениях без строк в случаях, когда колонки не помещались на экране.
- В web-клиенте исправлена ошибка отображения поля поиска в предпросмотре с распознаванием текста: ранее в тёмной теме фон поля поиска отображался некорректно.
- Исправлено открытие web-клиента и приложения TessaClient в случае, если для пользователя в поле
PersonalRoleSatellite.WorkplaceExtensions
указан некорректный JSON для личных настроек рабочего места. В этом случае приложение открывается без личных настроек, а ошибка записывается в лог: лог сервисаweb
для web-клиента, клиентский лог для приложения TessaClient. - В web-клиенте для контрола “Выбор цвета” исправлены ошибки, приводившие к невозможности открыть меню выбора цвета при некоторых введенных значениях.
- В web-клиенте в карточке правил расчета ACL убрано пустое пространство под полем “Расширения”, если оно незаполнено.
- В web-клиенте исправлена ошибка в карточке правил расчета ACL при её сохранении в случае, если поле “Расширения” было изменено.
- Улучшена стабильность обработки операций по конвертации файлов за счёт автоматической перезагрузки зависших процессов до наступления планового техобслуживания.
- В web-клиенте исправлена ошибка отображения pdf-файлов в области предпросмотра на iOS: ранее файл не отображался при значении масштаба в 400% из-за ограничений Safari WebKit. Теперь максимальное значение масштаба для iOS - 300%.
- Исправлена ошибка обработки скрытых вкладок при открытии карточки и после её обновления. Ранее не осуществлялось перехода на первую отображаемую вкладку.
- В web-клиенте исправлена ошибка, из-за которой было невозможно получить фрагменты текущей темы через
ThemeManager.getThemeNode
. - Исправлена автоматическая очистка кэша сконвертированных файлов, если конвертация выполнялась в веб-сервисе
web
, а не в фоновой службеchronos
.
Обновление на новую сборку¶
- При использовании Nginx для корректной и оптимальной работы веб-сервиса рекомендуется отключить кэширование запросов на уровне
server
илиlocation
в конфигурационном файле Nginx*.conf
(настройкаproxy_request_buffering off
), а также в других прокси, за которыми стоит Nginx, если таковые присутствуют. Подробнее в разделе Настройка веб-сервера Nginx. - Изменён способ включения и отключения в режима технического обслуживания. Необходимо изменить настройки
IIS
иnginx
, обратитесь к соответствующим разделам документации. - Для плагина
WorkflowEngineAsyncPlugin
добавлены настройкиWorkflowAsync.RetryPeriod
иWorkflowAsync.RetryTimeout
, определяющие период, через который будет перезапущена асинхронная обработка сигнала после возникновения ошибки, и период, через который будет прекращена повторная асинхронная обработка сигнала после ошибки. Подробнее см. в разделе Предварительная настройка Chronos. - Если для карточек необходимо включить поддержку тегов, необходимо установить флаг “Разрешить теги” в типе карточки.
- В конфигурационном файле
app.json
для службы Chronos удалён параметрFileConverter.CacheCleanPeriod
в пользу нового плагинаFileConverterRemoveCache.xml
и его настроек. - В конструкторе бизнес-процессов исправлена проверка версии карточки при сохранении после окончания обработки. Теперь версия карточки проверяется всегда. Если в скриптах бизнес-процессов выполняется сохранение карточки с изменением версии через репозиторий карточек, то необходимо или удалять карточку из текущего скоупа с помощью метода
RemoveCardAsync
, или устанавливать корректную версию для карточки из скоупа.
Изменения API при обновлении¶
- Удалён интерфейс
IKrPermissionExtendedCardSettings
, который мог использоваться в расширениях правил доступа. Замените его на классKrPermissionExtendedCardSettingsStorage
. Вместо метода интерфейсаTryGetCardSettings
используйте методTryGetSectionSettings
. - Модифицированы все методы интерфейсов
IObjectLockingStrategy
,IObjectTransactionLockingStrategy
,IKrPermissionsObjectLockingStrategy
. Для корректной идентификации блокируемого объекта используется параметр типаObjectLockKey
, который заменил два параметраobjectID
иobjectPrefix
. Семантика использования осталась прежней. Для перехода на новыйAPI
достаточно окружитьobjectID
иobjectPrefix
конструкциейnew (...)
, т.е.new (objectID, objectPrefix)
. - В методах
ITransactionStrategy
,ICardTransactionStrategy
добавлена предварительная проверка параметраvalidationResult
на наличие ошибок. В случае их наличия, никакие действия не выполняются и производится немедленный выход из методов. - В методах
IObjectLockingStrategy.ReleaseWriterLockAsync
,IObjectLockingStrategy.ReleaseReaderLockAsync
,IObjectTransactionLockingStrategy.ReleaseObjectAsync
,IKrPermissionsObjectLockingStrategy.ClearLocksAsync
,IKrPermissionsLockStrategy.ClearLocksAsync
,IAclLockStrategy.ReleaseLockAsync
,INestedRoleLockStrategy.ReleaseLockAsync
,ISmartRoleLockStrategy.ReleaseLockAsync
удалён параметрcancellationToken
. - Скоуп карточек
IWorkflowEngineCardsScope
при вызове методаCreate
теперь всегда создаёт новую область видимости карточек, а не использует ранее созданную при повторных вызовах. Для методов получения карточки из скоупа добавлен необязательный параметр, позволяющий получать карточку, как только из текущего скоупа, так и из цепочки родительских скоупов.
Изменения конфигурации при обновлении¶
-
Рабочие места:
-
Administrator
-
User
(изменена локализация заголовков для узлов “Текущие задания” и “Завершённые задания” в папке “Отчеты”, для узла “Просроченные задания” в папке “Диаграммы”)
-
-
Представления:
FileLoadingTokensForCard
-
Таблицы:
-
ActionTypes
-
CompletionOptions
-
KrApprovalActionVirtual
-
KrApprovalSettingsVirtual
-
KrSigningActionVirtual
-
KrSigningStageSettingsVirtual
-
WeTimerAction
-
WorkflowEngineTaskActions
-
WorkflowEngineTimerSubscriptions
-
WorkflowInLinks
-
WorkflowLinks
-
WorkflowSignalTypes
-
-
Типы:
-
Car
-
Contract
-
DocLoad
-
Document
-
FieldChangedCondition
-
Incoming
-
KrApprovalAction
-
KrApprovalStageTypeSettings
-
KrPermissions
-
KrSigningAction
-
KrSigningStageTypeSettings
-
Outgoing
-
Partner
-
Protocol
-
RoleDeputiesManagement
-
WfResolution
-
WorkflowLinkEditor
-
WorkflowNodeEditor
-
WorkflowProcess
-
WorkflowTimerAction
-
-
Карточки:
-
ApprovalHistoryCondition
-
TaskNotification
-
TaskTypeCondition
-
-
Изменены библиотеки локализации.