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

Версия 2.7.2 (04.09.2018)

Переход на новую сборку

  1. Изменены рабочие места: Administrator.
  2. Изменены представления: ActionHistory, ActionHistoryTypes (добавлено), CompletedTasks, GetFileNameView (добавлено), KrFilteredStageTypes, KrStageRows, KrStageTemplates, KrStageTypes, ReportPastTasksByCompletionOption, ReportPastTasksByDepartment, ReportPastTasksByUser, Sessions, SessionServiceTypes (добавлено), TaskHistory, TaskHistoryGroupTypes (добавлено), ViewFiles, Views, Workplaces.
  3. Изменены таблицы: KrApprovalCommonInfo, KrDocType, KrEditSettingsVirtual, KrHistoryManagementStageSettingsVirtual (добавлена), KrProcessStageTypes, KrSecondaryProcessCommonInfo, KrSettingsCardTypes, KrStageGroups, KrStages, KrStagesVirtual, KrStageTemplates, Sessions, SessionServiceTypes (добавлена), TaskHistory, TaskHistoryGroupTypes, ViewRolesVirtual (добавлена), ViewsVirtual (добавлена), WorkplaceRolesVirtual (добавлена), WorkplacesVirtual (добавлена).
  4. Изменены миграции: Platform.
  5. Изменены типы карточек: AdSync, Calendar, KrCard, KrDocType, KrEditStageTypeSettings, KrHistoryManagement (добавлен), KrPermissions, KrSatellite, KrSecondarySatellite, KrSettings, KrStageGroup, KrStageTemplate, ServerInstance, TaskHistoryGroupType (переименован из TaskHistoryGroup), View (добавлен), Workplace (добавлен).
  6. Изменены карточки: Approval (добавлена), ApprovalCycle (добавлена), EditTemplate, FullRecalcRouteButton (добавлена), NewIterationTemplate (добавлена), RegisterButton, StartProcessButton, StartProcessTemplate, Tasks (добавлена).
  7. Изменены карточки (необязательные изменения): Addendum, ApprovalGroup, CancelGroup, CancelTemplate, Contract, Default access rules, DeregisterGroup, DeregisterTemplate, Directive, Document, Incoming, Official note, Order, Outgoing, RebuildGroup, RebuildTemplate, RegisterGroup, RegisterTemplate, RejectGroup, RejectTemplate, StartProcessGroup, StartProcessTemplate, Standard solution (settings).
  8. Изменены библиотеки локализации.
  9. После обновления схемы выполните скрипт Fixes/Migration-2.7.2.*.sql.
  10. Обновите конфигурационные файлы app.json в папке веб-сервисов.
  11. Приложение Tessa Applications больше не обрабатывает ссылки snlink://, которые использовались в Tessa 1.x и некоторых кастомизированных решениях. Переустановите TessaApplications.msi на компьютере пользователя, чтобы удалить регистрацию ссылок.
  12. Если в представлении с правилами доступа в списке “Разрешения” будут указаны какие-либо из удалённых разрешений, то откройте соответствующую карточку, поставьте/снимите любой флажок (чтобы он не изменился, но в структуре карточки поле было отмечено как изменённое), и сохраните карточку. Это относится к разрешениям: “Запуск процесса”, “Возврат на доработку”, “Отзыв процесса”, “Отмена процесса”, “Регистрация документа”.
  13. В расширениях на права доступа IKrPermissionsExtension был удалён метод CanDoSomething, поскольку он фактически не вызывается в новой системе маршрутов. Настройки по возможности выполнить запуск процесса, возврат на доработку, регистрацию и др. действия, задаются в карточках кнопок процессов. Удалите метод CanDoSomething из ваших классов, реализующих интерфейс IKrPermissionsExtension.
  14. В методы WorkflowStoreExtension.CanStartProcess и StartProcess добавлен параметр processID. Для классов-наследников WorkflowStoreExtension, добавленных в рамках проекта, измените сигнатуру перегружаемых методов и передайте идентификатор процесса в вызов метода workflowWorker.StartProcess(typeName, newProcessID: processID).
  15. В конструкторы базовых классов WorkflowStoreExtension и KrWorkflowStoreExtension добавлены необязательные параметры ICardTaskHistoryManager и ICardGetStrategy, которые запрашиваются из Unity или передаются как null, если бизнес-процесс не будет создавать группы в истории заданий посредством этого объекта в контексте. Также аналогичное свойство TaskHistoryManager и дополнительное свойство CardGetStrategy добавлены в интерфейс IWorkflowContext, и в наследуемый от него IWorkflowManager. Если ваши классы IWorkflowManager наследуются от базового класса WorkflowManager, то никаких изменений в них вносить не надо.
  16. Наследники класса FileGrouping для группировки файлов должны определить метод GetGroupInfoCore по новой сигнатуре, которая возвращает структуру FileGroupInfo. Аналогично изменилась сигнатура делегата, передаваемого в группировку FileDelegateGrouping.

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

  1. Иерархическая группировка строк в истории заданий теперь выполняется посредством справочника типов групп. Любой бизнес-процесс на сервере помимо создания строки в истории заданий также может создать строку с группой, которая связана с некоторым типом групп, определяющим иерархию и название группы. Такие строки позволяют выполнить группировку независимо от клиентских расширений, например, в SQL-запросе представления. Для всех типовых строк группы создаются в миграции.
  2. Добавлено представление “История заданий”, которое отображается по ссылке из карточки на вкладке “История заданий”.
  3. В метаинформацию представлений добавлен параметр #view(TreeGroup: …), указывающий имя столбца, который определяет признак того, что строка является группой в режиме группировки. Это требуется для таких представлений, в которых в группе могут отсутствовать вложенные строки, например, группа “Согласование”, в которой нет строк из истории заданий, но есть другие группы, такие как “Цикл согласования”.
  4. В редакторе представлений в TessaAdmin шрифт выбран как моноширинный для редактирования метаинформации и SQL-запросов, а также для просмотра запросов в отладке.
  5. В рабочем месте “Администратор” в тестовое представление “Список файлов” добавлен предпросмотр выделенного в представлении файла для демонстрации возможности.
  6. Приложение Tessa Applications больше не обрабатывает ссылки snlink://, которые использовались в Tessa 1.x и некоторых кастомизированных решениях. Это упростило некоторые сценарии по обеспечению обратной совместимости и одновременной работе в новой версии Tessa Applications 2.x и в старой версии Application Manager 1.x на одном компьютере.
  7. Добавлена настройка “Скрывать вкладку “Маршрут”” в настройках типа документа и типа карточки в типовом решении, которая позволяет не отображать вкладку “Маршрут” для таких типов.
  8. Добавлена настройка “Скрывать кнопку создания карточки” в настройках типа документа и типа карточки в типовом решении, которая позволяет не отображать плитку создания карточки для таких типов.
  9. В карточке “Группа этапов” добавлен флажок “Игнорировать при пересчёте”, при наличии которого группа не будет использоваться при расчёте маршрутов, если она не будет явно включена в маршрут посредством API KrProcessBuilder.
  10. Для этапа маршрута добавлен флажок “Не показывать в маршруте”, позволяющий не отображать этап пользователю в таблице на вкладке “Маршрут”, при этом в остальном такой этап не будет отличаться от других этапов маршрута.
  11. Для администраторов доступна плитка “Показать скрытые этапы” в группе “Другие”, по нажатию по которой карточка обновляется и в ней отображаются этапы, отмеченные как скрытые. Обычные пользователи не имеют возможности отобразить такие этапы.
  12. Типовой этап “Доработка” настроен так, чтобы не отображаться в маршруте до тех пор, пока не будет первого возврата на доработку. Таким образом, теперь пользователь не будет видеть пропущенный этап “Доработка” на вкладке “Маршрут” после запуска процесса.
  13. Типовой этап “Доработка” после несогласования/отказа в подписании теперь добавляется в начало цикла согласования, и соответствующим образом группируется в истории заданий. При этом более не добавляется запись “Начало процесса” в начало цикла согласования, если цикл не был создан в результате запуска процесса по кнопке (в т.ч. после его отзыва или отмены).
  14. В маршрутах в каждом типе этапов, который связан с заданиями, добавлена возможность указать группу в истории заданий, в которую будет добавлена запись по заданиям из этого этапа. Если значение не указано, то будет использована группа по умолчанию. Если в пределах маршрута не задана группа по умолчанию, то все задания добавляются в пустую группу.
  15. В маршрутах добавлен тип этапа “Управление историей”, позволяющий определять группу в истории заданий по умолчанию, в которую добавляются записи по завершённым заданиям. В конфигурации типового решения добавлен такой этап, указывающий группу с циклами согласования как группу по умолчанию. Это поведение можно изменить настройками маршрутов.
  16. Видимость кнопки “Пересчитать” под таблицей маршрута теперь определяется карточкой кнопки процесса “Кнопка полного пересчёта процесса”, что позволяет гибко настраивать её видимость и доступность, не прибегая к написанию расширений.
  17. В представление “История действий” добавлен не планировщике скрытый параметр фильтрации по идентификатору карточки.
  18. Для администраторов добавлена возможность просматривать список представлений и рабочих мест в TessaClient и в web-клиенте, а также изменять список ролей, влияющий на доступ к представлениям и рабочим местам. Списки доступны в рабочем месте “Администратор”, папка “Прочее”.
  19. В сессии добавлен атрибут “Тип сервиса”, который позволяет однозначно различить сессии, открытые для Desktop-клиента, от сессий, открытых для Web-клиента, или открытых без использования веб-сервиса (например, в Chronos). В коде расширений используйте методы session.IsWebClient() и session.IsDesktopClient() для определения того, используется ли Web-клиент или Desktop-клиент. Историческая информация по типу сервиса сохраняется в истории действий для действий типа “Вход в систему”.
  20. Если в настройках безопасности сервера указан срок действия пароля пользователя и срок начала отправки уведомлений об истечении пароля, то пользователю помимо уведомления на почту будет отображаться предупреждение при входе в приложение, если срок действия пароля скоро истечёт.
  21. В файле app.json для веб-сервиса добавлена настройка Configuration.Sealed - режим неизменяемой конфигурации. Административный импорт любых объектов конфигурации (в т.ч. карточек) и изменение C# и SQL-скриптов невозможны в таком режиме. Рекомендуется установить для production-конфигурации, в которой необходимо ограничить возможности администраторов системы. В процессе обновления конфигурации необходимо обязательно отключить такую настройку в конфигурационном файле сервере и перезапустить веб-сервисы.
  22. В файле app.json для веб-сервиса добавлена настройка Configuration.StrictSecurity - режим повышенной безопасности, отключающий просмотр структуры и некоторые административные возможности, в т.ч. административный импорт из TessaClient и административное удаление истории действий для карточек. Рекомендуется использовать на production-сервере только при наличии соответствующих требований. Не используйте этот режим для инсталляций, в которых это явно не требуется.
  23. В TessaAdmin в окне “Информация по конфигурации” (вкладка “Информация”) выводятся флажки с текущими активными режимами Configuration.Sealed и Configuration.StrictSecurity, которые задаются в конфигурационных файлах.
  24. История действий теперь фиксируется для карточек настроек: “Календарь”, “Настройки сервера”, “Синхронизация с AD”, “Типовое решение”.
  25. Добавлена возможность возврата отложенного задания на роль с помощью действия CardTaskAction.Reinstate.
  26. В представление по шаблонам этапов добавлен сабсет “По типу запуска”, учитывающий принадлежность этапов кнопкам процесса. Также фильтрация по типу документа теперь учитывает видимость этапов в зависимости от видимости не только шаблона этапов, но и группы или кнопки.
  27. Добавлена функция “Заменить файл по шаблону” в контекстном меню на файлах в карточке, для которых доступна замена по правам доступа. Это позволяет вручную “обновить” файл, созданный по шаблону. Помимо содержимого файла он также может быть переименован; это актуально, если в имени файла в шаблоне также используются плейсхолдеры, например, номер документа, который изменяется при регистрации.
  28. Добавлена версия скрипта Fixes\ResetUserSettings.pg.sql, выполняемая для PostgreSQL.
  29. API: Добавлен API для создания процессов маршрутов динамически в коде расширений или скриптов по заданным группам этапов, используя метод KrProcessBuilder.CreateProcess(). Процесс запускается вызовом метода IKrProcessLauncher.Launch(process). Группы этапов, которые предполагается использовать в таких процессах и которые не должны учитываться для обычных процессов, отмечаются как игнорируемые. Пример доступен в руководстве разработчика в разделе “Программный запуск маршрута с фиксированным набором групп”.
  30. API: Добавлены расширения IFormUIExtension, позволяющие настроить любые диалоги, отображаемых методом IUIHost.ShowFormDialog без параметра withoutExtensions. При регистрации расширений разрешено выполнять фильтрацию по типу карточки диалога .WhenCardTypes(…). Проверить алиас формы можно в расширении по свойству context.Form.Name.
  31. API: Добавлено свойство ISelectFromViewContext.ViewContext, предоставляющее доступ к контексту представлений, из которого выполняется выборка по троеточию. Контекст можно использовать для изменения параметров фильтрации и обновления представления. Объект ISelectFromViewContext передаётся параметром в делегат, который указывает разработчик при вызове метода IUIHost.ShowViewsDialog.
  32. API: Добавлена возможность указать идентификатор запускаемого бизнес-процесса, используя метод storeRequest.SetStartingProcessID(id) совместно с вызовом storeRequest.SetStartingProcessName(typeName). Если идентификатор не указать, то он, как и раньше, генерируется системой.
  33. API: Добавлен объект ICardTaskHistoryManager, упрощающий создание или поиск групп в истории заданий, что обычно выполняется при отправке заданий или в специальных типах этапов. Объект доступен по свойству TaskHistoryManager в контекстах Workflow API и в маршрутах.
  34. API: В Workflow API для классов-наследников WorkflowTaskWorker<TManager> добавлен метод ResolveTaskHistoryGroup, который позволяет получить или создать группу из истории заданий по заданному типу группы и прочим параметрам.
  35. API: Группировки файлов FileGrouping, используемые в контроле “Список файлов”, теперь для каждого IFileViewModel возвращают объект FileGroupingInfo, который помимо идентификатора и отображаемого названия задаёт строку для сортировки групп между собой Sorting. Это позволяет, например, некоторые специальные группы располагать выше или ниже прочих групп, независимо от их отображаемого названия.
  36. API: Добавлен метод logger.LogException(“message”, ex, logLevel), выводящий дополнительное сообщение перед текстом исключения. Также logLevel можно не указывать, по умолчанию используется LogLevel.Error.
  37. API: Добавлены перегрузки методов ErrorDetails, WarningDetails и InfoDetails, принимающие Exception, для использования в ValidationSequence.
  38. API: Улучшена цепочка вызываемых методов ValidationSequence.Begin()…End() для ситуации, когда требуется создать новый объект ValidationResultBuilder и в завершении вызвать на нём метод Build() и получить объект ValidationResult. Пример: ValidationSequence.Begin().ErrorDetails(“text”, “details”).End().Build().
  39. API: Добавлена возможность переопределить поведение при наложении штампов на документы PDF, унаследовав объект от класса PdfStampWriter, в котором можно определить метод DrawCore. Также следует унаследовать объект от класса DefaultPdfGenerator, переопределив метод CreateStampWriter и создав требуемый объект-наследник PdfStampWriter с параметрами, которые можно получить из контекста.
  40. API: Добавлены средства для создания собственных значений в выпадающем списке типов документов PDF/TIFF, генерируемых в диалоге сканирования. При этом возможно использовать стандартный алгоритм генерации PDF, но передать вместе с выпадающим списком дополнительный тип ScanDocumentType (в расширении IScanDialogExtension), в котором создаётся PdfScanDocumentGenerator с параметрами, используемыми из context.GeneratorInfo в расширении IPdfStampExtension. Пример описан в руководстве разработчика.
  41. API: В расширениях ICardStoreExtension при сохранении карточки с файлами на клиенте или на сервере в свойстве context.ContentStorePending можно проверить, ожидается ли сохранение содержимого файлов после основного сохранения карточки. Если это так, то расширение может добавить обработчик события context.ContentStoreCompleted, которое будет вызвано после завершения сохранения для содержимого всех файлов. Такое событие происходит позже, чем завершение методов AfterRequest для всех расширений.
  42. API: Обновлены библиотеки: BarcodeLib 1.3.0, Linq2DB 2.3.0, NLog 4.5.9, QRCoder 1.3.3.

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

  1. Исправлено отображение этапа регистрации с пустым комментарием в таблице маршрута.
  2. Исправлены отчёты по завершённым заданиям, чтобы в них не попадали строки из истории заданий, которые не соответствуют действительно завершённым заданиям, например, строки с вариантами завершения “Запросить дополнительное согласование”, “Отозвать” и др.
  3. Исправлен конструктор рабочих мест в TessaAdmin при выполнении команд по горячим клавишам для выбранного узла дерева и для некоторых команд в контекстном меню дерева.
  4. Записи в истории заданий по заданиям, отправленным типом этапа “Задача”, теперь добавляются в соответствующую группу с циклом согласования.
  5. Оптимизирована выборка данных для отчётов по завершённым заданиям.
  6. В web-клиенте исправлено отображение поля “Комментарий” в задании “Запрос комментария”, отправленном для согласования, дополнительного согласования или подписания.
  7. В web-клиенте исправлено отображение вариантов завершения заданий, которые отмечены как скрытые для исполнителя.
  8. В web-клиенте исправлены возможные ситуации, когда зарезервированный в карточке номер не освобождался при закрытии вкладки браузера или окна браузера.
  9. В web-клиенте исправлены ошибки с маппингом представлений для контролов в заданиях.
  10. В web-клиенте исправлено отображение заголовка вкладки для карточек-настроек, существующих в единственном экземпляре.
  11. В web-клиенте исправлена проблема с порядком колонок в сабсетах.
  12. В web-клиенте исправлена фильтрация по значениям, проброшенным из сабсетов, для типов значений Int16, Int64, Double, Decimal. Проблема проявляла себя, например, в PostgreSQL при клике по значению сабсета “По состоянию” в представлении “Мои задания”.
  13. В web-клиенте исправлена смена языка интерфейса при работающей в браузере функциональности service workers.
  14. В web-клиенте исправлено раскрытие сабсетов, в которых в качестве колонки-идентификатора используется NULL.
  15. В web-клиенте исправлена загрузка карточки при открытии приложения по ссылке, которая могла приводить к фактической загрузке карточки дважды.
  16. Исправлена гонка за ресурсы при одновременном вызове метода IOperationRepository.StartFirst(typeID). Проблема приводила к тому, что одна и та же операция могла начать параллельно обрабатываться разными процессами-обработчиками, например, один и тот же файл может одновременно конвертироваться в PDF разными экземплярами плагина FileConverterPlugin.
  17. Исправлена редкая ошибка “Cannot access a disposed object. Object name: ‘LocalFileContent’.”, возникающая при предпросмотре в TessaClient только что удалённого файла, или при предпросмотре файла одновременно с обновлением карточки.
  18. Настройка “Скрывать пустые папки” теперь активирована по умолчанию, т.е. после сброса настроек пользователя (из окна “Мои настройки”) или для новых пользователей. Видимостью пустых папок (в которых нет представлений по правам доступа) по-прежнему можно управлять через плитку в левой панели.
  19. Минимизировано количество загрузок основной карточки в процессе работы бизнес-процесса маршрутов, что оптимизировало его работу.
  20. Исправлена проблема, из-за которой не отображался текст скриптов и запросов в некоторых сообщениях об ошибках, возникающих в процессе маршрутов.
  21. Исправлена ошибка при замене плейсхолдеров в файловых шаблонах Excel, если в документе присутствуют табличные плейсхолдеры, но на странице нет корректных групп ячеек для формирования таблиц.
  22. Для Tessa Applications в контекстном меню на значке в трее недоступные для запуска приложения теперь отображаются серыми.
  23. В списке рабочих мест в диалоге “Мои настройки” отключён переход по ссылке на несуществующую карточку рабочего места (по двойному клику или по контекстному меню).
  24. В команде tadmin ImportUsers при наличии циклических связей между подразделениями теперь выводится более подробное сообщение об ошибке.
  25. Исправлено копирование файлов с подписями посредством метода CardHelper.CopyFiles(), в т.ч. для типовой функции “создать на основании”, вызванной с зажатым Shift. Теперь подписи не копируются, и не возникает связанных с этим ошибок.
  26. Исправлена проблема, из-за которой изменение порядка колонок в индексе схемы данных не считалось изменением таблицы.
  27. Исправлено формирование имени индекса в схеме данных при изменении состава индексируемых колонок.
  28. Исправлена возможная ошибка при удалении колонки из таблицы схемы данных, которая содержит записи.
  29. Историю действий теперь можно фильтровать по любым типам карточек, в которых включено логирование истории действий.
  30. Исправлено изменение порядка колонок (их перетаскивание) для представлений, в которых отключён автовыбор размеров столбцов (автоматически или в соответствии с метаинформацией).
  31. Программный запуск маршрута теперь невозможен, если подсистема маршрутов отключена в настройках типа карточки или типа документа.
  32. Исправлены проблемы при пересчёте этапов маршрута. Например, если в группе присутствовали этапы, и затем все шаблоны этапов удалены из группы и запущен пересчёт.
  33. В SQL-скриптах маршрутов исправлена замена директив (вида #user_id, #card_id и др.), если после директивы отсутствовали пробелы или перевод строки.
  34. Исправлена локализация значений сабсетов и горизонтальных групп в представлениях.
  35. Исправлена отправка на ознакомление в случае, если значение флага excludeDeputies установлено на true.
  36. В карточке правил доступа скрыты флажки, которые относятся к процессу согласования и регистрации, поскольку они не используются в новой системе маршрутов. Настройки на видимость соответствующих действий и возможность выполнить такое действие указываются в карточках кнопок процессов. Например, в карточках кнопок “Регистрация” и “Отмена регистрации” можно определить права доступа, связанные с удалённым флажком “Регистрация”, в виде списка ролей, и можно написать скрипты для дополнительных проверок.
  37. Теперь невозможно выполнить вызов веб-сервиса с загрузкой карточки в режиме CardGetTaskMode.All (с загрузкой всех заданий), если в сессии пользователь, не являющийся администратором. При этом возвращается ошибка CardValidationKeys.UserIsNotAdmin. При загрузке карточки на сервере это правило игнорируется. Если же загрузка в режиме CardGetTaskMode.All выполняется вследствие экспорта карточки для создания шаблона или копии карточки, то карточка успешно экспортируется, но для неё удаляются все задания и история заданий, если в сессии пользователь без прав администратора.
  38. Для плейсхолдеров {date} и {passwordExpires} исправлен вывод даты с учётом часовых поясов, если для них указана любая строка форматирования. Например: {date:HH\:mm\:ss}.
  39. Исправлены переходы на несколько групп в пределах одного синхронного выполнения в маршрутах.
  40. Плейсхолдер #top_1 при использовании в контекстных ролях для PostgreSQL теперь в бинарном режиме контекстной роли будет возвращать ” LIMIT 1 “, вместо ” TOP(1) “. Его следует разместить ниже прочих команд SELECT/WHERE в соответствии с синтаксисом PostgreSQL.
  41. В сообщении об ошибке при невозможности получить экземпляр расширения теперь выводится имя типа расширения, которое некорректно зарегистрировано или для которого отсутствуют зависимости. Например, это ошибка расширения, зарегистрированного как синглтон, если у него отсутствует открытый конструктор без параметров.
  42. При импорте статических ролей и подразделений теперь будет восстанавливаться состав роли без учёта заместителей. Сотрудники, которые отсутствуют в системе на момент импорта, не будут добавлены в состав карточки, созданной при импорте. Исправление будет работать для всех ранее экспортированных карточек.
  43. При блокировке сотрудника все его активные сессии теперь удаляются. Блокировка может быть выполнена администратором в карточке сотрудника, или после неудачных попыток входа на основании правил безопасности (по умолчанию отключено).
  44. Исправлена отправка почтового уведомления для этапа “Доработка” в маршруте.
  45. Улучшено сообщение об ошибке при запросе неизвестного ключа из класса-наследника DictionaryStorage<TKey, TValue>.
  46. Улучшено сообщение об ошибке в методах Get<T> и TryGet<T> при невозможности преобразовать результат к требуемому типу typeof(T).
  47. Исправлены проверки правил доступа при наличии расширения IKrPermissionsExtension. Теперь если в токене безопасности отсутствуют требуемые правила, и метод расширения IsPermissionsRecalcRequired возвращает false, то система не выбрасывает ошибку, а перерасчитывает токен так, как если бы этот токен не был передан с клиента.
  48. В истории заданий при завершении задания “Доработка” выводится введённый комментарий в колонке “Результат”.
  49. Исправлены возможные ошибки при десериализации типов карточек.
  50. Для плагина синхронизации с Active Directory улучшены трассировка и выводимые в лог предупреждения.
  51. Исправлено указание нелокализованных названий состояний и локализованных названий ролей при выводе в представлении “Правило доступа”. Данное исправление действительно только для новых добавленных состояний и ролей, поэтому при наличии проблем с выводом фигурных скобок в правилах доступа - удалите и добавьте соответствующие значения в списках.
  52. Исправлена визуализация этапов маршрута для параллельных этапов согласования без явно заданных исполнителей.
  53. Исправлена визуализация и отображение настроек в колонке “Настройки” для этапа маршрута “Подписание”.
  54. Исправлен доступ автора задания к отправленному им заданию в случае, когда оно было отложено исполнителем.
  55. Исправлена проблема с формированием списка вариантов завершения задания для автора задания, когда задание автоматически берется в работу, автор входит в роль исполнения, но задание взято в работу другим сотрудником.
  56. Кнопка “Пересчитать” под таблицей маршрута теперь не отображается, если в маршруте есть хотя бы один завершённый этап. Это было актуально, например, в ситуации, когда документ согласован или зарегистрирован, но инициатор мог нажать кнопку “Пересчитать”, что могло изменить состав маршрута постфактум.
  57. Метод LocalizationManager.Format теперь не выполняет замену строки “\n” на перевод строки. Но этот символ по-прежнему можно использовать во всплывающих подсказках к элементам управления и в других настройках.
  58. Исправлена загрузка подписи файла из списка подписей при просмотре через меню “Показать список электронных подписей”.
  59. Исправлено отображение вкладки с рабочим местом в TessaClient при открытии узла дерева по ссылке, если узел дерева расположен в ещё неоткрытом рабочем месте. Ранее такое рабочее место открывалось вместе с узлами, видимыми только в режиме отбора.
  60. Исправлены редкие ошибки вида “Error HRESULT E_FAIL has been returned from a call to a COM component” в приложении TessaClient при переключении вкладок одновременно с их перетаскиванием.
Back to top