Глава 7: Рабочие процессы

Поздравляем — Вы дошли до этой главы! В ней мы познакомимся с мощной функциональностью рабочих процессов NocoBase. С её помощью Вы сможете автоматизировать действия в системе, экономить время и повышать эффективность.

Решение задания из предыдущей главы

Прежде чем начать, освежим в памяти задание из прошлой главы! Мы успешно настроили права на комментарии для роли «Партнёр»:

  1. Права на добавление: пользователь может публиковать комментарии.
  2. Права на просмотр: пользователь может видеть все комментарии.
  3. Права на редактирование: пользователь может редактировать только свои комментарии.
  4. Права на удаление: пользователь может удалять только свои комментарии.

Так Tom может свободно публиковать комментарии и видеть комментарии других, при этом редактировать и удалять может только свои.


Теперь реализуем автоматизацию: каждый раз, когда меняется ответственный за задачу, система автоматически отправляет уведомление новому ответственному с напоминанием о принятой задаче.

Рабочие процессы: плагин рабочих процессов — это мощный инструмент автоматизации, часто встречающийся в области управления бизнес-процессами (BPM).

Он используется для проектирования и оркестрации бизнес-процессов на основе моделей данных: с помощью триггеров и узлов потока процессы можно автоматизировать. Особенно подходит для повторяющихся, управляемых данными задач.

7.1 Создание рабочего процесса

7.1.1 Создание рабочего процесса в админке

Сначала переключитесь на роль Root — это администратор системы со всеми правами. Затем перейдите в модуль рабочих процессов.

Нажмите кнопку «Добавить» в правом верхнем углу и создайте новый рабочий процесс с базовыми параметрами:

  • Название: Системное уведомление при смене ответственного.
  • Триггер: выберите «Событие таблицы».

7.1.2 Пояснение к выбору типа триггера:

  1. Событие таблицы: срабатывает при изменении данных в таблице (добавление, изменение, удаление). Идеально подходит для отслеживания изменений в полях задачи, например смены ответственного.
  2. Расписание: автоматический запуск в заданное время — больше подходит для операций, связанных с расписанием.
  3. Событие после операции: привязывается к кнопке операции, срабатывает после её выполнения. Например, после нажатия кнопки «Сохранить» запускается задача.

В дальнейшем Вы откроете и другие триггеры: «Событие до операции», «Пользовательское событие», «Согласование» и др. — все они подключаются через соответствующие плагины.

В нашем сценарии используем Событие таблицы, чтобы отслеживать изменения «Ответственного» в таблице задач. Сохраните рабочий процесс, нажмите Конфигурация и перейдите к настройкам процесса.

demov3N-37.gif


7.2 Настройка узлов рабочего процесса

7.2.1 Настройка условий триггера

Без лишних слов — приступаем к построению автоматического уведомления.

Настроим первый узел и зададим условия запуска процесса.

  • Таблица: выберите «Таблица задач». (Какая таблица запускает процесс — её данные будут синхронно подгружены в процесс. Логично, что мы хотим запускать процесс именно при изменениях в таблице задач.)
  • Момент срабатывания: выберите «После добавления или обновления данных».
  • Поля-триггеры: выберите «Ответственный».
  • Условия срабатывания: выберите «ID ответственного существует» — так мы запустим уведомление только тогда, когда у задачи действительно есть назначенный ответственный.
  • Предзагружаемые данные: выберите «Ответственный», чтобы использовать его данные далее по процессу.


7.2.2 Включение канала «Внутренние сообщения»

Далее создадим узел отправки уведомления.

Перед этим создадим канал «Внутренних сообщений» для отправки уведомлений.

  • Перейдите в Менеджер плагинов, выберите «Управление уведомлениями» и создайте уведомление о задачах (task_message).
  • Канал создан — возвращаемся к рабочему процессу и добавляем узел «Уведомление».
  • Настройка узла: Канал: выберите «Уведомление о задачах». Получатель: выберите «Переменные триггера/Триггерные данные/Ответственный/ID» — так Вы попадёте в нового ответственного. Заголовок сообщения: «Напоминание о смене ответственного». Текст сообщения: «Вы назначены новым ответственным за задачу».

После настройки нажмите переключатель в правом верхнем углу, чтобы включить рабочий процесс.

Готово!

7.2.3 Тестирование уведомления

Долгожданный момент: вернитесь на страницу, откройте редактирование любой задачи, поменяйте ответственного и нажмите «Отправить» — система отправила уведомление!


Так выглядит настройка рабочего процесса. Но работа ещё не закончена:

В сгенерированном уведомлении нужно динамически подставлять информацию о задаче, иначе непонятно, какая задача передана.

7.3 Доработка рабочего процесса

7.3.1 Управление версиями

Когда Вы вернётесь к настройке рабочего процесса, окажется, что UI стал серым и недоступен для редактирования.

Не волнуйтесь: нажмите на «троеточие» в правом верхнем углу > Скопировать в новую версию — Вы попадёте на страницу настройки новой версии. Старая версия сохранится: нажав кнопку Версии, Вы можете в любой момент переключиться на историческую (внимание: версии, которые уже выполнялись, изменять нельзя!).

7.3.2 Улучшение содержимого уведомления

Сделаем уведомление персонализированным и добавим детали о передаче.

  • Отредактируйте узел уведомления.

Замените текст сообщения на: «По задаче «【Название задачи】» ответственный изменён на: 【Псевдоним ответственного】»

  • Справа в редакторе нажмите кнопку «Переменные» и подставьте название задачи и ответственного.
  • Затем включите эту версию через переключатель в правом верхнем углу.

После включения новой версии при повторном тесте система отображает в уведомлении название новой задачи.


Итог

Великолепно! Вы создали автоматизированный рабочий процесс на основе изменения ответственного за задачу. Это не только экономит ручные действия, но и повышает эффективность совместной работы. К этому моменту наша система управления задачами обладает мощной функциональностью.


Заключение и перспективы

К этому моменту Вы с нуля построили полноценную систему управления задачами, охватывающую создание задач, комментарии, настройку ролей и прав, рабочие процессы и системные уведомления.

Гибкость и расширяемость NocoBase открывают перед Вами безграничные возможности: в дальнейшем Вы можете глубже изучать другие плагины, создавать кастомные функции или строить более сложную бизнес-логику. После этого учебника Вы уже владеете базовыми приёмами и ключевыми концепциями NocoBase.

С нетерпением ждём Ваших новых идей! Если возникнут вопросы — обратитесь к официальной документации NocoBase или присоединяйтесь к сообществу NocoBase.

Продолжайте исследовать и создавать без ограничений!