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

Версия 2.7.3 (05.10.2018)

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

  1. Изменены рабочие места: Administrator.
  2. Изменены представления: Applications, AvailableDeputyRoles, AvailableDeputyUsers, DeputiesManagement, DocumentCategories, DurableRoles, KrActionTypes (добавлено), KrFilteredStageGroups, KrProcessButtons (удалено), KrSecondaryProcesses (добавлено), KrSecondaryProcessModes (добавлено), KrStageGroups, KrStageRows, KrStageTemplates, KrStageTypes, MyTasks, ReportCurrentTasksRules, Roles, Users, WfResolutionAuthors.
  3. Изменены представления (необязательные изменения): AccessLevels, ActionHistoryTypes, ActionTypes, ApplicationNames, Cars, CompletedTasks, CompletionOptions, ContractsDocuments, Currencies, Deleted, Departments, DeviceTypes, DocumentCategories, Documents, DocumentTypes, EmittedTasks, FileCategoriesAll, FileCategoriesFiltered, FileTemplates, FileTemplateTemplateTypes, FileTemplateTypes, IncomingDocuments, KrCreateCardStageTypeModes, KrDocNumberRegistrationAutoAssigment, KrDocNumberRegularAutoAssigment, KrDocStates, KrDocTypes, KrManagerTasks, KrPermissions, KrProcessManagementStageTypeModes, KrStageCommonMethods, KrStageTemplateGroupPosition, KrTypes, KrTypesEffective, KrTypesForPermissionsExtension, Languages, LicenseTypes, LoginTypes, MyCompletedTasks, MyDocuments, Notifications, NotificationTypes, OutgoingDocuments, Partners, PartnersContacts, PartnersTypes, ProtocolCompletedTasks, Protocols, RefDocumentsLookup, ReportCurrentTasksByDepartment, ReportCurrentTasksByDepUnpivoted, ReportCurrentTasksByUser, ReportPastTasksByUser, RoleGenerators, RoleTypes, Sequences, Sessions, SessionServiceTypes, TaskHistory, TaskKinds, TaskTypes, Templates, TileSizes, Types, VatTypes, Views, Workplaces.
  4. Изменены таблицы: AdSyncRoots, DocumentCategories, KrActionTypes (добавлена), KrApprovalCommonInfo, KrApprovalCommonInfoVirtual, KrAuthorSettingsVirtual (добавлена), KrButtonContextRoles (удалена), KrSecondaryProcessContextRoles (переименована из KrButtonContextRoles), KrProcessButtonGroupsVirtual (удалена), KrProcessButtons (удалена), KrResolutionSettingsVirtual, KrSecondaryProcessCommonInfo, KrSecondaryProcessContextRoles, KrSecondaryProcesses (переименована из KrProcessButtons), KrSecondaryProcessGroupsVirtual (добавлена), KrSecondaryProcessModes (добавлена), KrStageGroups, KrStages, KrUniversalTaskSettingsVirtual.
  5. Изменены типы карточек: AdSync, DocumentCategory, KrAuthorSettings (добавлен), KrCard, KrResolutionStageTypeSettings, KrSatellite, KrSecondaryProcess (переименован из KrProcessButton), KrSecondarySatellite, KrStageGroup, KrStageTemplate, KrUniversalTaskStageTypeSettings.
  6. Изменены карточки: ApprovalGroup, CancelButton, CancelGroup, DeregisterButton, DeregisterGroup, FullRecalcRouteButton, RebuildButton, RebuildGroup, RegisterButton, RegisterGroup, RejectButton, RejectGroup, StartProcessButton, StartProcessGroup
  7. Изменены библиотеки локализации.
  8. Сброшены локальные настройки пользователей в приложении TessaClient, которые связаны с выбранной темой и фоном. Пользователи должны установить эти настройки заново.

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

  1. В маршрутах кнопки процессов расширены до карточек вторичных процессов с режимом работы: “Кнопка”, “Действие” (вызывается при создании карточек, сохранении карточек или завершении заданий) и “Простой процесс” (запускается из скриптов и расширений). Для режима “Действие” есть опция “Запускать один раз за запрос”, которая предотвращает проверку условия и выполнение действия более, чем один раз за запрос на сохранение карточки, это предотвращает рекурсивно вложенные запросы, выполняющие одно и то же действие.
  2. Синхронизация с Active Directory теперь позволяет синхронизовать дерево групп пользователей в виде статических ролей.
  3. В карточке настроек лицензии теперь выводится только количество конкурентных лицензий, которые гарантированно заняты в системе и которые не могут быть автоматически освобождены (а затем возвращены) при переполнении конкурентных лицензий. Это актуально, чтобы не учитывать конкуретные сессии для “повисших” приложений desktop-клиентов, или для сессий web-клиента, которые могут оставаться неактивными длительное время. Т.о. можно получить “мгновенную” загруженность системы по конкуретным сессиям.
  4. Изменён способ сохранения локальных настроек пользователей. Вместо файла app.config теперь используется файл settings.json, расположенный в папке настроек приложения “%appdata%\tessa\settings\сервер\default\tessaclient”. Это предотвращает потенциальные проблемы с .NET Framework, связанные с использованием .config-файлов.
  5. Изменён способ сохранения настроек по положению окна. Вместо файла “%localappdata%\syntellect\приложение-версия\user.config” теперь используется файл settings.json, расположенный в папке настроек приложения “%appdata%\tessa\settings\сервер\default\tessaclient”. Это предотвращает потенциальные проблемы с .NET Framework, связанные с использованием .config-файлов.
  6. В конфигурационном файле TessaClient.exe.config (и TessaClient32.exe.config) добавлен параметр NewTwainDSM со значениями “true” или “false”. Параметр определяет, будет ли использоваться библиотека twaindsm.dll (значение “true”), предоставляющая доступ к новым версиям API TWAIN для работы с современными сканерами, или же используется библиотека twain_32.dll (значение “false”), которая обеспечивает лучшую совместимость со старыми моделями сканеров. Значение по умолчанию “false” также подходит для большинства современных сканеров. Установите значение “true” только в том случае, если наблюдаются проблемы с некоторыми сканерами.
  7. В этапы маршрутов “Доработка”, “Задача”, “Согласование”, “Подписание” и “Регистрация” добавлена настройка “От имени (сотрудник или контекстная роль)”, позволяющая определить пользователя, от имени которого будут отправляться задания. В поле можно указать сотрудника (полезно в скриптах) или контекстную роль (например, Руководитель инициатора). Если поле не заполнено, то задание отправляется от имени инициатора. Также доработана отправка от имени автора с указанием контекстной роли для этапов “Задача” и “Настраиваемое задание”.
  8. В представлении “Группы этапов” добавлены сабсеты по типу документа и по типу запуска, аналогично представлению “Шаблоны этапов”.
  9. В настройках колонки в контроле “Таблица” добавлены опции “В одну строку” (заменяет переводы строк на пробелы) и “Без оконечных пробелов” (удаляет оконечные пробельные символы и переводы строк).
  10. API: Для виртуальных и физических файлов и версий добавлено свойство RequestInfo, которое может содержать любую сериализуемую информацию, передаваемую в request.Info запроса на загрузку контента, списка версий и списка подписей. Свойство добавлено в файлах CardFile, IFile, VirtualFile; и в версиях файлов CardFileVersion, IFileVersion, VirtualFileVersion. Информация, добавленная к файлу или версии на сервере при загрузке карточки или списка версий будет передана в запросы с клиента, выполняемые для этих файлов и версий. Например, одновременно с добавлением виртуального файла “Лист согласования” можно добавить произвольную информацию, которую затем использовать в context.Request.Info в расширениях на загрузку контента файла/версии. В запросах контента версии и списка подписей в request.Info сначала записывается информация из файла, и потом из версии (из последней версии файла, если действие вызвано на файле). Т.о. данные по одному и тому же ключу из версии файла могут перезаписать данные из файла.
  11. API: Добавлено свойство INumberContext.PlaceholderInfo, значения которого используются для заполнения контекста плейсхолдеров IPlaceholderContext.Info при замене плейсхолдеров в формате номера, формате последовательности или в других случаях, когда для API номеров требуется задействовать API плейсхолдеров.
  12. API: Добавлены методы ISerializableObject.IsModified() и SetModified() для отслеживания изменений в любых объектах ISerializableObject, например, в объектах context.Info в контексте расширений. Также добавлено событие Modified, которое определяет момент первого изменения.
  13. API: Необработанные исключения в объекте ValidationResult теперь записываются с ключом ValidationKeys.Exception, для которого в свойстве FieldName записывается полное имя типа исключения: typeof(SomeException).FullName. Это позволяет различать возникшие исключения.
  14. API: В скриптах маршрутов добавлены свойства и методы для доступа к параметрам ProcessInfo для других процессов маршрутов, например, к параметрам основного процесса из скрипта кнопки, или к параметрам процесса из другой карточки. Добавленные свойства и методы: MainProcessInfo, GetMainProcessInfo, GetSecondaryProcessInfo.
  15. API: В скриптах маршрутов добавлено свойство Author: Stage.Author соответствует полю “От имени”, а WorkflowProcess.Author соответствует инициатору процесса (заменяет свойства AuthorID и AuthorName).
  16. API: В скриптах маршрутов свойство Stage.TimeLimit теперь может быть равно null, когда значение не задано в этапе или скриптах. Добавлено свойство TimeLimitOrDefault как число double, которое принимает значение по умолчанию, когда TimeLimit равен null.
  17. API: Добавлен интерфейс IExtraViewProvider, который рекомендуется использовать вместо IExtraViewListProvider. Интерфейс IExtraViewProvider можно регистрировать в контейнере Unity несколько раз с разными именами, что позволяет добавлять программные представления в независимых друг от друга модулях (например, в расширении типового решения и в проектных расширениях). Пример в классе Tessa.Extensions.Default.Server.Views.TransientViewExtraProvider и его регистраторе.
  18. API: Обновлены библиотеки: Linq2DB 2.4.0, NLog 4.5.10, Npgsql 4.0.3, NTwain 3.5.3, Pdfium 2018.4.8.256.

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

  1. Исправлено добавление этапов вручную после выполненного пересчёта, если в маршруте содержатся скрытые этапы.
  2. Исправлено выполнение маршрута с переключением контекста, например, при некоторых сценариях создания карточки по кнопке с её последующей регистрацией.
  3. Улучшен вывод отладочной информации методом Show в скриптах маршрутов.
  4. Улучшено сообщение об ошибке в ситуации, если одно из расширений зарегистрировано без оператора .WithOrder(…).
  5. Шрифт в SQL-запросах в TessaAdmin теперь действительно моноширинный Consolas.
  6. В некоторых представлениях изменены отступы в соответствии с новым шрифтом Consolas в TessaAdmin.
  7. Исправлен выход из скрипта Migrate.bat при возникновении ошибки в процессе импорта карточек для целевой СУБД.
  8. Исправлены методы IQueryBuilder.Count(…) для обращения к SQL-функции COUNT(…) при генерации текста запроса. Теперь и на MSSQL, и на PostgreSQL функция будет генерировать запрос, который возвращает значение типа int. Чтобы получить значение типа bigint, используйте аналогичные методы IQueryBuilder.CountBig(…).
  9. Исправлена локализация в сообщении об ошибке при исправлении типов по кнопке “Исправить всё” в TessaAdmin.
  10. Актуализирована конфигурация для документации web-клиента в папке “WebClient SDK”.
  11. Исправлен пропуск этапа маршрута, который стал видимым при пересчёте, если предыдущий завершённый этап был последним в маршруте до пересчёта.
  12. Исправлена ошибка в схеме данных, где при изменении имени таблицы и одновременном добавлении/удалении колонки не производилось переименование констрейнта.
  13. Исправлена ошибка в схеме данных при попытке указать значение по умолчанию для колонки типа Date (дата без времени).
  14. Исправлено отображение срока типовых задач в визуализаторе. Ошибка появилась в 2.6.
  15. Исправлена отправка типовых задач возврата на роль при наличии подзадач в дереве заданий. Ошибка появилась в 2.6.
  16. Исправлено отображение текущих активных заданий на этапе маршрута, которое могло не показывать задания, недоступные текущему сотруднику. Ошибка появилась в 2.6.
  17. Исправлено сохранение в истории заданий для комментария согласующего или подписанта, если он не является последним на текущем этапе. Исправление также затрагивает лист согласования, визуализатор и представления. Исправление работает только для новых завершённых заданий. Ошибка появилась в 2.6.
  18. Исправлено сохранение в истории заданий для комментария доп. согласующего после того, как он согласовал или не согласовал. Исправление также затрагивает лист согласования, визуализатор и представления. Исправление работает только для новых завершённых заданий. Ошибка появилась в 2.6.
  19. Удалено ошибочное отображение в листе согласования для вопроса, заданного запросом комментария из согласования, доп. согласования или подписания. Ошибка появилась в 2.6.
  20. В листе согласования задания доп. согласования отображаются с пометкой “(Доп. согласование)”. Ошибка появилась в 2.6.
  21. В листе согласования строка с запросом доп. согласования больше не отображается. Ошибка появилась в 2.6.
  22. Исправлен визуализатор маршрута для документа, который был сразу зарегистрирован без фактического запуска процесса.
  23. Если шаблон этапа был удалён, то этап на документе отработает, но без скриптов.
  24. Исправлена редкая ошибка “Последовательность не содержит соответствующий элемент” для контролов с работающем маппингом представлений.
  25. Исправлены редкие ошибки вида “Cannot insert duplicate key” при пересчёте метаролей и динамических ролей.
  26. Исправлено отображение содержимого в файле листа согласования для документа, который после создания сразу был зарегистрирован.
  27. Исправлена ошибка в методе IOperationRepository.GetStateAndProgress() при вызове с клиента. Метод всегда возвращал, что операция в состоянии Created.
  28. Исправлена загрузка операций IOperation в IOperationRepository, где свойство Created загружалось как дата/время без указания признака UTC.
  29. Исправлено логирование для количества возвращаемых из отложенного состояния заданий, которое выполняется в логе Chronos для плагина ReturnTasksFromPostponedPlugin.
  30. Исправлен предпросмотр некоторых файлов, расширение которых указано заглавными буквами, например, .XLSX.
  31. В web-клиенте исправлено поведение контрола “Дата и время”, который расположен в форме строки таблицы, причём таблица размещена в задании. Также исправление может затрагивать другие контролы в такой ситуации.
  32. В web-клиенте исправлено отображение дат в колонках контрола “Таблица” в карточке, если в настройках колонки указано “Игнорировать часовой пояс”.
  33. При работе на SQL Server в представлениях, содержащих агрегацию строк (список ролей, подразделений и др.) через запятую (или другой разделитель) исправлено кодирование символов “& < >” (и др.) в XML-форме. При этом была исправлена конструкция FOR XML PATH (подробнее см. в представлении MyTasks и др.). Это позволяет использовать такие символы как амперсанд & в названиях ролей и в других местах, где строка потом выводится с агрегацией.
  34. Исправлен вызов метода ValidationResult.ToString(“format”, formatProvider), если formatProvider отличен от CultureInfo.CurrentUICulture.
  35. Если в коде расширений используется асинхронная отмена операций, то исключения OperationCanceledException, возникающие при отмене операций, больше не выводятся методом TessaDialog.ShowNotEmpty независимо от того, в какой части системы они возникли, если кроме таких исключений отсутствуют другие сообщения в объекте ValidationResult.
  36. Сообщения о невозможности удалить временный файл теперь выводятся на уровне логирования WARN (предупреждения) вместо ERROR (ошибка).
  37. Исправлено задание сортировки представлений по умолчанию в ситуации, когда DefaultSortDirection не задан или задан как “asc”, при этом сортировка указывается рядом с колонками “DefaultSortColumn: Column1 asc Column2 desc”.
  38. Исправлена редкая ошибка “Object reference not set to an instance of an object” при перетаскивании файла в карточке одновременно с закрытием вкладки.
  39. Реализована система предотвращения зацикливаний в маршрутах. Если для маршрутов выполняется более 20 вложенных сохранений карточки, то работа прекращается с ошибкой, описывающей ситуацию.
  40. При невозможности взять блокировку на роли в плагинах Chronos сообщение об ошибке в логе сделано более подробным.
  41. Этапы маршрутов “Регистрация” и “Настраиваемое задание” теперь используют значение “Срок” из настроек этапа.
  42. Задание в этапе маршрута “Регистрация” теперь создаёт запись в истории заданий, которая также доступна в листе согласования.
  43. Возврат на доработку, выполняемый для настройки этапа “Вернуть при несогласовании”, теперь не увеличивает цикл согласования.
  44. Исправлены категории документов: невозможность указать категории с одинаковым наименованием и разным типом документа; добавлены колонка представления и параметр фильтрации для типов документов; исправлены строки локализации и сообщения об ошибках; Digest карточки категории для истории действий.
  45. Добавлено сообщение об ошибке, когда в этапе, который должен содержать поле “Срок”, его значение не указано.
  46. Исправлены редкие ошибки при сериализации поисковых запросов вида “Resolving parameter “dbms” of constructor Tessa.Views.Parser.SyntaxTree.Parameters.ParametersEvaluatingContext”. Ошибка появилась в 2.6.
  47. Ошибки при загрузке поисковых запросов пользователя в момент запуска приложения TessaClient или web-клиента теперь выводятся как предупреждения и не предотвращают запуск. Т.е. при наличии ошибок с сохранёнными поисковыми запросами система запустится так, как если бы пользователь не добавил запросов, и покажет окно с ошибкой при запуске.
  48. В конструкторе диаграмм исправлена обработка ошибок, связанных с неизвестными индексами в настройках “Заголовок” и “Формат подписей оси”. Также исправлена локализация в формате меток данных для осей.
  49. При отображении диаграмм исправлено смещение рядов диаграмм (графиков) относительно других элементов диаграммы (в т.ч. относительно осей) при заданной толщине границы области диаграммы.
  50. Исправлен алгоритм пересчёта этапов при наличии скрытых этапов (для которых отмечено “Не показывать в маршруте”).
  51. Исправлен метод-расширение configurationInfoProvider.CheckStrictSecurity(), который по ошибке выполнял те же действия, что в методе CheckSealed().
  52. Исправлена работа вторичных процессов маршрутов с этапами, которые внутри себя выполняют вложенное сохранение.
  53. Если регистрация была выполнена этапом маршрута “Регистрация”, а не соответствующей кнопкой, и карточка была в состоянии “Согласовано”, то после отмены регистрации карточка теперь возвращается в состояние “Согласовано”, а не в “Проект”. Т.о. регистрация по кнопке и через этап теперь приводят к одинаковому поведению при дерегистрации.
  54. При отправке уведомлений в маршруте исправлена замена плейсхолдеров, которые обращались к таким параметрам текущей сессии, как код сервера. Это исправляет генерацию ссылок {cardLink}, {appLink} и др.
  55. Исправлены проблемы пересчёта маршрута при удалении шаблона этапа, который был рассчитан в маршруте.
  56. Добавлены недостающие серверные форматтеры для типов этапов “Ознакомление”, “Согласование”, “Создание карточки”, “Доработка”, “Уведомление”, “Управление процессом”, “Задача”, “Подписание”.
  57. Сообщение о том, что плагин RemoveCompiledViews поддерживается только на PostgreSQL, теперь выводится на уровне Trace, чтобы по умолчанию не заполнять лог очевидными сообщениями.
  58. В представлении “Шаблоны этапов” исправлена сортировка значений с учётом локализации в сабсетах “По типу” и “По типу запуска”.
Back to top