Платформа 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.