Появившийся в новых версиях "простой бизнес-процесс" позиционируется как легкий инструмент для автоматизации типовых бизнес-процессов компании с возможностью (но не обязательностью) вложения объекта. Зачастую подразумевается именно процесс с заданиями сотрудникам для выполнения. Но некоторые процессы могут состоять только из самого запроса/запуска процесса и получения уведомления о их завершении.
Рассмотрим на примере несколько распространенных кейсов, для решения которых ранее требовалось большое количество ручного труда или привлечение разработчиков/администраторов и (что не рекомендуется) прямые запросы к БД.
Будем использовать простой бизнес-процесс с равнозначными вложениями любых типов и всеми текущими возможностями No-code.
В базовом решении права на документы уволенного сотрудника передаются его руководителю, но отметка Ответственного при этом остается неизменной. Это может привести к ошибкам вычислений при прохождении маршрутов. Тем более у договорных документов в компаниях с централизованными закупками. Допустим, при децентрализации закупок требуется массово распределить документы по ответственным для продолжения работы.
Настроим проверку массива договорных (для примера) документов на наличие уволенных сотрудников в качестве ответственных и их замену на руководителей подразделения, указанного в документе.
В качестве критерия процесса укажем ограничение по возможности запуска сотрудниками.
В качестве схемы построим простой цикл с предварительным условием и уведомлением о завершении процесса или отсутствии документов для замены.
Укажем нужные параметры для вычисления:
Список подразделений получим на стартовом блоке как коллекцию всех подразделений во всех вложениях задачи, где ответственный – сотрудник с закрытой карточкой.
Для удобства сотрудников, указываем Тему задачи при выборе процесса:
На блоке предварительного условия в текущем примере поставлено сравнение разности количества всех вложений с списком исправленных документов. Аналогично отработает проверка количества элементов в параметре Список подразделений в документах (если больше 0, то «Да»).
Так же при старте блока Условие выбираем Подразделение, для документов которого будем проводить замену ответственного; и убираем выбранное подразделение из параметра Список подразделений. Таким образом мы последовательно будем забирать из общего списка подразделений по одному элементу.
При установке условия параметру списка документов эти действия необходимо перенести на блок скрипта ниже.
При завершении блока условия с результатом «Да» проводим изменение свойств объектов: меняем ответственного:
И записываем в Список исправленных документов все вложения с данным подразделением.
Блок «Ожидание» устанавливаем с выражением «Текущая дата и время», это позволит притормозить выполнение блока условия повторно (до завершения выполнения изменения свойств).
В качестве результата получаем массив документов с Ответственными = Руководителями указанных в документе подразделений вместо уволенных сотрудников.
Однако, не всегда ответственного можно прямо вычислить из карточки документа. Рассмотрим более сложный кейс.
При смене СЭД и миграции документов нередки случаи несовпадения объектов Ответственный и Подразделение между архивной и новой системой. Например, ответственный за документ был уволен и отсутствует/размещен в архиве в новой системе. Такие документы чаще всего получают значения Служебный пользователь/Служебное подразделение.
Кейс заказчика – по списку таких сотрудников указать нового ответственного и заменить указанное служебное подразделение на подразделение нового ответственного.
Стандартное решение – список запросов к базе или модификация утилиты импорта из таблицы с откорректированными значениями.
Решение силами No-code – простой бизнес-процесс.
Предварительные действия:
Важно проверить наличие заместителя по каждому из указанных в роли сотрудников для замены или добавить в вариант процесса соответствующие проверки и альтернативные действия.
Создадим нужный вариант процесса:
Укажем необходимы для работы параметры:
Здесь и далее можно определенным образом упростить схему, используя только три из этих параметров. Но для наглядности происходящих вычислений разобьем на составляющие.
Алгоритм процесса схож с примером выше:
Возвращаемся к предварительному условию и проверяем наличие незаменённых сотрудников.
По завершению замен отправляем уведомление Инициатору.
В результате – во вложенных в задачу документах произведена замена Ответственных и Подразделений по предоставленной матрице без прямых запросов к базе.
Важный момент – снятие блокировки поля Подразделение в данном случае – изменение свойства Регистрация у договорного документа. Именно поэтому важно установить в критерии варианта процесса проверку запускающего сотрудника и провести предварительный анализ допустимости такого действия (отсутствие настройки регистрации по подразделению, например).
По всем указанным кейсам нам удалось решить запрос заказчика силами менеджера по настройке бизнес-процессов без рисков, свойственных использованию прямых запросов к базе данных.
Среди дальнейших кейсов по использованию простого бизнес-процесса:
Авторизуйтесь, чтобы написать комментарий