Платформа TESSA 3.5.0 расширяет функции маршрутов и бизнес-процессов, упрощает работу с файлами, и это ещё не всё…
В первом посте было рассказано про обновлённую архитектуру и менеджер приложений.
В предыдущем посте перечислен ряд возможностей web-клиента. Есть и другие интересные события, про которые мы не успеем рассказать в рамках этого материала, для них выделим место в записи под номером “часть 4”.
Маршруты
В согласуемых документах часто возникает необходимость параллельной работы с файлами. Каждый согласующий создаёт копию документа, редактирует её, а впоследствии все правки консолидируются, в т.ч. автоматизированными средствами слияния документов Word.
По мере того, как документ движется по маршруту и проходит несколько циклов согласования, увеличивается и количество копий, и количество версий одних и тех же файлов. Новая группировка по циклам согласования призвана упростить работу с согласуемыми файлами.
Версии одного и того же файла отображаются в виде отдельных виртуальных файлов в рамках цикла. Так можно посмотреть, как выглядел согласуемый документ после редактирования на том или ином цикле.
Могут отображаться файлы (и версии) со всех циклов, только с последнего цикла, или с последнего и предыдущего циклов. Это полезно на этапе доработки, когда новый цикл уже начался, но инициатору важны файлы на только что завершившемся цикле.
Группировку можно переключить в меню рядом с файлами.
В карточке настроек “Типовое решение” указываются правила автоматического включения группировки по заданным типам документов и состояниям.
Там выбирается режим отображения по умолчанию.
Web-клиент тоже поддерживает новую группировку.
Появилась возможность отправлять дочернее доп. согласование для другого задания доп. согласования, без ограничения вложенности. Дочерние доп. согласования выводятся в отдельной таблице в задании.
Новый флажок “Не возвращать на доработку” в этапе “Подписание” позволяет перейти к следующему этапу подписания, если текущее задание завершено с отказом в подписании.
Этап “Диалог” может создать карточку, выводимую в диалоге, по указанному типу карточки или документа. В дополнение к этому появилась возможность указать шаблон карточки, по которому создаётся карточка в диалоге, с уже заполненными полями или даже с приложенными файлами.
Во вторичных процессах-кнопках поле “Контекстные роли” заменено на “Доступно ролям”. В нём могут быть указаны не только контекстные, но и любые другие роли, которые будут проверены при нажатии на кнопку, но которые не влияют на видимость кнопки в момент открытия карточки.
Конструктор бизнес-процессов
Используя подсистему маршрутов, можно быстро настроить рабочие процессы, охватывающие согласование, подписание, исполнение и регистрацию документов.
Более сложные процессы настраиваются в конструкторе бизнес-процессов с поддержкой подпроцессов и версий процессов, и с low code настройкой, включая типы условий и функцию привязки параметров.
С версии TESSA 3.5.0 появился набор действий, цель которых – быстро настроить бизнес-процессы “как в маршрутах”.
Процессы могут совмещать действия в группе “Маршруты” с любыми действиями, например, с действием “Уведомление”.
Действие “Инициализация маршрута” позволяет указать инициатора процесса и комментарий к циклу маршрута. Здесь их можно привязать к полям карточки.
Технически такие “сложные” действия, как “Доработка”, можно организовать, комбинируя стандартные действия (“Задание”, “Смена состояния”, “Уведомление”) в пределах одного узла – это возможность конструктора процессов TESSA.
Однако, действия-“Маршруты” имеют множество удобных настроек, по аналогии с настройками в этапах маршрута. Их использование способствует быстрой разработке процесса и простоте его сопровождения.
В руководстве разработчика бизнес-процессов есть описание всех действий в группе “Маршруты” и инструкции по тому, как настроить процессы из примеров RoutingSamples.
Новое действие “Диалог” даёт возможность создать и показать карточку-диалог во многом аналогично тому, как это можно в одноимённом этапе маршрута.
У действий “Задание” и “Группа заданий” добавлена таблица “Диалоги”. Она связывает вариант завершения задания с отображаемым диалогом: при нажатии на кнопку задания будет отображаться диалог с дополнительными параметрами завершения.
На всякий случай уточним: всё описанное работает для пользователя и в web-клиенте тоже.
Схему бизнес-процесса можно экспортировать в .json файл и импортировать из него, отдельно от карточки бизнес-процесса. Такой файл содержит только единственную версию бизнес-процесса.
При импорте можно выбрать схему в нотации BPMN 2.0, созданную в специализированном приложении.
Нажав кнопку импорта, выберите формат файла “Процесс BPMN”.
Схема будет импортирована, после чего её можно доработать так, чтобы процесс функционировал в платформе TESSA для конкретных типов документов и заданий.
Ряд ограничений, связанных с поддержкой многообразных артефактов нотации BPMN 2.0, описан в руководстве вместе с инструкцией и примерами.
Сохранение карточки с файлами
По мере работы с системой пользователь прикладывает и изменяет файлы. Закончив их редактировать, он может сразу нажать кнопку процесса на левой панели, или же завершить своё задание. При этом файлы загружались на сервер в том же запросе на сохранение карточки, в котором выполнялось действие. Это приводило к ограничениям по обработке файлов на сервере, поскольку они могут быть не загружены целиком или загружены с ошибками к моменту, когда выполняется бизнес-логика, например, для действий при завершении задания.
В TESSA 3.5.0 мы реализовали ряд средств, упрощающих обработку для сохранения карточки с файлами. Для конечного пользователя ничего не изменилось – он прикладывает файлы и завершает задание, – а система теперь ведёт себя иначе.
Рассмотрим эти инструменты подробнее.
В конструкторе бизнес-процессов можно выбрать любую стрелку (переход) и указать ей новый “Режим обработки сигнала” – “После загрузки файлов”.
В отличие от асинхронной обработки (её можно установить здесь же), такой режим выполняет переход внутри обработчика веб-сервиса, не перенося обработку в фоновый процесс Chronos, что оптимизирует выполнение для недлительных действий (отправить задание или уведомление – это быстро, сконвертировать файл – нет).
В отличие от режима “По умолчанию”, содержимое файлов к этому моменту будет гарантированно загружено с компьютера пользователя на сервер, если оно присутствовало в рамках текущего запроса к серверу.
Также действие выполняется, если загрузка завершена, но с ошибками. Например, в нём можно проверить наличие файлов и убедиться, что файлы загружены без ошибок, а если с ошибками – показать пользователю сообщение.
Все действия с заданиями сохраняют файлы отдельным запросом с клиентского приложения на сохранение карточки, а уже потом выполняется действие с заданием вторым запросом. Это могут быть: взятие в работу и возврат из работы, откладывание задания и возврат из отложенного, завершение задания как с его удалением (например, кнопки “Согласовать”, “Отозвать”, “Делегировать”), так и без удаления (“Запросить комментарий”, “Изменить параметры как автор”), включая любые варианты завершения, добавленные в проектном решении.
Это происходит автоматически со стороны клиента, незаметно для пользователя. Если файлы не загружены, или возникли другие ошибки при первом сохранении, то задание не будет завершаться.
Такое поведение поддерживается и в TessaClient, и в web-клиенте. Оно не влияет на сохранение карточки посредством API.
Если по причине какой-то специфической обработки в расширениях на сохранение вы хотите восстановить предыдущее поведение (сохранение задания с файлами в рамках одного запроса), то укажите флажок “Разрешить сохранение с файлами” для определённого типа задания.
Мы не рекомендуем устанавливать этот флажок, если не обоснована его необходимость – т.е. нет особенной обработки одновременного действия с заданиями и файлами в расширениях. Для всех типовых заданий он не установлен.
Есть ещё одна особенность. Для кнопок маршрутов и бизнес-процессов при наличии любых изменений в карточке, включая изменения в файлах, такие изменения сначала всегда сохраняются отдельным запросом. И только после успешного сохранения всех изменений, включая файлы, выполняется действие по кнопке: запуск процесса, его отзыв и др.
Поэтому режим обработки сигнала “После загрузки файлов”, описанный выше, может понадобиться только в каких-то исключительных случаях, например, когда для задания выбрано “Разрешить сохранение с файлами” или когда карточка с файлами сохраняется средствами API как один запрос.
Файлы в таблицах
Мы подумали, что было бы удобно выбирать: работать с файлами как со списком или в форме таблицы.
На самом деле это контрол “Представление”, который был изменён расширением типа карточки “Список файлов в представлении”.
В расширении указывается алиас контрола и те же настройки, которые обычно задаются для контрола “Список файлов”.
А ещё в контроле “Представление” добавлены настройки “Автоматически выделять первую строку” и “Разрешить прокрутку”, описание доступно в руководстве администратора.
Таблица ведёт себя, как и обычный контрол файлов: выполняет предпросмотр при выделении строки, переключает выделенную строку при клике по другому контролу файлов, выделяет изменённые файлы жёлтым, а для подписанных – рисует значок подписи.
По кнопке с троеточием отображает меню контрола, а по правой кнопке на строке – меню файла, причём меню не надо отдельно настраивать расширениями – выполняются те же расширения, что и для обычного списка файлов, включая любые функции, добавленные в вашем проектном решении.
В API клиентских расширений для контрола доступен объект IFileControl со всеми его возможностями.
Работают стандартные и кастомные группировки, а по заголовку колонки можно сортировать.
По кнопке фильтрации доступен диалог с фильтрами по категории и названию.
В контроле “Представление” может быть указан алиас представления с любыми колонками и параметрами фильтрации. Если не указан – выводится стандартное представление, как на скриншотах выше. Можно добавлять новые колонки со свойствами файлов, которые доступны только в проектном решении, и с фильтрацией по этим колонкам, для этого задействуйте API расширений.
Примеры вывода файлов в табличной форме доступны в карточке “Автомобиль”.
В текущей версии контрол “Представление” отсутствует в web-клиенте, поэтому настройки расширения в нём также игнорируются. Мы над этим работаем, ждите в следующей версии TESSA…
Продолжение следует…
В системе TESSA есть и другие новые функции, которые будут описаны в следующем посте. Рассмотрим расширенную электронную подпись, новые кнопки в обсуждениях и многое другое.
Полный список изменений приведён в ReleaseNotes.