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

Версия 2.7.4 (02.11.2018)

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

  1. Изменены рабочие места: User (для узла “Мне на ознакомление” указан заголовок $Workplaces_User_MyAcquaintanceHistory; для узлов “Доступные роли” и “Доступные сотрудники” указана настройка “Множественное выделение строк = Как задано в представлении).
  2. Изменены представления: AcquaintanceHistory, AcquaintanceStates, AvailableDeputyRoles, AvailableDeputyUsers, KrTypes, MyAcquaintanceHistory, MyDocuments.
  3. Изменены представления (необязательные изменения): RefDocumentsLookup (изменены роли).
  4. Изменены таблицы: AcquaintanceComments (переименована из MassInformingComments), AcquaintanceRows (переименована из MassInformingRows), KrRegistrationStageSettingsVirtual, KrResolutionSettingsVirtual, KrSecondaryProcessContextRoles, KrSettings, KrTypes, KrUniversalTaskSettingsVirtual, MassInformingComments (удалена), MassInformingRows (удалена), TaskHistory, WebClientRoles (добавлена).
  5. Изменены типы карточек: Dialogs, KrAuthorSettings, KrCard, KrPerformersSettings, KrPermissions, KrRegistrationStageTypeSettings, KrResolutionStageTypeSettings, KrSettings, KrUniversalTaskStageTypeSettings, ServerInstance.
  6. Изменены карточки: Acquaintance, Assigned to me, Assigned to me (Excel), Protocol of the meeting, Protocol of the meeting (Excel).
  7. Изменены карточки (необязательные изменения): Active Directory Sync (settings), PasswordExpires, Server settings (settings), Standard solution (settings).
  8. Изменены библиотеки локализации.
  9. Обновите хост Chronos.exe. Версия Chronos увеличена до 2.7.4.
  10. Если в сборке 2.7.3 вы добавляли контекстные роли в карточки вторичных процессов (например, для кнопок процессов), то перед обновлением на эту сборку удалите все контекстные роли, а после обновления - добавьте снова. Список добавленных контекстных ролей можно определить запросом по таблице KrSecondaryProcessContextRoles.
  11. Проверьте список “Роли, которым доступен web-клиент” в карточке “Настройки сервера”. Чтобы разрешить доступ к web-клиенту всем сотрудникам, должна быть указана роль “Все сотрудники”. Если список пустой, то доступ к web-клиенту запрещён всем сотрудникам в системе.
  12. Был исправлен скрипт миграции при миграции со сборок перед 2.6 на текущую сборку. Выполняйте сквозную миграцию на текущую сборку, например, с 2.5.3 сразу на 2.7.4, минуя предыдущие сборки.

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

  1. Поля “Исполнители” и “Исполнитель” для типов этапов “Согласование”, “Подписание”, “Регистрация”, “Уведомление”, “Ознакомление” теперь называются в соответствии с типом этапа, т.е. “Согласующие”, “Подписанты”, “Регистратор” и “Получатели”.
  2. В маршрутах для этапов “Настраиваемое задание” и “Регистрация” добавлены флажки “Редактировать карточку” и “Редактировать любые файлы”, при установке которых сотруднику, взявшему такое задание в работу, выдаются дополнительные права на редактирование полей карточки и редактирование любых приложенных файлов соответственно.
  3. Добавлен список “Роли, которым доступен web-клиент” в карточку “Настройки сервера”, по которым можно ограничить доступ к web-клиенту всем сотрудникам (если список пустой) или сотрудникам в определённых ролях. Укажите роль “Все сотрудники” (указана по умолчанию), если доступ к web-клиенту должны иметь все сотрудники в системе.
  4. В таблице TaskHistory отключен внешний ключ для колонки ParentRowID. Это позволяет не зависеть от порядка вставки строк в TaskHistory, когда выполняется вставка или удаление иерархии строк (актуально для расширений).
  5. При скрытии области предпросмотра в TessaClient теперь выводится всплывающее уведомление с подсказкой о том, как её снова отобразить.
  6. Убрана настройка “Разрешить отрицательные сроки” в настройках типового решения. Отрицательные сроки теперь по умолчанию разрешены, чтобы сроки, задаваемые динамически в скриптах, не привели к невозможности выполнить маршрут из-за того, что рассчитанная дата оказалось раньше текущей даты.
  7. В desktop-приложениях TessaClient, TessaAdmin и Tessa Applications в конфигурационном файле *.exe.config добавлена настройка “SoftwareRendering” (по умолчанию false). Если указано “true”, то система не использует аппаратное ускорение при выводе на экран, что замедляет работу приложения, но может исправить ошибки совместимости с приложениями, которые организуют терминальные сессии. Используйте настройку с осторожностью, только в ситуации, когда она исправляет существующие ошибки, и предварительно убедившись в её работоспособности на компьютерах пользователей. Если эта настройка включена, то также установите настройку “FadeAllowed” равную “false” в конфигурационном файле.
  8. Срок этапа “Задача” по умолчанию (в момент добавления этапа) теперь равен 1 рабочему дню, как и в других этапах.
  9. Недоступность вкладки “Маршрут” при редактировании карточки в шаблоне теперь явно обозначено подсказкой, а маршрут и другие поля скрыты. Используйте шаблоны этапов для автоматического построения маршрута.
  10. Если при создании карточки по шаблону отсутствуют ошибки и возникают предупреждения о восстановлении структуры карточки (при несоответствии структуры карточки в шаблоне и типа карточки в метаинформации), то такие предупреждения больше не отображаются. Таким образом, при изменении секций типов карточек необязательно выполнять исправление всех карточек шаблонов, если такое изменение совместимо с новыми карточками (например, добавлено новое поле).
  11. В контроле “Список файлов” копирование файлов в буфер обмена теперь возможно по комбинации клавиш Ctrl+Insert, помимо Ctrl+C.
  12. Для диалоговых окон типа MessageBox в TessaClient добавлены сочетания клавиш: Y = Да, N = Нет, O (англ. раскладка) = ОК, C = Отмена.
  13. API: В дескрипторах типов этапов добавлена настройка PerformerCaption, позволяющая переопределять заголовок контрола исполнителей.
  14. API: Все контролы, блоки и формы в карточке теперь получают уведомления при переключении вкладки TabSelected и при исчезновении объекта из активной вкладки TabDeselected. Это позволяет реализовывать логику, основанную на том, виден ли объект пользователю. Например, отложенная загрузка данных при первом переключении на вкладку с контролом.
  15. API: Добавлено свойство ICardModel.Notifications типа INotificationUIManager, позволяющее упростить использование всплывающих уведомлений в расширениях и элементах управления.
  16. API: В методы IKrAcquaintanceManager.Send() добавлен параметр addSuccessMessage, определяющий необходимость добавить сообщение об успешной отправке в ValidationResult. По умолчанию сообщение теперь не добавляется.
  17. API: Добавлен интерфейс ICardServerPermissionsProvider, доступный на сервере. Он позволяет установить полные разрешения для любого из запросов к API карточек с учётом текущей системы прав доступа. При использовании типовых расширений это будет система правил доступа, доступная через интерфейс IKrTokenProvider. Интерфейс ICardServerPermissionsProvider не требует ссылок на расширения типового решения для установки таких прав.
  18. API: В контексте расширений IApplicationExtension добавлены обработчики событий ApplicationClosingBeforeCheck и ApplicationClosingAfterCheck, которые контролируют закрытие окна приложения TessaClient с возможностью добавить проверки или отменить стандартное поведение для закрытия. Устанавливайте обработчики в методе расширения Initialize, например: context.ApplicationClosingBeforeCheck += (s, e) => e.ForceClosing = true. Расширение зарегистрируйте как .WhenApplications(ApplicationIdentifiers.TessaClient).
  19. API: Добавлен метод IValidationResultBuilder.Add(IValidationResultItem) для добавления отдельных сообщений валидации, а также метод-расширение AddRange для массового добавления сообщений.
  20. API: Добавлено свойство IFormViewModel.FilePreviewIsHidden, которое позволяет в расширениях переопределить видимость области предпросмотра индивидуально для отдельных вкладок карточки.
  21. API: В классах ***StageTypeHandler для типовых этапов маршрута добавлена возможность наследоваться и переопределять методы для своих типов этапов. Их регистрация возможна в своём классе Registrator с указанным [Registrator(Order = 1)], где для IKrProcessContainer в методе FinalizeRegistration выполняется повторная регистрация дескриптора этапа вызовом RegisterHandler (см. код типовой регистрации). Это позволит заменить типовое поведение у этапа регистрации, не создавая тип этапа с собственными клиентскими расширениями, форматтерами и др. Также класс-наследник ***StageTypeHandler должен регистрироваться в контейнере Unity по аналогии с типовым классом.
  22. API: По умолчанию время жизни токена KrToken (при условии неизменности карточки) сокращено с 2 дней до 2 часов. После завершения времени жизни он будет автоматически перерасчитан расширениями. Для изменения этого значения создайте класс, наследуемый от KrTokenProvider, и установите свойство TokenExpirationTimeSpan, после чего зарегистрируйте класс в Unity в серверных расширениях (см. описание класса KrTokenProvider).
  23. API: Для метода CardHelper.CopyFiles добавлен параметр copySignatures, позволяющий копировать файлы вместе с подписями для последней версии.
  24. API: В скриптах маршрутов добавлено свойство WorkflowContext.AffectMainCardVersionWhenStateChanged. Установите его равным false, когда требуется, чтобы при изменении состояния документа не увеличивалась версия карточки.
  25. API: Обновлены библиотеки: BitMiracle.LibTiff.NET 2.4.624, Linq2DB 2.5.0, Quartz 3.0.7.

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

  1. Исправлена обработка ошибок, возникающих при выполнении вторичных процессов маршрутов, в т.ч. при нажатии кнопок процессов.
  2. Исправлено выполнение вторичных процессов маршрутов (например, кнопок “Зарегистрировать” и “Отменить регистрацию”) для типов карточек, у которых отключены типы документов.
  3. В контроле “Строка” с типом “Расширенный (Avalon)” исправлено контекстное меню, отображаемое по правой кнопке мыши.
  4. Исправлена ошибка при сохранении настроек для этапа “Задача” в маршруте.
  5. Для этапа “Задача” исправлено отображение настройки “Вернуть на роль” в таблице маршрута, если указан флажок “Вернуть на роль”, но не указана роль, т.е. подразумевается возврат на автора задачи.
  6. Поле “От имени” в этапах маршрута в документе (не в шаблоне) больше нельзя изменить, оно доступно только для чтения. Это предотвращает возможность указать любого сотрудника как автора независимо от настроек текущего сотрудника, редактирующего маршрут.
  7. Для этапа “Создание карточки” исправлено создание по типу документа.
  8. Если в этапе “Доработка” не стоит флажок “Увеличивать цикл”, то вариант завершения называется “Продолжить процесс”.
  9. Улучшены сообщения об ошибках при чтении схемы данных.
  10. Исправлен возможный запуск процесса сразу с этапа “Доработка”, если этот запуск выполнен из процесса по другой карточке (т.е. маршрут в одной карточке запускает процесс в другой карточке).
  11. В таблице KrSecondaryProcessContextRoles (список контекстных ролей в кнопках процессов и др., ранее таблица называлась KrButtonContextRoles) в сборке 2.7.3 у колонки RoleName изменился идентификатор, из-за чего при обновлении с предыдущих версий на 2.7.3 возникала ошибка SQL при наличии контекстных ролей. В этой сборке идентификатор возвращён к старому значению.
  12. В web-клиенте задействована Brotli-компрессия, которая значительно сократила объём трафика, скачиваемого при первичной инициализации web-приложения, когда в кэше браузера отсутствуют данные по предыдущим запускам.
  13. В web-клиенте исправлен экспорт представлений на Mac OS X.
  14. В web-клиенте исправлено отображение информации по service worker.
  15. В web-клиенте исправлено отображение и работоспособность плиток, связанных с массовым ознакомлением. Ошибка появилась в сборке 2.7.
  16. В листе согласования исправлено отображение колонки “До завершения” в таблице с текущими заданиями. Ошибка появилась в сборке 2.6.
  17. Исправлены настройки представлений для множественного выбора при заполнении таблицы в диалоге “Мои замещения”. Теперь из представления можно выбрать несколько строк и сразу их добавить.
  18. При отправке ознакомления из маршрута пользователю теперь не отображаются сообщения вида “Отправка успешно завершена”.
  19. Исправлен вывод даты/времени завершения задачи в таблице маршрута в колонке “Срок”. Строка, выводимая в таблице, обновится только после изменения даты/времени в настройках.
  20. Исправлен пересчет маршрута для шаблонов, у которых изменена группа этапов.
  21. Исправлено добавление этапа маршрута в карточке документа в конец группы, если у следующей группы в начале есть скрытые этапы (например, добавленные в шаблоне автоматически).
  22. Исправлено представление “Типы” в папке “Типовое решение” таким образом, чтобы оно не отображалось при выборе в режиме “только тип карточки” (например, при добавлении строки в карточку настроек “Типовое решение”), и чтобы возвращаемые в колонке “Тип карточки” значения были корректны для выводимых строк с типами документов.
  23. Исправлены возможные проблемы в расширениях на загрузку и сохранение карточек, которые из-за своих ошибок могли предотвращать запуск приложений TessaClient или TessaAdmin в случае, если ошибки возникали при действиях с карточкой-сателлитом сотрудника.
  24. Оптимизирована загрузка карточек-сателлитов, а также карточек, для которых не включена подсистема маршрутов.
  25. Исправлено поведение при сохранении карточки по горячей клавише, когда пользователь выполняет ввод значения в контрол “Ссылка” или “Список” в режиме ручного ввода. Теперь значение автоматически считается подтверждённым.
  26. Инициализация клиентских приложений через API IApplicationInitializer или IClientInitializer теперь выполняется без ошибок в случае, если в контейнере Unity не зарегистрированы все клиентские зависимости, которые требуются платформенным расширениям. Такие расширения при инициализации будут пропущены. Также объект IInitializationContainer будет заполнен при успешной инициализиации для любых приложений. Это полезно при разработке кастомизированных клиентских приложений на API Tessa (например, консольных утилит).
  27. Исправлена визуализация маршрутов для согласования (ошибки появились в сборке 2.6) и подписания.
  28. Исправлена отправка заданий доп. согласования, при которой строка в таблице истории заданий вставлялась сразу с указанием статуса “в работе”, хотя задание фактически не было взято в работу. Также у строки в истории был указан неправильный идентификатор типа задания, что приводило к проблемам при визуализации. Исправление работает только для новой отправки на доп. согласование. Ошибка появилась в сборке 2.6.
  29. При делегировании заданий согласования и подписания с указанным комментарием в тексте задания теперь отражается не только комментарий, но и текст с названием этапа и комментарием инициатора.
  30. Представление “Мои документы” теперь корректно подсвечивает документы в состояниях, связанных с подписанием.
  31. Исправлены некоторые сообщения об ошибках при некорректном вводе метаинформации представлений.
  32. Исправлены скрипты миграции с версий 2.5.x и ранее на текущую версию, в которых миграция выполнялась с ошибкой. Ошибка появилась в 2.7.3.
  33. При миграции с версий 2.5.х (и ранее) исправлен перенос этапов согласования, в которых в имени согласующего присутствуют символы кавычек или другие символы, требующие эскейпинг в формате JSON. Ошибка появилась в 2.6.
  34. При миграции с версий 2.5.х (и ранее) исправлен перенос этапов согласования, где у согласования присутствовало задание доп. согласования с ровно одним заданием комментирования. Ошибка появилась в 2.6.
  35. При миграции с версий 2.5.х (и ранее) исправлен перенос этапов согласования, где строка с этапом “Доработка” не скрывалась в маршруте, если задание доработки неактивно (например, при активном согласовании).
  36. Исправлена загрузка карточек с полями типа Date, DateTime и Time на PostgreSQL, если в текущем приложении не зарегистрирована сборка расширений Tessa.Extensions.PostgreSql.Server.dll. Актуально для кастомизированных приложений на API Tessa и для автоматизированных тестов.
  37. Исправлено изменение состояния документа при отказе в согласовании и подписании с последующим переходом на доработку. Теперь состояние документа будет “Не согласовано” или “Отказано” вместо “На доработке”. В реестре “Мои документы” такие строки выделяются красным. Ошибка появилась в 2.6.
  38. Исправлена сортировка специальных ролей (таких как “Все роли и заместители”) при выборе из представления “Доступные роли” для PostgreSQL.
  39. В этапах маршрутов исправлено указание контекстных ролей в поле “От имени”. Если контекстная роль не возвращает сотрудников, то этап пропускается. Если возвращается более одного сотрудника, то используется первый из возвращённых.
  40. Для расширений инициализации ServerInitializationExtension и ClientInitializationExtension исправлена обработка ошибок, возникших в методах BeforeRequest.
  41. Для расширений исправлено асинхронное изменение (не в потоке UI) значений свойств для настроек карточки ICardModelSettings, в т.ч. признак того, что область предварительного просмотра должна быть скрыта или отображена.
  42. Исправлены возможные проблемы при завершении работы desktop-приложений (TessaClient, TessaAdmin, Tessa Applications), при котором не все записи могли быть записаны в клиентский лог, если запись производилась непосредственно перед завершением.
  43. Улучшена обработка критических ошибок в desktop-приложениях (TessaClient, TessaAdmin, Tessa Applications). Предотвращены возможные проблемы с “зацикливанием” окон с ошибками в ситуации, когда возникает критическая ошибка в DirectX или другая ошибка отрисовки.
  44. Шаблоны файлов “Мои задания” и “Протокол совещания” теперь добавляют файл с названием по строке локализации.
  45. Исправлены возможные проблемы с блокировками в БД при пересчёте календаря.
  46. Исправлено сохранение схемы после изменения порядка физических колонок внутри комплексной при отсутствии других изменений.
  47. Исправлена строка локализации, из-за которой флажок “Ручное редактирование номера” в карточке “Правило доступа” не локализовывался в web-клиенте. Также упорядочен список флажков в карточке.
  48. Исправлены права доступа для заданий “Регистрация” и “Настраиваемая задача” в процессе маршрутов.
  49. Исправлен расчёт разрешений при наличии токенов с правами при загрузке и удалении карточки. Если в токене имеются полные права (на ту же версию карточки), то проверок по правилам доступа больше выполняться не будет, что особенно актуально на сервере в бизнес-процессах или в Chronos.
  50. Исправлен расчёт разрешений на файлы при отправке задания “Постановка задачи”. Такое задание считается автоматически берущимся в работу, поэтому любые сотрудники, которым доступна “Постановка задачи” как исполнителям, получают права на добавление файлов и редактирование собственных файлов.
  51. Исправлено переименование колонки в MS SQL Server, если в имени колонки присутствуют символы, требующие эскейпинг по правилам этой СУБД, такие как одиночная или двойная кавычка.
  52. При редактировании метаинформации представлений при невозможности отобразить всплывающую подсказку из-за ошибки - подсказка не будет отображаться, окно с ошибкой при этом не откроется. Это актуально, например, при наличии колонок представлений, для которых указаны несуществующие в схеме данных колонки, при этом всплывающая подсказка на таких колонках отображала модальные окна с ошибками.
  53. Для массового ознакомления исправлено именование в различных частях системы. Вместо “MassInforming” теперь везде используется название “Acquaintance”. Это не влияет на пользователей системы, т.к. в интерфейсе уже использовалось название “Acquaintance” для английской локализации (в русской локализации по-прежнему используется “Массовое ознакомление”).
  54. Исправлено соответствие количества часов, выводимых в представлении, и количества часов, выводимых в заданиях в карточке или во всплывающих уведомлениях. Теперь до 5 рабочих дней включительно отображается одно и то же значение, а начиная с 5.5 дней в карточке начинает указывать срок в неделях (в представлении большие сроки указываются только в днях).
  55. Исправлено расположение дополнительных вариантов завершения в заданиях на этапе “Настраиваемая задача” в маршруте. Теперь такие варианты расположены выше, чем “Отложить” и другие системные пункты меню.
  56. В представлении RefDocumentsLookup, которое используется в контроле “Ссылки” в различных карточках документов, теперь по умолчанию указана роль “Все сотрудники”, как это было до её исчезновения в сборке 2.6.
  57. Если в диалоге проверки ЭЦП в TessaClient отсутствуют данные, полученные из базы данных (например, если подпись “фейковая” и данных нет), то теперь вместо падения с ошибкой диалог пропускает проверку таких подписей. Другие подписи будут проверены.
  58. Исправлен порядок сортировки строк для разных языков в библиотеках локализации, теперь порядок сортировки стабильный.
  59. При изменении состояния карточки в маршруте теперь автоматически увеличивается версия карточки документа, что приводит к тому, что уже рассчитанные права доступа становятся недействительными. Например, если пользователь имел права на редактирование карточки до регистрации документа и не имел после, то теперь он их гарантированно потеряет, даже если он открыл ту же карточку сразу в двух приложениях, в одном из которых выполнил регистрацию.
  60. Если администратор вручную разблокирует пользователя через карточку сотрудника, то информация по неудачным попыткам входа теперь сбрасывается, что предотвращает повторную блокировку при первом же неудачно введённом пароле после разблокировки.
Back to top