Патч 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.4Kerberos.NET 4.6.4MailKit 3.5.0NetOfficeFw.Word 1.9.2Npgsql 5.0.16NUnit3TestAdapter 4.4.2Quartz 3.6.2StackExchange.Redis 2.6.96Swashbuckle.AspNetCore 6.5.0ZXing.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
-
Изменены библиотеки локализации.