Патч 3.6.0.15 (12.07.2023)¶
Добавление и изменение функциональности¶
- Для приложения-помощника web-клиента Deski добавлена поддержка работы на терминальных серверах Windows.
- Для приложения-помощника web-клиента Deski добавлены два параметра командной строки:
dbg-docx-merge
иdbg-docx-compare
, которые позволяют автономно проверить сравнение и слияние файлов вWord
. - В настройки действия “Управление таймером” в Workflow Engine добавлен параметр “Дата”. Подробнее в руководстве разработчика в разделе Описание действий.
- В действие “Таймер” в Workflow Engine добавлен новый флаг “Блокировать процесс при асинхронном вызове”, позволяющий блокировать выполнение действия по таймеру.
- В web-клиенте текст в заголовке вкладки вынесен в локализацию: в окне после логина это строка
TitleAndUser
в файлеlocalization.json
веб-сервиса, которую можно задать как локализацией, так и строкой для форматированного вывода, тогда элемент{0}
будет заменен на логин пользователя, а{1}
- на его имя. - В web-клиенте для кнопок тулбара карточек добавлена возможность делать их неактивными, а также передавать в них списки CSS-классов.
- В web-клиенте было изменено поведение пункта меню
Подписать
, при первом вызове будет предложено выбрать сертификат, при последующих вызовах будет использован последний выбранный сертификат. - В web-клиенте добавлен пункт меню
Подписать (выбрать сертификат)
, который отображается после выбора первого сертификата и позволяет использовать другой сертификат из списка. - В web-клиенте в форумах (обсуждениях) в режиме редактирования отправленного сообщения добавлена возможность сохранить на диск прикрепленный файл, если он был сохранен на сервере.
- В desktop-клиенте для элемента управления “Текст с форматированием” в режиме редактирования реализована возможность просматривать и сохранять прикрепленные файлы, которые были сохранены на сервере.
- В desktop-клиенте видимость вкладок карточки исключена из сохраняемого пользователем состояния, которое восстанавливается при обновлении карточки в той же вкладке.
- Значение по умолчанию для флага “Блокировать процесс при асинхронном вызове” для элемента “Переход” в бизнес-процессах изменено на
true
. - В представлениях при фильтрации по параметру строкового типа и при связывании родительского и дочернего представлений по параметру строкового типа пустая строка и
null
теперь обрабатываются системой как одно значение, если в настройках параметра не установлен флагEmptyStringIsNotNull
. См. руководство разработчика.
Консольная утилита tadmin¶
- Чтение аргументов команды выполняется независимо от языка и региональных параметров. Актуально, например, когда в качестве аргументов команды используются числа с плавающей точкой. Используйте единый разделитель
.
для таких значений.
Новые версии библиотек¶
HtmlAgilityPack 1.11.49
Kerberos.NET 4.6.20
NUnit3TestAdapter 4.5.0
Quartz 3.6.3
StackExchange.Redis 2.6.122
Изменения API¶
- В класс
TestHelper
добавлено статическое свойствоTestExecutionContext
, которое можно использовать в тестах вместоTestExecutionContext.CurrentContext
, чтобы избежать получение фейкового контекста. - Добавлен интерфейс
IForumUserNamingStrategy
, переопределение регистрации которого позволяет заменить отображаемые имена пользователей, например, для их маскировки по определённым бизнес-правилам (см. пример в руководстве разработчика). - В desktop-клиенте в класс
RowEventArgs
добавлен методSetWindowTitle
для установки заголовка соответствующего окна и его имени для Microsoft UI Automation. - В desktop-клиенте в интерфейсе формы карточки
ICardModel
добавлено событиеStateInitialized
, происходящее при инициализации состояния модели карточки. - В desktop-клиенте добавлен новый метод-расширение
CardUIExtensions.ModifyOnStateInitializedAsync
, с помощью которого можно задать действие, которое будет выполнено при инициализации состояния модели карточки. - В web-клиенте в интерфейсе модели карточки
ICardModel
добавлено событиеstateInitialized
, происходящее при инициализации состояния модели карточки. - В web-клиенте добавлена функция
modifyOnStateInitializedAsync
, с помощью которой можно задать действие, которое будет выполнено при инициализации состояния модели карточки.
Исправления и оптимизации¶
- При использовании Redis в файлах лога (Chronos, web-сервис, тесты) исправлено предупреждение о невозможности загрузить сборку
Microsoft.WindowsAzure.ServiceRuntime
. При возникновении его в предыдущих версиях системы, предупреждение можно безопасно игнорировать. - В API тестов исправлена генерация имён
ITestNameResolver.GetFixtureNameAsync
, которая редко могла приводить к ошибкеDecoderFallbackException
. - Исправлена работа расширения
AutomaticNodeRefreshExtension
по автоматическому обновлению узла рабочего места. Ранее расширение работало с интервалом времени вдвое больше заданного. - В
TessaAppManager
исправлена ошибка, когда после взаимодействия с сервером приложений могла оставаться незакрытая сессия. - В web-клиенте исправлена ошибка, приводящая к некорректному отображению имени текстового файла структуры вновь созданной несохраненной карточки.
- В web-клиенте исправлена ошибка копирования файлов из карточек задач в основную карточку: при сохранении карточки скопированный файл исчезал из категории “Файлы карточки” и возвращался в свою предыдущую категорию без последующего добавления в основную карточку.
- При возникновении ошибок в процессе сохранения карточки из-за некорректного типа объекта в методе
CardMetadataHelper.CoerceBeforeSaving
теперь выводится подробная информация о секции, поле, и значении, которое не удалось преобразовать. - В моих настройках больше не отображается вкладка “История заданий” в случае, если для карточки сотрудника была разрешена отправка заданий.
- Отмена клиентского запроса на экспорт данных из представления теперь корректно отменяет генерацию файла с данными на сервере приложений.
- В TessaClient исправлена возможная ошибка NRE при попытке изменения свойства
IsReadOnly
у контрола представления с расширением “Таблица в представлении” (CardViewControlViewModel
) из расширенияCardUIExtension
. - Исправлено отображение параметров при экспорте данных из представления в HTML.
- В web-клиенте исправлена ошибка, приводящая к отсутствию диалогового окна выбора категорий при создании файлов в файловых контролах и контролах представлений, использующих категории.
- В desktop-клиенте исправлено возможное зависание автообновления представления при использовании расширения
AutomaticNodeRefreshExtension
. - В TessaAdmin и SchemeEditor исправлена ошибка при удалении физической колонки из комплексной.
- В web-клиенте обновлены некорректно работающие хоткеи для следующих операций: создание шаблонов в карточках - Ctrl+Alt+T, поставить задачу - Ctrl+Alt+R, восстановление карточки из удаленных - Ctrl+Alt+Z.
- Для desktop-клиента исправлена установка имени
AutomationName
, используемого в Microsoft UI Automation, для дочернего диалового окна, открываемого при создании или редактировании строкиCardRowFormViewModel
в контроле “Таблица” и “Представление” с расширением “Таблица в представлении”. - В web-клиенте для элемента управления “Ссылка с автодополнением” была исправлена ошибка, приводившая к неккоректному вводу при включенном ручном вводе.
- В web-клиенте исправлена ошибка, приводящая к невозможности запустить глобальный синхронный вторичный процесс.
- Исправлена ошибка, когда при замене плейсхолдеров для текстовых документов (
.txt
,.xml
,.html
) при замене строковых плейсхолдеров не выполнялись скрипты “Перед заменой плейсхолдера” и “После замены плейсхолдера”, а также не выполнялись методыBeforePlaceholderReplace
иAfterPlaceholderReplace
расширенийIPlaceholderReplaceExtension
. - Исправлена ошибка, из-за которой для зарегистрированной карточки выделение нового номера пунктом меню в контроле “Нумератор” происходило из проектной последовательности.
- В web-клиенте для кнопок тулбара карточек исправлена ошибка применения свойств
foregroundColor
иbackgroundHoverColor
. - Исправлена обработка
context.Info
в уведомлениях. Теперь данные, записанные вcontext.Info
из тела уведомления, не исчезают к моменту выполнения кода шаблона уведомления. - В web-клиенте исправлена ошибка, из-за которой скрытые вкладки карточки могли оставаться видимыми даже после обновления карточки.
- В диалоге “Мои настройки” исправлено скрытие вкладки “Мои настройки” в случае, если в типе карточки сотрудника скрыта основная вкладка.
- В web-клиенте в обсуждениях (форумах) исправлена ошибка некорректной прокрутки к последнему сообщению при обратном порядке сообщений.
- В web-клиенте в области предпросмотра карточек удалено контекстное меню “Cвернуть/Развернуть все блоки”: теперь при нажатии на правую кнопку мыши появляется дефолтное контекстное меню браузера.
- В web-клиенте исправлено поведение расширения
AutomaticNodeRefreshExtension
при использовании в нескольких узлах одновременно. - В desktop-клиенте в контроле “Текст с форматированием” исправлена ошибка, возникающая при включении нумерованного и ненумерованного списка в ситуации, когда список создаётся в блоке.
- Исправлена ошибка, из-за которой в представлениях при выводе суммы обрезалась десятичная часть. Ошибка возникала при использовании СУБД MS SQL Server и SQL-функции платформы
FormatAmount
для форматирования выводимого значения. - В выгруженной карточке
Server settings (settings).jcard
исправлена лишняя запятая в секцииForegroundColors
. Она могла не игнорироваться в некоторых парсерах JSON. - Исправлена проблема, из-за которой заместитель, настроенный на конкретное подразделение, статическую или динамическую роль, оставался в составе этой роли после удаления из неё сотрудника, которого он замещал.
- В web-клиенте исправлена ошибка валидации при заполнении параметров представлений с типами
UInt...
для СУБД PostgreSQL. - Исправлена ошибка при обращении к строкам табличной секции карточки из серверного расширения
CardGetExtension
методаAfterRequestFinally
в случае, если для запроса указано сжатиеCardGetRequest.CompressionMode
. - В модуле синхронизации с AD/LDAP исправлена ошибка синхронизации со службой каталогов
NetIQ eDirectory
. - В web-клиенте исправлено отображение измененного имени файла при его открытии на редактирование и при открытии в диалоговом окне предпросмотра.
- В web-клиенте исправлена работа пунктов “Обьединить с текущим в Word” и “Сравнить в Word” контекстного меню файла при использовании отредактированных файлов.
- В desktop-клиенте для элемента управления “Текст с форматированием” в диалоге сохранения прикрепленного файла исправлен фильтр.
- Исправлена ошибка при работе с универсальными сателлитами, когда тип сателлита не имел обработчика и не использовал флаг
IgnoreStoreExtensions
. - Оптимизирован импорт библиотек локализации.
- Исправлена ошибка при конвертации файлов с использованием API
IFileConverter
, из-за которой некорректно определялась возможность конвертации файла, если не было задано ограничений в поддерживаемых типах конвертируемых файлов. - Исправлена ошибка создания нового сотрудника, возникающая, если в настройках нового сотрудника заданы настройки уведомлений.
- В desktop-клиенте исправлено вычисление видимости вложенных тайлов в тайле правого меню “Создать карточку”.
- Исправлено отображение ошибок в логах на Linux при конвертации файлов в PDF через
unoconv
(например, для предпросмотра в web-клиенте). - Оптимизирована конвертация файлов в PDF через
unoconv
(например, для предпросмотра в web-клиенте). - Для Tessa Applications исправлено редактирование основного сервера, при котором логин/пароль одного пользователя заменяется на другого, в настройках которого задан иной язык интерфейса. Например, у исходного пользователя - русский язык, а у заменяемого - английский язык.
- Исправлена десериализация типизированных json, содержащих массивы с пустыми элементами.
- В отладке представлений TessaAdmin исправлена сортировка в таблице с результатами, которая не изменялась после выполнения представления с другими настройками сортировки.
- В отладке представлений TessaAdmin размер страницы по умолчанию теперь определяется из свойства метаинформации
PageLimit
. Ранее он всегда задавался как 20. - Исправлена ситуация, когда при завершении задания с диалогом возникала ошибка, например, серверная валидация завершения задания, то после закрытия диалога задания следующее сохранение карточки приводило к открытию этого диалога.
- В web-клиенте исправлена ошибка, из-за которой в контроле “Список” не учитывался порядок popup-элементов.
- Исправлено название метода
businessCalendarService.calendarAddWorkingDaysToDateExact
в API web-клиента. - Исправлена загрузка синглтон-карточек в кэше в ситуации, когда загрузка выполнялась внутри открытого подключения к другой базе данных. Ошибка могла возникнуть, например, при получении данных из представления с переопределённой строкой подключения, если обращение к представлению выполнялось до первой загрузки синглтон-карточек в кэш.
- Исправлена ошибка, из-за которой при завершении обработки мобильного согласования путём остановки сервиса Chronos обработка письма прерывалась, но обрабатываемое письмо всё равно могло быть удалено.
- В desktop-клиенте в контроле “Представление” исправлена ошибка, из-за которой при наличии включённой группировки по одной из колонок, если какая-либо свёрнутая группа уходила из области видимости контрола, а потом возвращалась в неё, эта группа разворачивалась.
- В web-клиенте исправлена ошибка, приводящая к некорректной работе расширения
AutomaticNodeRefreshExtension
при использовании на верхнем уровне - применительно к рабочему месту, содержащему все узлы во вкладке. - В web-клиенте исправлено положение диалоговых окон с ошибками. Теперь они всегда располагаются поверх других диалогов.
- Рабочая директория приложения-помощника web-клиента Deski на устройствах с Windows теперь располагается по пути
%LocalAppData%\tessa\deski\.deski_data
независимо от папки, в которую выполняется установка, если директория не была указана при запускеdeski.exe
с помощью параметра командной строки-dir
. - В desktop-клиенте исправлено поведение при сортировке имен файлов в файловых контролах и представлениях. Теперь в обоих случаях сортировка имен файлов зависит от текущего выбранного языка пользователя.
- При установке Deski через msi-инсталлятор теперь очищается папка
.deski_data
от предыдущей инсталляции, что предотвращает потенциальные проблемы при обновлении. - В desktop-клиенте в контроле “Текст с форматированием” исправлена ошибка вставки текста, содержащего несколько вложенных блоков.
- В desktop-клиенте в контроле “Текст с форматированием” исправлена ошибка, из-за которой при вставке блоков, скопированных через кнопку “Копировать сообщение”, у них появлялся лишний отступ.
- Исправлена ошибка, из-за которой проверка блокировки экземпляра процесса при его асинхронном выполнении без взятия блокировки не выполнялась, из-за чего такой процесс мог продолжить выполнение, даже если экземпляр процесса был заблокирован. Ошибка возникала только при использовании СУБД MS SQL Server.
- Исправлена проверка наличия взятой блокировки на экземпляр процесса в ситуации, когда выполнение одного и того же экземпляра процесса запускается дважды в рамках одной транзакции.
- В desktop-клиенте в контроле “Текст с форматированием” исправлена ошибка, возникающая при попытке добавления блоков в текст, если к отдельным частям выделенного текста применены разные настройки форматирования.
- Вызов обработчиков
TransactionScopeContext
выполняется в порядке, обратном добавлению.
Обновление на новую сборку¶
- Обновите файл
localization.json
в папке веб-сервиса: в группу настроекWebLoginStrings
добавлен параметрTitleAndUser
. - Приложение-помощник web-клиента Deski обновлено до версии 2.1.2. Опубликуйте новые версии приложения при обновлении. При использовании функций, связанных с Deski, пользователю будет предложено обновить его версию на опубликованную. Также обновление может выполнить администратор системы, установив msi-пакет для Windows через доменные политики, а для Linux воспользовавшись инструкцией Установка ассистента web-клиента Deski.
- В файлах проектов с тестами
.csproj
обновите версию библиотеки NUnit3TestAdapter до 4.5.0.
Изменения API при обновлении¶
- В API тестов удалён метод
TestHelper.InitializeDefaultLocalizationAsync
. Для выполнения инициализации локализации по умолчанию унаследуйте свой класс с тестами от классаTestBase
. - В web-клиенте исправлена опечатка в имени метода
FileContainer.addVirtualFile
.
Изменения конфигурации при обновлении¶
-
Представления:
-
AcquaintanceHistory
-
MyAcquaintanceHistory
-
-
Таблицы:
-
WeTimerAction
-
WeTimerControlAction
-
WorkflowEngineTimerSubscriptions
-
WorkflowLinks
-
-
Процедуры:
CheckProcessLock
-
Функции:
FormatAmount
-
Типы:
-
MetadataEditor
-
WorkflowTimerControlAction
-
-
Карточки:
Server settings (settings)
(необязательные изменения)
-
Изменены библиотеки локализации.