Перейти к содержанию

Патч 4.0.5 (20.01.2025)

Новые возможности

  1. Добавлена возможность просмотра и управления данными системы в Redis посредством сервиса webbi - Redis Explorer.

Добавление и изменение функциональности

  1. В скрипты Export.bat и export.sh добавлен экспорт карточек календарей, настроек форматирования и групп ссылок.
  2. В web-клиенте изменен дизайн кнопки выбора цвета блока в панели инструментов у текстового поля с форматированием.
  3. Добавлена документация по API web-клиента с описанием модулей (пространств имён), типов, свойств, функций, и с примерами использования. В документации по системе ссылка доступна из раздела “Документация по Web API” на вкладке “Разработчику”. В архиве со сборкой актуальная документация расположена в папке WebApiDocs, из неё откройте файл index.html в браузере (утилита DocServe для этого не требуется, в отличие от папки Docs).
  4. Сотрудник, берущий задание в работу, теперь записывается в список связанных с заданием ролей как дочерний к первой записи из тех, к которым оно относится по каждой из имеющихся у него функциональных ролей, если в списке связанных с заданием ролей он не представлен своей персональной ролью.
  5. На странице /check для сервиса web добавлен вывод кода сервера Server code, указанного в конфигурационных файлах app*.json по ключу "ServerCode".
  6. В web-клиенте для аннотаций pdf добавлен тип аннотации “Окружность”.
  7. В web-клиенте для аннотаций pdf добавлена возможность группового выделения.
  8. В web-клиенте для аннотаций pdf добавлена возможность изменения размера превью страниц.
  9. Для трассировки серверов приложений добавлены специальные группы * и ALL, включающие в себя все доступные источники трассировки.
  10. Для трассировки серверов приложений добавлены фильтрации по названию типа карточки и по идентификатору универсального запроса.
  11. Для серверов приложений добавлена возможность трассировать операции с файлами в карточках с фильтрацией по идентификатору файла FileID и по типу файла FileTypeID, FileTypeName.
  12. В web-клиенте обновлён дизайн диалогов.
  13. В webbi добавлена возможность считывать содержимое конфигурационного файла из стандартного потока ввода (stdin) при помощи задания ключа -cstdin. Пример использования tadmin PrintJson ../webbi/app.json -q|./webbi -cstdin.
  14. В web-клиенте общие теги больше не обозначаются иконкой. Теперь используется цветовая индикация в виде боковой полосы, которая в два раза шире обычной.
  15. В сообщение об ошибке “Невозможно изменить карточку. Требуется версия N, но в действительности версия M.” добавлен идентификатор карточки, к которому оно относится.
  16. Для конфигурационных файлов app.json в директиве .include добавлена возможность указать файлы по некоторому пути "app-*.json" в формате json-объекта {".files": "app-*.json"}. Ключи помимо ".files" в таком json-объекте игнорируются, и такой способ функционально не отличается от указания файлов в виде строки. Изменение добавлено для лучшей совместимости с конфигурационными файлами из версии платформы 4.1.0 и старше, что актуально при разработке на проектах под несколько версий платформы.
  17. В представлении с удалёнными файлами добавлена красная подсветка для записей, относящихся к файлам, по которым произошла ошибка в ходе загрузки контента.
  18. В web-клиенте доработана логика платформенных генераторов действий (определяющих доступные пункты меню) для контекстных меню представлений и контролов “Представление”. Теперь в таблицах, если контекстное меню вызывается от невыделенной строки, то действия будут генерироваться в контексте этой строки, причём сама строка выбрана не будет. Если контекстное меню вызывается от выделенной строки, то действия будут генерироваться в контексте всех выделенных на момент генерации строк.
  19. Добавлены настройки “Системный” и “Порядок” для категорий файлов. Системные категории файлов нельзя выбрать в представлении FileCategoriesFiltered, а также такие категории нельзя назначить файлам с клиента. Настройка “Порядок” отвечает за порядковый номер категории при отображении их на клиенте. Теперь категории сортируются по полю “Порядок”, а для категорий с одинаковым порядком - по алфавиту.
  20. В web-клиенте для аннотаций pdf добавлена поддержка работы со страницами, перевернутыми на углы 90, 180, 270.
  21. При ошибке во время получения содержимого файла карточки теперь создаётся карточка “Ошибка” с исходным исключением, которое не передаётся пользователю, когда включена настройка "SecureServerStackTrace": true в конфигурационных файлах app.json.
  22. В задание “Доработка” KrEditInterject добавлено поле “Комментарий”, а в одноимённом задании KrEdit поле “Комментарий” переименовано в “Комментарий к циклу маршрута”.
  23. При выполнении компиляции скриптов конструктора бизнес-процессов и кнопок бизнес-процессов через команду tadmin Compile в сообщения компилятора добавлен вывод имени шаблона бизнес-процесса.
  24. В карточках типа “Правило доступа” для расширенных настроек прав доступа к файлам добавлены параметры “Допустимое количество файлов” и “Обязательный файл”. Подробнее см. в руководстве администратора.
  25. В маршрутах для вторичных процессов, работающих в режиме “Кнопка” или “Действие”, добавлена возможность указания названия и идентификатора вторичного процесса в сообщении о недоступности для выполнения.
  26. При обработке директивы .include в конфигурационных файлах app.json включение файлов в очередь обработки теперь осуществляется вглубь. Например, пусть файл app.json включает файлы app1.json и app2.json, а файл app1.json включает other1.json и other2.json. Тогда обработка включаемых файлов будет выполнена в порядке app.json, app1.json, other1.json, other2.json, app2.json. Подробнее см. в разделе Директива .include.
  27. В сообщение об ошибке “Тип карточки использует типы документов, но в карточке не указан тип документа.” добавлена информация о типе карточки и её идентификаторе.

Консольная утилита tadmin

  1. Для команд SendCommand и SendCommandClient с параметром EnableTracing добавлены аргументы -pp:tn=cardTypeName и -pp:r=requestType, позволяющие фильтровать трассировку по названию типа карточки и по идентификатору универсального запроса.
  2. В команды tadmin DeleteLocksClient и PrintLocksClient добавлен параметр -sc, позволяющий задавать код сервера. Если параметр не задан, то будет использовано значение ServerCode из конфигурационного файла утилиты tadmin.

Новые версии библиотек

  1. .NET 6.0.36
  2. BitMiracle.LibTiff.NET 2.4.660
  3. DocumentFormat.OpenXml 3.2.0
  4. Hardcodet.NotifyIcon.Wpf 2.0.1
  5. HtmlAgilityPack 1.11.72
  6. iTextSharp.LGPLv2.Core 3.6.0
  7. ITfoxtec.Identity.Saml2.MvcCore 4.15.3
  8. Kerberos.NET 4.6.70
  9. MailKit 4.8.0
  10. Microsoft.CodeAnalysis.CSharp.Workspaces 4.12.0
  11. Microsoft.IdentityModel.Protocols.OpenIdConnect 8.3.0
  12. Microsoft.NET.Test.Sdk 17.12.0
  13. NLog.Web.AspNetCore 5.3.15
  14. Npgsql 7.0.9
  15. NUnit 4.3.2
  16. OpenCvSharp4 4.10.0.20241108
  17. Quartz 3.13.1
  18. SixLabors.ImageSharp.Drawing 2.1.5
  19. SkiaSharp 3.116.1
  20. StackExchange.Redis 2.8.24
  21. Swashbuckle.AspNetCore 7.2.0
  22. Swashbuckle.AspNetCore.Newtonsoft 7.2.0
  23. TesseractOCR 5.4.2

Изменения API

  1. Изменён интерфейс INumberLocationManager. Добавлен метод TrySelectFullNumberAsync, который может получать строку с данными номера из базы данных.
  2. Добавлена возможность прикладывать к почтовому уведомлению файлы из разных карточек. Для этого необходимо задать свойства MailFile.CardID, MailFile.CardTypeID и MailFile.CardTypeName в соответствии со свойствами карточки, содержащей файл.
  3. В web-клиенте добавлена возможность управлять отображением горизонтальной прокрутки форм в случаях, когда содержимое обрезается. Для этого в FormViewModel добавлены свойства desktopScrollOverflow и mobileScrollOverflow.
  4. Добавлено отображение в отладке основных свойств классов, реализующий интерфейс IValidationResultBuilder.
  5. В web-клиенте для расширений типа ApplicationExtension был добавлен метод unknownRouteResolve, который вызывается, если не удалось определить обработчик маршрута приложения, и позволяет установить обработчик по умолчанию.
  6. В маршрутах добавлена возможность задания идентификатора запускаемого процесса при отправке сигналов типов KrConstants.KrStartProcessSignal и KrConstants.KrStartProcessUnlessStartedGlobalSignal. Идентификатор процесса можно задать путём его указания по ключу KrConstants.KrProcessID в параметрах сигнала.
  7. В маршрутах этап “Управление процессом” теперь сохраняет идентификатор запускаемого по сигналам KrConstants.KrStartProcessSignal и KrConstants.KrStartProcessUnlessStartedGlobalSignal процесса в info текущего процесса по ключу KrConstants.KrProcessID.
  8. В класс FileHelper добавлены поля с невалидными символами в именах файлов (InvalidFileNameChars, InvalidFileNameCharsSet) и путей (InvalidPathChars, InvalidPathCharsSet), которые актуальны для любой поддерживаемой ОС (Windows, Linux). Используйте их вместо методов Path.GetInvalidFileNameChars() и Path.GetInvalidPathChars().

Исправления и оптимизации

  1. В web-клиенте исправлена ошибка в контролах “Ссылка” и “Список”, из-за которой контролы не отображали результаты валидации.
  2. В web-клиенте исправлено множественное обновление представления после редактирования карточки, открытой из него.
  3. В web-клиенте исправлена ошибка некорректного отображения картинок формата webp в предварительном просмотре.
  4. Исправлена ошибка, возникавшая при экспорте карточек “Разделы справки”, если у экспортируемой карточки не было прикреплённых изображений или файлов.
  5. Исправлена ошибка, из-за которой при сохранении карточек “Правило доступа” в историю действий не записывался дайджест карточки.
  6. В desktop-клиенте исправлена ошибка, из-за которой в представлениях в списке примененных параметров фильтрации неверно отображались значения параметров, у которых тип связан с датой и/или временем и допускает null-значения.
  7. В web-клиенте исправлена ошибка, при которой текстовый редактор в обсуждениях уходил за границу контрола.
  8. В web-клиенте исправлено отображение кнопки разворачивания у текстового поля в режиме чтения.
  9. В web-клиенте исправлена ошибка, при которой кнопка разворачивания перекрывала остальные кнопки в правой части контрола.
  10. В web-клиенте для контрола “Выбор цвета” добавлена возможность указания прозрачности цвета вне зависимости от использования палитры.
  11. В web-клиенте исправлено применение цвета заданий по умолчанию.
  12. В web-клиенте в контроле “Выбор цвета” исправлен цвет, заданный в палитре по умолчанию.
  13. Исправлена ошибка механизма исключения секций из проверки валидаторами типов карточек в реализации ICardValidationLimitationManager. Из-за ошибки при маскировке всей секции целиком через расширенные настройки правила доступа валидация замаскированных полей всё равно выполнялась.
  14. В web-клиенте исправлено некорректное отображение вертикальной полосы прокрутки для таблиц при заданном расположении блоков в карточке.
  15. В конфигурационном файле app-db.json для консольной утилиты tadmin в строке подключения migration теперь указаны настройки MaxAutoPrepare=50; AutoPrepareMinUsages=20.
  16. В TessaAdmin исправлено сообщение об ошибке при попытке выполнить в отладке пустой SQL-запрос.
  17. В web-клиенте в представлениях для параметров с типом “Дата” теперь не показывается время в случае, если режим работы не указан.
  18. В web-клиенте исправлено автоматическое заполнение даты окончания действия исключения датой начала действия исключения, если дата окончания действия исключения не заполнена. Теперь дата окончания действия исключения указывается датой начала действия исключений, но со временем, установленным на конец дня. Также при выборе даты окончания исключения мышкой теперь заполняется конец дня, если дата окончания исключения до этого была не заполнена.
  19. Исправлено неверное отображение ошибки, когда даты начала и окончания действия исключений в календаре или типе календаря были указаны неверно.
  20. Исправлена возможная ошибка NullReferenceException в случае, если проверка прав доступа происходит для несуществующей карточки.
  21. Исправлена ошибка, из-за которой не выполнялось освобождение блокировки на запись. Ошибка возникала, в случае, когда существующая блокировка на чтение была эскалирована до блокировки на запись.
  22. В web-клиенте исправлена ошибка отображения активных узлов дерева представлений на устройствах с сенсорным экраном: ранее активный узел был стилизован как узел, над которым наведен курсор.
  23. Добавлена валидация возвращаемого значения методов GetCardXXX в скриптах карточек маршрутов и типов условий.
  24. Оптимизировано получение карточек контекстных ролей из кэша ICardContextRoleCache.
  25. В web-клиенте у контролов с возможностью указать количество строк исправлена вёрстка сообщения об ошибке.
  26. Исправлена возможность передать null для TabSelectedEventArgs.SelectedTab. Ранее невозможность передать null приводила к ошибке, если в контроле с вкладками скрыть все вкладки. Например, посредством расширенных правил доступа.
  27. Исправлено автоматическое освобождение блокировки на чтение при выходе из скоупа транзакции ITransactionScopeContext, когда не был явно вызван метод для её освобождения (например, это вызов ICardLockingStrategy.ReleaseReaderLockAsync для освобождения блокировки на карточку).
  28. Исправлено отображение превью страниц в аннотациях pdf.
  29. Исправлена ошибка при входе в систему с использованием двухфакторной аутентификации (2FA).
  30. Исправлено отображение страниц и превью страниц в аннотациях pdf для файлов, содержащих разноформатные страницы.
  31. В web-клиенте исправлена ошибка, из-за которой в диалоге фильтрации представлений не всегда корректно работало автодополнение для параметров с настроенным маппингом.
  32. Исправлена ошибка импорта схемы, созданной через команду tadmin SchemeCompact.
  33. В web-клиенте в карточке “Сотрудник” исправлен цвет и размер текста метки для типа входа в систему “Пользователь Windows”.
  34. В web-клиенте исправлен цвет текста элемента управления “Метка” с типом “Гиперссылка”.
  35. В серверных расширениях NumberDigestRequestExtension и CardDigestRequestExtension исправлена ошибка, из-за которой не формировался дайджест для карточки, содержащей неполные данные.
  36. В web-клиенте исправлена ошибка, из-за которой в метке для отображения информации в представлении ViewInformationLabel не учитывались значения из свойства className.
  37. Оптимизировано кэширование объектов StringBuilder посредством их получения методом StringBuilderHelper.Acquire с последующим освобождением методами-расширениями builder.Release() и builder.ToStringAndRelease().
  38. В конструкторе бизнес-процессов в действиях “Доработка” и “Задание регистрации” исправлен текст ошибки, возникающей при выполнении действия без указания исполнителя задания.
  39. В маршрутах в этапе “Диалог” с временем жизни “Запрос” исправлена ошибка, из-за которой при завершении диалога сообщения валидации выводились два раза. Ошибка возникала, если диалог был запущен в синхронном локальном вторичном процессе.
  40. В web-клиенте для тем добавлена возможность создавать наборы иконок.
  41. В web-клиенте исправлена ошибка отображения кнопки календаря в параметрах фильтрации, которые содержат контрол времени: ранее эта кнопка была смещена к верхнему краю границы выбранного параметра фильтрации.
  42. В web-клиенте исправлена ошибка, приводящая к отображению групп в истории заданий, которые не содержат строк.
  43. В web-клиенте исправлен некорректный предпросмотр pdf документа, если документ имеет угол поворота.
  44. В web-клиенте исправлена ошибка параметра фильтрации, который содержит контрол даты: ранее кнопка выбора даты в контроле с активным критерием “между” была неактивна.
  45. В глобальных диалогах, выводимых этапом или действием “Диалог”, исправлено создание тайлов.
  46. В web-клиенте исправлена ошибка, из-за которой контролы с дефолтными настройками ширины в горизонтальном блоке не подстраивались под размер контента.
  47. В команде tadmin SchemeDiff исправлена ошибка, возникающая при сравнении схем, в которых есть различия в порядке ссылочных колонок комплексной колонки или в списке колонок индекса.
  48. В web-клиенте исправлена ошибка предпросмотра PDF при включённом флаге “Постраничный предпросмотр PDF”.
  49. Исправлено заполнение дайджеста карточки в истории действий при изменении ролей заданий из desktop-клиента.
  50. В web-клиенте в аннотациях pdf исправлена точность вставки и перемещения аннотаций в зависимости от масштаба.
  51. В конструкторе бизнес-процессов исправлены ошибки обработки привязок, возникающие при попытке получить по привязке списки любых типов, отличных от List<object>.
  52. В отчётах по текущим и завершённым заданиям исправлена ошибка расчёта средней просрочки задания, которая могла возникнуть при наличии нескольких календарей в системе.
  53. В web-клиенте исправлена ошибка, из-за которой кнопка “Добавить обсуждение” отображалась, даже когда контрол работал в режиме только одного обсуждения.
  54. В desktop-клиенте исправлена ошибка, из-за которой кнопка “Добавить обсуждение” была неактивна до перехода в режим повышенных привилегий, если карточка была в состоянии, отличном от “Проект”.
  55. В web-клиенте оптимизировано сохранение карточки. Теперь при вызове сохранения карточки клиент не будет отправлять запрос на получение дайджеста с сервера.
  56. В desktop-клиенте оптимизировано сохранение новой карточки. Теперь при вызове первого сохранения карточки система не будет отправлять запрос на получение дайджеста сразу же после выполнения сохранения.
  57. В конструкторе бизнес-процессов и маршрутах оптимизировано получение дайджеста основной карточки при её сохранении после окончания обработки процесса.
  58. В web-клиенте исправлена ошибка диалогового окна параметров фильтрации: ранее при изменении параметров фильтрации выбранного поискового запроса невозможно было сбросить изменения при повторном клике на выбранный поисковой запрос.
  59. В маршрутах исправлена ошибка, из-за которой нельзя было вручную добавить этап в карточке документа. Ошибка появилась в патче 4.0.4.
  60. Исправлена работа фильтров по идентификатору сотрудника, идентификатору карточки и идентификатору типа карточки при трассировке серверов приложений.
  61. В конструкторе бизнес-процессов в действии “Диалог” исправлена ошибка, из-за которой задание диалога было доступно автору.
  62. В web-клиенте исправлена работа кнопки “Запросить из 1С” в карточке автомобиля.
  63. Исправлена ошибка импорта карточек вторичных процессов, из-за которой при импорте карточки затиралось описание условий в таблице условий.
  64. В web-клиенте исправлено некорректное позиционирование заголовка относительно крайней границы контрола.
  65. В web-клиенте исправлено позиционирование диалога заданий в компактной версии. Теперь он корректно перекрывает рабочую область.
  66. Исправлено возможное зависание сервера приложений в случае, если используются расширенные права доступа, запрещающие редактировать табличные секции.
  67. В web-клиенте исправлен баг, из-за которого кнопки на панели инструментов области предварительного просмотра PDF были расположены на разных уровнях.
  68. Исправлен импорт карточек, содержащих сателлит, для которого указаны файлы, ссылающиеся на несуществующее хранилище файлов.
  69. В web-клиенте исправлена ошибка, приводящая к появлению ошибки при изменении порядка столбцов в таблицах на устройствах под управлением iOS.
  70. В web-клиенте исправлен баг, из-за которого с включенной опцией “Постраничный предпросмотр PDF” не работала прокрутка.
  71. В web-клиенте исправлена ошибка параметров фильтрации, которые содержат контрол “дата и время”: ранее изменения в данных параметрах не применялись к представлению при нажатии на кнопку Enter.
  72. Исправлены ошибки валидации заполнения обязательных полей при сохранении кнопок в карточках “Шаблон бизнес-процесса”.
  73. Исправлены ошибки валидации заполнения обязательных полей при сохранении карточек “Виртуальный файл”.
  74. В представлении ProtocolCompletedTasks исправлена логика получения данных для колонки “Роль”, сама же колонка переименована в “Назначено”.
  75. В webbi исправлена проблема разбора строк подключения к Redis в формате StackExchange.Redis.
  76. Исправлена ошибка, которая возникала при импорте карточек-синглтонов, если ID импортируемой карточки отличался от ID карточки, существующей в системе.
  77. В web-клиенте исправлена ошибка, возникавшая в элементе управления “Обсуждения”, из-за которой нельзя было начать обсуждение в режиме “Единственное обсуждение”.
  78. В web-клиенте исправлена ошибка, приводящая к некорректной работе анимации контекстного меню в диалоговых окнах в браузере Mozilla Firefox.
  79. В desktop-клиенте исправлена ошибка, из-за которой могли некорректно открываться версии файлов карточек.
  80. Исправлено возможное исключение TaskCancelledException при остановке веб-сервиса (в т.ч. для гибридных тестов), в котором есть фоновые сервисы, выполняемые посредством объекта WebPeriodicService.
  81. Улучшена генерация RowID для строк таблицы ActionHistory. Теперь создаваемые значения учитывают свойство Modified, что положительно сказывается на вставке в таблицу и индексах, использующих колонку RowID.
  82. Исправлена ошибка при исправлении условий “По типу заданий” для правил доступа при миграции с версий платформы 3.x, где колонка KrTaskTypeConditionSettings.IsAuthor из старой версии системы (флаг “Я автор”) была указана с опечаткой в расширении на исправление (и этот флаг не переносился при миграции).
  83. В web-клиенте исправлена ошибка, из-за которой недоступные пользователю кнопки тулбара карточки оставались доступны через выпадающий список.
  84. Исправлен импорт карточек, содержащих сателлиты. Теперь при импорте таких карточек всегда производится импорт вложенных сателлитов, даже если в результате smart merge в основной карточке нет изменений.
  85. Исправлены регистрации зависимостей для класса ApplicationPackageBuilder и для реализаций интерфейса IApplicationPackageBinder, чтобы их использование в пределах одного DI-контейнера не могли пересекаться (актуально в т.ч. для тестов).
  86. Исправлены возможные ошибки выполнения тестов в классе Tessa.Test.Default.Shared.GC.ExternalObjectManager из-за race conditions, возникающих в классе LiteDB.BsonMapper.
  87. В методе SqlHelper.FormatParameterType при использовании СУБД MS SQL Server и maxSize = true для параметров с типом Binary и VarBinary теперь корректно указывается тип varbinary(max).
  88. В web-клиенте исправлена некорректная высота представлений на небольшой ширине экрана при скрытии дерева представлений на рабочем месте.
  89. Исправлена ошибка, возникавшая при импорте библиотек локализации из файлов формата Excel, которая перезаписывала null-значения комментариев для строк локализации значениями пустой строки.
  90. В представлении “Мои документы” исправлена работа параметра “Тип” с условием “не равен”. Из доступных вариантов условий для параметра “Тип” исключены варианты условий “пусто” и “не пусто”.
  91. Исправлено отображение обязательных к заполнению полей в типах “Тип условия” и “Раздел справки”.
  92. Исправлено отображения всплывающей подсказки для поля “Условие” в типе “Тип условия”.
  93. Добавлен отсутствовавший валидатор для обязательного к заполнению поля “Текст раздела” в типе “Раздел справки”.
  94. Исправлено состояние файла, удаляемого из корзины: вместо состояния CardFileState.None используется CardFileState.Deleted.
  95. В приложении-помощнике web-клиента Deski исправлена работа с буфером обмена в ОС macOS и в некоторых дистрибутивах ОС Linux.
  96. В web-клиенте в обсуждениях (форумах) теперь корректно учитывается значение свойства “Полнотекстовый поиск по сообщениям в обсуждениях” из карточки “Настройки сервера”.
  97. В web-клиенте исправлено скрытие окна с доступными вариантами для выбранного эмодзи при прокрутке общего списка с эмодзи.
  98. В web-клиенте исправлен результат выполнения метода ValidationResultItem.toString, если для объекта задан ключ в поле ValidationResultItem.key, отличный от ValidationKey.unknown.
  99. В web-клиенте исправлено сворачивание/разворачивание горизонтального блока при клике по заголовку.
  100. В web-клиенте исправлена ошибка отображения кнопки задач в карточках в тёмной теме для мобильной версии приложения: ранее цвет кнопки сливался с ее фоном.
  101. По умолчанию имя файла на диске (без части с путём), создаваемого во временной папке при использовании API файлов и объектов IFileContainer/ICardFileContainer, установлена равной 100 символам, что исправило ошибки для файловых систем, имеющих ограничение на длину полного пути (например, некоторые конфигурации с ОС Linux и файловой системой Ext3). Ранее длина ограничивалась только при использовании в desktop-клиенте, теперь это также затрагивает серверные компоненты, тесты, консольные команды и др. Ограничения можно снять, указав значение свойства IFileContentOptions.MaxFileNameLength = 0.
  102. Исправлено именование файлов, предлагаемых по умолчанию в desktop-клиентах в их диалогах “Сохранить как”. Теперь имена не превышают 100 символов (в соответствии с настройкой MaxFileContentNameLength), что актуально для ОС Windows, в которых не включена поддержка длинных путей файлов.
  103. В web-клиенте исправлено отображение индикации фокуса в файловом контроле.
  104. В web-клиенте исправлено отображение заголовков для некоторых элементов тулбара представления.
  105. Исправлено усечение имени файла при сохранении в базу данных, если длина имени с расширением превышает длину строковой колонки в базе данных (256 символов). Теперь усекается часть имени файла перед расширением, а расширение остаётся неизменным.
  106. В desktop-клиенте при переименовании файла ограничена максимально вводимая длина имени в 250 символов.
  107. В ОС Linux исправлена обработка запроса на распознавание текста в файле с опцией “Выполнять предобработку страницы изображения перед распознаванием”, когда для изображения требовалось масштабирование для улучшения качества распознавания.
  108. В web-клиенте в контроле “Календарь” исправлено отображение окна с выбором даты, которое появляется при нажатии на кнопку, если у этой кнопки была изменена видимость.
  109. В web-клиенте заменена подложка с фоновым цветом на прозрачный в диалогах “Режим отображения” и “Создание временной ссылки на скачивание файла/версии”.
  110. В web-клиенте исправлено отображение кнопок для очистки значения параметра фильтрации при использовании критерия “Между”.
  111. В веб-сервисе исправлен сброс кэша типов документов при изменении карточки настроек типового решения в случае, если используются несколько рабочих процессов.
  112. Оптимизированы проверки на вхождение карточек в типовое решение.
  113. В web-клиенте исправлен баг, из-за которого при переходе в карточку задачи в компактном режиме не скрывалась кнопка переключения между областью заданий и областью карточки.
  114. Исправлена ошибка отключения заместителей при окончании срока замещения.
  115. Исправлена ошибка, из-за которой доступные тайлы шаблонов бизнес-процессов не исчезали с боковой панели карточки после её обновления в ситуации, когда в расширениях на загрузку карточки был удалён ключ со списком тайлов для отображения.
  116. В web-клиенте исправлена ошибка, приводившая к сбоям при расчете высоты текстовых контролов, если для них был задан пользовательский размер шрифта.
  117. В web-клиенте для аннотаций pdf исправлена работа с изменением размера добавленных картинок.
  118. В web-клиенте исправлена ошибка, приводившая к отображению некорректного фона для контрола “Текст с форматированием” в режиме “только для чтения”.
  119. Исправлена ошибка распределения файлов по циклам согласования, из-за которой файлы, добавленные при выполнении типовой задачи, не попадали в правильную группу.
  120. В web-клиенте исправлена ошибка отображения валидации контролов, содержащих текстовое поле ввода: теперь валидация осуществляется при каждой потере фокуса контрола.
  121. Исправлена ошибка работы с доверенными сертификатами при подписи для пользователей без прав администратора.
  122. В web-клиенте исправлена обработка кнопок в диалогах, созданных из действия “Диалог” конструктора бизнес-процессов, если была включена настройка “Без отправки задания”.
  123. Исправлено выравнивание контролов в типах карточек FileTemplate, KrStageTemplate, KrSecondaryProcess, KrStageGroup и KrTemplateCard.
  124. В web-клиенте исправлена ошибка отображения контейнера содержимого вкладки карточки: ранее, при определенных масштабах окна браузера, могла обрезаться часть содержимого контролов в нижней части контейнера.
  125. В web-клиенте исправлено отображение превью файла при нажатии на строку контрола представления в режиме списка файлов и при отмене выбора.
  126. В web-клиенте исправлен автоматический расчёт ширины диалога по добавлению этапа в маршрут.
  127. В маршрутах исправлена ошибка “Невозможно изменить карточку. Требуется версия N, но в действительности версия M.” при запуске вторичного процесса из обработчика этапа.
  128. В маршрутах исправлена ошибка при запуске процесса из обработчика этапа. Ошибка воспроизводилась, если текущий процесс был запущен по сигналу.
  129. В маршрутах исправлена ошибка InvalidCastException при получении значения свойства KrProcessInstance.ProcessInfo.
  130. В маршрутах исправлены ошибки при выполнении вторичного процесса в обработчике этапа. Подробнее см. в руководстве разработчика.
  131. В маршрутах исправлена ошибка, из-за которой сигналы KrConstants.KrCancelProcessGlobalSignal и KrConstants.KrSkipProcessGlobalSignal не обрабатывались текущим основным процессом, что приводило к выполнению этапов, следовавших за текущим. Ошибка воспроизводилась, если указанные сигналы были поставлены в очередь обработки сигналов для текущей основной карточки вторичным процессом, выполненным при обработке текущего этапа основного процесса.
  132. Исправлено создание глубокой копии объекта с помощью метода StorageExtensions.DeepClone.
  133. Исправлена ошибка проверки расширенных настроек доступа к файлу, которая возникала, если расширение файла содержало заглавные буквы.
  134. В конструкторе бизнес-процессов исправлена ошибка выгрузки скриптов в файловую систему.
  135. В web-клиенте в маршрутах исправлено форматирование параметров этапов: “Ветвление”, “Диалог”, “Ознакомление”, “Регистрация”, “Создание карточки”, “Типовая задача”, “Управление ветвлением”, “Управление историей”, “Управление процессом”.
  136. Для электронных подписей исправлен механизм получения цепочки сертификатов, который приводил к предупреждениям в серверном логе.
  137. Оптимизирована миграция базы данных при использовании команды tadmin MigrateDatabase.
  138. Исправлена ошибка неправильного вычисления группы истории заданий. Ошибка воспроизводилась, если история заданий содержала группу заданного типа, но её родительская группа отличалась от используемой для текущей группы.
  139. Исправлено определение невалидных символов в именах файлов и путей на ОС Linux, чтобы они соответствовали значениям на ОС Windows для их замены в формируемых платформой именах файлов и путей (в т.ч. для консистентности в ситуациях, когда сервер расположен на ОС Linux, а клиент - на ОС Windows). Это могло приводить к ошибкам при скачивании файлов вида: ArgumentException: The format of value 'File "name".txt' is invalid.
  140. В конструкторе бизнес-процессов исправлена ошибка, из-за которой процесс переходил в некорректное состояние, если в момент асинхронной обработки процесса останавливали плагин асинхронной обработки WorkflowEngineAsyncPlugin.
  141. В web-клиенте исправлена ошибка отображения изображения фона в диалоговом окне “Фон и тема”: ранее изображение не адаптировалось к разрешению экрана и могло обрезаться на маленьких разрешениях.
  142. В web-клиенте исправлен подсчёт символов во время редактирования сообщения в обсуждениях.
  143. В web-клиенте исправлен баг, когда при вставке через буфер обмена переименованного файла сохранялось предыдущее название.
  144. Исправлено получение контента приложенных файлов изображений при отправке уведомлений по обсуждениям (форумам).
  145. В web-клиенте исправлена ошибка получения контента файла из Deski, если до этого сохранение карточки было прервано и файл открывался для чтения или редактирования.
  146. В web-клиенте исправлена ошибка, при которой текст из буфера обмена вставлялся в поле ввода без фокуса.
  147. В web-клиенте в маршрутах в параметрах этапа “Управление процессом” исправлена ошибка, из-за которой в режиме “Переход на этап” не отображалось поле “Строка с этапом”.
  148. В web-клиенте исправлена ошибка, из-за которой список обсуждений не обновлялся при создании нового обсуждения.
  149. В web-клиенте было улучшено определение жеста открытия контекстного меню файла в файловом контроле.
  150. Исправлена ошибка при сохранении схемы в базу данных, когда добавляется первая запись в таблицу-перечисление с указанием другой библиотеки, чем та, что задана у таблицы.
  151. В типовом процессе исполнения задач, маршрутах и конструкторе бизнес-процессов в этапах и действиях “Согласование”, “Подписание”, “Доработка”, “Ознакомление” и “Создать файл по шаблону” исправлены ошибки, из-за которых не выполнялась локализация параметров, заданных в виде алиаса строки локализации ($LocalizableName).
  152. В web-клиенте исправлена ошибка отображения области предпросмотра: ранее в тёмной теме фон области предпросмотра сливался с фоном хром-панели этой области.
  153. В web-клиенте исправлено отображение фона строки таблицы при наведении.
  154. В маршрутах исправлена ошибка, из-за которой нельзя было создать несколько дескрипторов типов этапов, использующих одинаковый тип карточки настроек.
  155. В web-клиенте для внутренних переменных тем добавлена поддержка юнитов.
  156. В web-клиенте больше нельзя указывать прозрачность в цветах во внутренних переменных темах.
  157. В web-клиенте для объекта ThemeBuilder реализована возможность добавить произвольный фрагмент к уже собранной теме.
  158. В web-клиенте исправлена ошибка, из-за которой в диалоге списка версий файлов могло отображаться два контекстных меню одновременно.
  159. Исправлена ошибка, из-за которой в списке участников обсуждения могли дублироваться пользователи.
  160. В команде tadmin Compile передаваемые категории теперь проверяются без учёта регистра.
  161. В TessaAdmin для свойства Максимум строк контрола Строка исправлена локализация всплывающей подсказки валидации.
  162. Для веб-сервиса jinni при его развёртывании в среде Docker исправлена установка актуальной версии LibreOffice.
  163. Для веб-сервиса jinni при его развёртывании в среде Docker оптимизирован Dockerfile и шаблоны для его генерации.
  164. При установке Configuration.Sealed или Configuration.StrictSecurity равным true в конфигурационном файле app.json веб-сервиса web, поля, связанные со скриптами в маршрутах, теперь корректно помечаются как неизменяемые.
  165. В web-клиенте исправлена работа вертикальной прокрутки контрола “Контейнер” c включенной настройкой “Включить прокрутку”.
  166. В web-клиенте для контрола “Дата и время” исправлены стили выделения текущей даты в календаре в темной теме.
  167. Исправлена консольная команда tadmin PrintJson для корректного вывода конфигурационных файлов app.json.
  168. Исправлена ошибка конвертации файлов в pdf с указанием jwt-токена при использовании OnlyOffice/Р7 для конвертации.
  169. В web-клиенте исправлена утечка памяти в контроле “Текст с форматированием”.
  170. В ежедневной рассылке уведомлений по заданиям исправлена ошибка, приводившая к тому, что в уведомлении учитывались задания, в состав исполнителей которых входит текущий сотрудник, но задания были взяты в работу другим сотрудником.
  171. В конструкторе бизнес-процессов в действии “Группа заданий” исправлено отображение заголовков связей в поле “Переходы” в настройках обработки вариантов завершения заданий.

Обновление на новую сборку

  1. В карточке настроек календаря изменены даты начала и окончания расчёта. Измените и пересчитайте календарь при обновлении, если срок его окончания подходит к концу.
  2. Обновите скрипты Export.bat и export.sh проектного репозитория, которые копировались из папки Source в сборке.
  3. После обновления платформы выполните компиляцию сценариев вторичных процессов. Это можно сделать по кнопке в любой карточке типа “Вторичный процесс”, или вызвав консольную команду tadmin Compile -a:address -u:user -p:password с указанием адреса подключения к серверу приложений и параметров входа.
  4. Приложение-помощник web-клиента Deski обновлено до версии 2.2.3. Опубликуйте новые версии приложения при обновлении. При использовании функций, связанных с Deski, пользователю будет предложено обновить его версию на опубликованную. Также обновление может выполнить администратор системы, установив msi-пакет для Windows через доменные политики, а для Linux воспользовавшись инструкцией Установка ассистента web-клиента Deski.
  5. Изменились рекомендации по настройке сервиса webbi для ОС Windows (IIS).
  6. Изменён способ определения групп при формировании распределения файлов по циклам согласования. Настройте необходимые типы групп в карточке типового решения в поле “Типы групп истории заданий, используемые для определения циклов согласования” на вкладке “Дополнительно”.
  7. После обновления схемы данных выполните запрос из файла Fixes/Migration-4.0.XX.sql после комментария “Insert KrTask entries for KrEditInterject tasks (4.0.5)”, где вместо ХХ указано ms для MS SQL Server или pg для PostgreSQL. Актуально, если обновление производится с предыдущих релизов 4.0.x. При обновлении с релизов 3.6.0.x и ранее он выполняется автоматически в скриптах Upgrade.bat/upgrade.sh.

Изменения API при обновлении

  1. Изменена логика определения дайджеста при сохранении карточки из клиента. Теперь при сохранении карточки в запросе на сохранение отправляется дайджест карточки, полученный при её загрузке, а не дайджест, сформированный с учётом сохраняемых изменений. Если в расширениях на сохранение карточки требуется получить актуальный дайджест карточки, то необходимо использовать метод ICardRepository.GetDigestAsync и передать в качестве параметра сохраняемую карточку.
  2. Для использования метода-расширения SwaggerGenOptions.IncludeXmlCommentsFromInheritDocs при создании web-приложений ASP.NET Core, использующих API TESSA замените подключение пространства имён Unchase.Swashbuckle.AspNetCore.Extensions.Extensions на Tessa.Web.Unchase.Swashbuckle.Extensions.
  3. Изменена сигнатура метода KrProcessSharedHelper.TryGetKrTypeAsync.
  4. При получении карточки по серверному запросу теги больше не загружаются. Если теги необходимы при загрузке карточки на сервере, то их можно получить через API ITagManager.
  5. В обработчике привязок конструктора бизнес-процессов IWorkflowEngineBindingExecutor метод GetAsync<T>, который позволял получить значение по привязке как для скалярных типов данных, так и для списков (при передаче в качестве типа в T массива или типа, реализующего IEnumerable<object>), разделён на 2 отдельных метода - GetAsync<T> для получения скалярных типов данных и GetListAsync<T> для получения списков. Если вы использовали метод GetAsync<T> для получения списка значений (например, List<object>), то замените его на GetListAsync<T>.
  6. Изменён абстрактный класс TaskSatelliteClientGetFileContentExtension, используемый для передачи дайджеста карточки в запрос на получение файла из карточки-сателлита задания. Из конструктора базового класса удалён параметр ICardRepository.
  7. Изменён интерфейс ICardManager. В методы ImportAsync добавлен опциональный параметр bool errorIfCardExists, который позволяет не производить логику слияния и вернуть ошибку в ответе, если карточка уже существует, например, когда предполагается удаление существующей карточки перед импортом.
  8. Из класса KrComponentsHelper удалены методы, принимающие ICardCache. Вместо них используйте одноимённые методы, принимающие IKrTypesCache.
  9. Изменён тип свойства WorkflowEngineTaskSignal.TaskIDs на IList<Guid>. Обновите проектный код, содержащий ссылку на это свойство.

Изменения конфигурации при обновлении

  1. Представления:

    • CardTasks

    • DeletedFiles

    • FileCategoriesAll

    • FileCategoriesFiltered

    • KrFilteredStageGroups

    • KrFilteredStageTypes

    • MyDocuments

    • ProtocolCompletedTasks

    • ReportCurrentTasksByDepartment

    • ReportCurrentTasksByDepUnpivoted

    • ReportCurrentTasksByUser

    • ReportPastTasksByDepartment

    • ReportPastTasksByUser

  2. Таблицы:

    • FileCategories

    • KrPermissionExtendedFileRules

    • KrSettingsCycleGroupingTaskHistoryGroupTypes (добавлена)

    • Roles

    • TaskAssignedRoles

  3. Библиотеки схемы:

    • Standard solution
  4. Типы:

    • ConditionType

    • CreateFileTempLink

    • FileCategory

    • FileTemplate

    • HelpSection

    • ImageModes

    • KrEdit

    • KrEditInterject

    • KrPermissions

    • KrSecondaryProcess

    • KrSettings

    • KrStageGroup

    • KrStageTemplate

    • KrTemplateCard

    • KrVirtualFile

    • WorkflowTaskGroupAction

  5. Карточки:

    • ApprovalHistoryCondition

    • CancelButton

    • DefaultCalendar (необязательное изменение)

    • DeregisterButton

    • DocStateCondition

    • FieldChangedCondition

    • HasAccessibleTag

    • IAmModerator

    • ModifyTaskAssignedRolesButton

    • NewIterationTemplate

    • ProtocolBranchPure

    • RebuildButton

    • RegisterButton

    • RejectButton

    • ReturnForAmendingTemplate

    • RouteCondition

    • RowAddedCondition

    • RowDeletedCondition

    • SendProtocolTasksButton

    • Server settings (settings) (необязательное изменение)

    • Standard solution (settings) (необязательное изменение)

    • StartProcessButton

    • TagCondition

    • TaskChangedCondition

  6. Изменены библиотеки локализации.

Back to top