Патч 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.49Kerberos.NET 4.6.20NUnit3TestAdapter 4.5.0Quartz 3.6.3StackExchange.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)(необязательные изменения)
-
Изменены библиотеки локализации.