Патч 3.6.0.13 (03.03.2023)¶
Добавление и изменение функциональности¶
- В web-клиенте в форумах (обсуждениях) и контроле “Текст с форматированием” добавлена возможность прикладывать файлы, используя Drag&Drop.
- В конструкторе бизнес-процессов в скрипты условий кнопок добавлена поддержка директивы
#script
, позволяющая переключить режим написания условия в режим скрипта. - В конструкторе бизнес-процессов скрипты условий кнопок сделаны асинхронными.
- В файл
app.json
приложений desktop-клиента (TessaClient, TessaAdmin, TessaAppManager) добавлены настройки для экрана загрузки:LogoHideFrame
,LogoHideProgress
,LogoHideText
,LogoHideVersion
,LogoForeground
,LogoBackground
. Описание настроек в разделе документации Прочие параметры приложений. - Для приложений TessaClient и TessaAdmin добавлена возможность запускать ссылки с параметром командной строки
-link
, минуя AppManager, с указанием полного текста ссылки, где вся часть ссылки, кроме параметров (имя приложения, код сервера), игнорируется. Например, при запуске с параметром"-link:tessa://tessaclient.platform/?Action=OpenCard&ID=d331c163-c711-4710-b6ba-f26ad8f1ddcd"
открывается карточка, что аналогично запуску с параметром"-link:Action=OpenCard&ID=d331c163-c711-4710-b6ba-f26ad8f1ddcd"
. - В конструкторе бизнес-процессов добавлена возможность включения формирования записей в листе согласования действиями не из группы “Маршруты”. Подробнее смотрите в руководстве разработчика.
- В web-клиенте в контроле предпросмотра изображений добавлена возможность изменять масштаб изображения.
Новые версии библиотек¶
ITfoxtec.Identity.Saml2.MvcCore 4.8.4
Kerberos.NET 4.6.4
MailKit 3.5.0
NetOfficeFw.Word 1.9.2
Npgsql 5.0.16
NUnit3TestAdapter 4.4.2
Quartz 3.6.2
StackExchange.Redis 2.6.96
Swashbuckle.AspNetCore 6.5.0
ZXing.Net 0.16.9
Изменения API¶
- Добавлен пример расширения
FilterViewDialogOverrideWorkplaceComponentExtension
для рабочего места, которое заменяет стандартный диалог настройки параметров фильтрации представления “Автомобили” на заданный. Подробнее смотрите в руководстве разработчика. - В класс
NoticeMessage
, используемый в обработчиках мобильного согласованияIMessageHandler
, добавлены свойстваHtmlBody
(тело письма в HTML формате, может бытьnull
) иOriginalMessage
(объект оригинального письма). - В web-клиенте добавлена обработка случая, когда контент версии файла, открытый на чтение, не соотвествует контенту версии на редактирование. Сотруднику будет показано диалоговое окно с предупреждением. Управлять отображением этого диалога можно при помощи флага
DeskiFileVersionExtension.showOpenForReadWarningMessage
. - Типы
IMailReceiver
иMailReceiverNames
, используемые в мобильном согласовании, перенесены в проектTessa.Extensions.Default.Server
и пространство имёнTessa.Extensions.Default.Server.Workflow
. Также классMessageProcessor
теперь поддерживает наследование с переопределением виртуальных методов. Это упрощает расширяемость мобильного согласования. - Класс
RedisEventSubscriber
сделан наследуемым с возможностью переопределить методы подписки, отписки, отправки уведомлений и сериализации аргументов события. - В web-клиенте для всех вью моделей, наследуемых от
ControlViewModelBase
, добавлено свойствоClassName
, которое позволяет управлять css классами контрола. - В web-клиенте для
DateTimeViewModel
добавлены следующие свойства:minDate
,maxDate
,beginDate
,highlightBeginDate
.minDate
,maxDate
позволяют устанавливать диапазон дат в календаре.beginDate
устанавливает дату, на которой открывается календарь.highlightBeginDate
устанавливает подсветку для указанной начальной даты. - В web-клиенте для
CardToolbarItem
добавлено свойствоisVisible
, чтобы можно было показывать/скрывать кнопки в тулбаре. - В web-клиенте для
ViewComponentBase
добавлен методonFilterDialogInitialized
, позволяющий модифицировать контролы диалогового окна фильтрации.
Исправления и оптимизации¶
- В маршрутах исправлена ошибка, из-за которой на форму настроек этапов не добавлялись дополнительные вкладки, указанные в соответствующем типе. Ошибка появилась в 3.6.0.12.
- В web-клиенте исправлена ошибка, приводившая к тому, что значение маппинг-параметров не отображалось в диалоге фильтрации, если у параметра не было описано
AutocompleInfo
илиDropdownInfo
, но присутствовалRefSection
. - В web-клиенте исправлена ошибка при создании результатов валидации с помощью метода
ValidationResult.fromError
. Проблема приводила к созданию объектов, не содержащих информации о переданном объекте с информацией об ошибке. - В desktop-клиенте исправлена работа контрола “Ссылка”. Теперь, если ввести значение, а потом его стереть, то при вызове выпадающего списка, в случае, если ему нечего вернуть, в поле ввода не произойдёт подстановка последнего удалённого символа с пробелом.
- В маршрутах исправлена ошибка при первом сохранении карточки, созданной по шаблону, в которой перед этим был вручную пропущен этап.
- В маппинге контрола “Представление” исправлено дублирование значений параметра, задаваемого с помощью поля “Алиас параметра CardID”.
- В web-клиенте исправлена ошибка, из-за которой в карточках типа задания не отображался контрол “Информация о задании”.
- В web-клиенте исправлена ошибка, приводящая к некорректному отображению заголовков контролов в карточках типа задания.
- Исправлена ситуация, когда плагин мобильного согласования, соединённый с почтовым сервером по протоколу IMAP, мог обрабатывать удалённые письма.
- При получении писем мобильного согласования, отправленных с email адресов, для которых отсутствует соответствующий сотрудник в справочнике, теперь логируется ошибка.
- В web-клиенте исправлена ошибка, из-за которой
IAdvancedCardDialogManager
не учитывались некоторые из переданныхDialogOptions
. - В конструкторе бизнес-процессов в скриптах условий кнопок исправлена ошибка, возникающая в ситуации, когда директива
#using
использовалась на первой строке условия. - В конструкторе бизнес-процессов в скриптах условий кнопок исправлена работоспособность свойства
Container
. - Актуализированы примеры web-расширений, а также обновлена соответствующая документация.
- В web-клиенте исправлена ошибка, приводившая к некорректному расчету размера диалога предпросмотра.
- В web-клиенте в контроле “Дата и время” исправлено отображение кнопки очистки значения, если в настройках не указан флаг “Разрешить пустое значение”.
- Исправлен метод
FileHelper.AddHtmlIEBrowserCompatibilityMeta
, который не выполнял действий по добавлению тега совместимости для браузера, используемого при предпросмотре файлов, когда включён санитайзинг в свойствеICardModel.IsHtmlSanitizingEnabled = true
. По умолчанию санитайзинг отключён. - В desktop-клиенте исправлены ошибки “The calling thread must be STA” при клике по ячейкам второго представления в master-detail отчёте “Текущие задания”. Ошибка также могла воспроизводится в других связанных представлениях. Ошибка появилась в патче 3.6.0.12.
- В web-клиенте исправлена ошибка с переименованием файла и последующим сохранением карточки, ему присваивалось старое имя.
- В TessaAdmin в редакторе представлений исправлена ошибка, которая возникала при попытке перегрузки для представления параметров
SelectionMode
иPaging
. - В desktop-клиенте исправлена ошибка при использовании контрола “Текст с форматированием” в строках таблиц.
- В desktop-клиенте исправлена прокрутка вкладок карточек и рабочих мест с использованием колеса мыши и кнопок со стрелками по краям. Ранее прокрутка могла выполняться слишком резко в начало или в конец, минуя вкладки, которые в середине.
- Исправлено поведение валидатора “Уникальное поле” при использовании функций “Исправить” и “Исправить всё”. Теперь такой валидатор корректно удаляется из типа, при наличии ошибок в нём.
- Исправлена ошибка вызова очистки валидаторов и расширений из неправильного потока при использовании функций “Исправить” и “Исправить всё” на типе, где уже был загружен интерфейс для редактирования/добавления валидаторов.
- Исправлена обработка ошибок на сервере при логине.
- В маршрутах исправлена ошибка, из-за которой этапам из вложенных процессов устанавливалось неверное состояние. Ошибка воспроизводилась при переходе с текущего этапа назад по маршруту на этап, расположенный перед этапами из вложенных процессов.
- В маршрутах исправлено поведение тайла “Вернуть документ на доработку”. Теперь он выполняет переход на начало текущей группы этапов, а не на группу этапов “Согласование”.
- В маршрутах исправлена ошибка, из-за которой состояние этапов не устанавливалось равным “Не запущен”, при возврате на доработку с помощью тайла “Вернуть документ на доработку”. Ошибка воспроизводилась для этапов, расположенных между началом текущей группы и этапом “Доработка”, на который был выполнен переход после согласования этапа “Согласование” с установленным флагом “Вернуть после согласования”.
- В маршрутах в этапе “Управление процессом” исправлена ошибка, из-за которой не начиналось повторное выполнение группы этапов, если при переходе в начало текущей группы этапов не изменялся текущий активный этап. Ошибка воспроизводилась, если этап располагался во вторичном процессе, управлял основным процессом и работал в режиме “Переход в начало текущей группы”.
- В маршрутах в этапе “Управление процессом” исправлена ошибка, из-за которой не выполнялся пересчёт группы этапов, на которую выполнялся переход. Ошибка воспроизводилась, если этап располагался во вторичном процессе, управлял основным процессом и работал в режиме “Переход на группу” текущего активного этапа.
- В маршрутах в этапе “Ветвление” исправлена ошибка при переходе в начало текущей группы этапов. Ошибка воспроизводилась при переходе в начало текущей группы этапов с помощью этапа “Управление процессом”, который был расположен во вторичном процессе и управлял основным процессом.
- В web-клиенте исправлена ошибка “Не удалось обратиться к Deski”, которая могла возникать при объединении и сравнении документов в Word.
- В маршрутах исправлена ошибка при сохранении карточек шаблона этапов и вторичного процесса, созданных в результате копирования или создания по шаблону.
- Исправлена отписка от событий в
RedisEventSubscriber
, которая могла не выполняться при вызове методаUnsubscribeAsync
, и выполняться для всех каналов, а не только для используемого, при вызове методаDisposeAsync
. - Исправлены возможные ошибки при получении карточек настроек из кэша
ICardCache
вне пользовательской сессии. - В web-клиенте исправлена ошибка, из-за которой не выполнялось автоматическое открытие диалога. Ошибка воспроизводилась, если в карточке было задание не содержащее параметров диалога.
- При сохранении диалога “Мои замещения” исправлено отображение имени объекта в истории действий.
- В web-клиенте исправлена ошибка в контролах “Ссылка” и “Список”, из-за которой нажатие Tab не переводило фокус на другой элемент.
- В настройках узлов рабочих мест в представлениях исправлена работоспособность маппинга параметров на родительское представление в ситуации, когда в родительском представлении используется режим выделения “Ячейка”, а в настройках маппинга дочернего представления используются только параметры, ссылающиеся на значения родительского представления.
- В desktop-клиенте исправлено отображение списка параметров дочернего представления в ситуации, когда в родительском представлении используется режим выделения “Ячейка”, а в настройках маппинга дочернего представления есть параметры, ссылающиеся на значения родительского представления.
- В web-клиенте исправлена работа
TableRowViewModel
, не позволяющая управлять выводимыми данными. - В web-клиенте исправлена ошибка, связанная с отсутствием визуализации при удалении этапов из маршрута.
- В web-клиенте добавлено отображение вертикальных и горизонтальных разделений рабочих мест в соответствии с настройками TessaAdmin.
- В web-клиенте исправлена ошибка в представлениях и таблицах, из-за которой событие выделения работало неправильно.
- Исправлено дерезервирование номера при закрытии вкладки карточки в случае, если после резервирования номера следовало неуспешное сохранение карточки.
Обновление на новую сборку¶
- В файлах проектов с тестами
.csproj
обновите версию библиотеки NUnit3TestAdapter до 4.4.2. - Приложение-помощник web-клиента Deski обновлено до версии 2.1.1. Опубликуйте новые версии приложения при обновлении. При использовании функций, связанных с Deski, пользователю будет предложено обновить его версию на опубликованную. Также обновление может выполнить администратор системы, установив msi-пакет для Windows через доменные политики, а для Linux воспользовавшись инструкцией Установка ассистента web-клиента Deski.
Изменения API при обновлении¶
- Методы:
AddActiveTaskAsync
,TryRemoveActiveTaskAsync
,GetActiveTasksAsync
иAddToHistoryAsync
перемещены в классTessa.Extensions.Default.Server.Workflow.WorkflowEngine.WorkflowEngineContextExtension
. - Параметр
listenerActionAsync
теперь возвращаетValueTask
вместоTask
в методеISharedEventSubscriber<TEventArgs>.SubscribeAsync
и его реализациях, таких какRedisEventSubscriber
.
Изменения конфигурации при обновлении¶
-
Рабочие места:
Administrator
(для узла “Тестирование”-“Автомобили” изменено имя типа у расширения)
-
Представления:
Cars
-
Типы:
CarViewParameters
(добавлен)
-
Карточки:
RebuildButton
-
Изменены библиотеки локализации.