Пример настройки маршрута "Заказ новой техники" с использованием многоэкземплярности

Добавление и настройка нового маршрута с использованием многоэкземплярности на примере заявки на заказ новой техники для нескольких сотрудников одновременно.

Многоэкземплярность позволяет при создании объекта на шаге маршрута автоматически "размножить" его: создать несколько объектов, отличающихся значением отдельного атрибута головного объекта / предыдущего шага. Например, при выборе в запросе нескольких ИТ-активов для каждого ИТ-актива может быть создана отдельная задача.

В примере создается заявка на закупку техники. После добавления заявки в ней автоматически создается задача на выявление требований. В ходе задачи выявляются требования на закупку техники, в результате чего заполняется атрибут заявки "Заказчики". В атрибут попадают сотрудники, которым нужна новая техника. После заполнения данного атрибута и закрытия задачи на выявление требований, автоматически создается задача на закупку техники для каждого сотрудника. Когда все задачи завершены, исходная заявка закрывается. До решения задач закрытие заявки невозможно, для этого создается задача контроля.

Изменение объектной модели

Чтобы реализовать данный маршрут в системе, необходимо добавить в объектную модель тип и атрибуты.

Объектная модель изменяется в интерфейсе администратора.

Для настройки выполните следующие действия:

  1. В классе "Задача" (task) добавьте тип с параметрами:

    • Название: "Заказ новой техники".
    • Код: произвольный.
  2. В типе "Заказ новой техники" добавьте атрибут с параметрами:

    • Название: "Заказчик".
    • Тип: "Ссылка на бизнес-объект".
    • Код: произвольный.
  3. Добавьте атрибут в группу атрибутов, например, "Информация по задаче", чтобы он отобразился на карточке объектов типа "Заказ новой техники".
  4. В классе "Заявка" (serviceCall) добавьте атрибут с параметрами:

    • Название: "Заказчики".
    • Тип: "Набор ссылок на бизнес-объект".
    • Код: произвольный.
  5. Добавьте атрибут в группу атрибутов, например, "Краткая информация", чтобы он отобразился на карточке заявки.

После внесения изменений в объектную модель запустите задачу планировщика "Обновление настроек объектной модели" (bpm_objectModel).

Объектная модель дополнена для настройки маршрута.

Добавление маршрута

Чтобы добавить маршрут, выполните следующие действия:

  1. В интерфейсе оператора откройте вкладку "Бизнес-процессы" → "Маршруты".
  2. Нажмите кнопку Добавить. На форме добавления заполните поля и нажмите кнопку Сохранить.

    Поля на форме добавления маршрута:

    • Название: "Заказ новой техники".
    • Тип головного объекта: "Запрос на обслуживание".

Коды решения для маршрута

Добавление кодов решения

Чтобы добавить код решения, выполните следующие действия:

  1. Откройте вкладку "Бизнес-процессы" → "Справочники" → "Коды решения".
  2. Нажмите кнопку Добавить. На форме добавления заполните поля и нажмите кнопку Сохранить.

    Поля на форме добавления кода решения:

    • Название: "Выполнено".
    • Код: resolved.

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

Чтобы связать маршрут с кодом решения, откройте карточку маршрута, на вкладке "Параметры объекта" — "Коды решений" нажмите кнопку Связать, выберите код решения "Выполнено" и нажмите кнопку Сохранить.

Шаблоны шага

Шаблоны шага для маршрута "Заказ новой техники":

  • Задача на выявление требований.
  • Задача на закупку.
  • [Служебная] Задача контроля.

Создание шаблонов шага

Чтобы добавить шаблон шага, откройте карточку маршрута, на вкладке "Шаблоны" нажмите кнопку Добавить, заполните поля формы добавления и нажмите кнопку Сохранить.

Параметры шаблона шага "Задача на выявление требований":

  • Название: "1. Задача на выявление требований".
  • Тип шага: "Задача на заказ техники".
  • Атрибут связи с головным объектом: "В рамках заявки".
  • Атрибут с кодом решения — не заполняется.
  • Тема: "Задача на выявление требований".
  • Нормативное время — время, которое будет отведено на согласование.
  • Ответственный — сотрудник, команда или роль, в ответственность которой будет передана задача.
  • Участники — не заполняется.
  • Описание: "Выявить заказчиков, которым необходимо оборудование, запрашиваемых в заявке ${source.number}".

Параметры шаблона шага "2. Задача на закупку":

  • Название: "Задача на закупку".
  • Тип шага: "Задача на заказ техники".
  • Атрибут связи с головным объектом: "В рамках заявки".
  • Тема: "Задача на закупку".
  • Нормативное время — время, которое будет отведено на выполнение задачи.
  • Ответственный — сотрудник, команда или роль, в ответственность которой будет передана задача.
  • Участники — не заполняется.
  • Описание: "Заказать технику в рамках заявки ${source.number}".

Параметры шаблона шага "[Служебная] Задача контроля":

  • Название: "[Служебная] Задача контроля".
  • Тип шага: "Проверка активностей по головному объекту".
  • Атрибут связи с головным объектом: "В рамках заявки".
  • Атрибут для хранения результата — не заполняется.
  • Тема: "[Служебная] Задача контроля".
  • Нормативное время — не заполняется.
  • Ответственный — не заполняется.
  • Участники — не заполняется.
  • Описание — не заполняется.

Настройка действий для шаблонов шага

Чтобы настроить действия для шаблона шага, откройте карточку шаблона, на вкладке входящих/исходящих действий в соответствующем списке нажмите кнопку Добавить, заполните поля формы добавления и нажмите кнопку Сохранить.

Для шаблона шага "Задача на выявление требований":

  1. На вкладке шаблона "Входящие действия" в списке "Действия по событиям в системе" добавьте действие с параметрами:

    • Исходное событие: "Создание объекта".
    • Действие: "Создать".
    • Целевой шаблон: "1. Задача на выявление требований".
    • Целевой статус: "Запланирована".
  2. На карточке созданного действия нажмите кнопку Включить асинхронно.

  3. На карточке созданного действия в блоке "Копирование атрибутов в ГО" добавьте действие с параметрами:

    • Исходный атрибут: "Описание".
    • Предварительная обработка — не заполняется.
    • Действие: "Заменить".
    • Целевой атрибут: "Описание".

    Копирование атрибутов необходимо, чтобы при создании задачи заполнялся обязательный атрибут "Описание" и не возникало ошибки при создании.

    Если атрибут "Описание" не является обязательным, действие добавлять не требуется.

  4. На вкладке шаблона "Исходящие действия" в списке "Действия при смене статуса с головным объектом" добавьте действие с параметрами:

    • Исходный шаблон: "1. Задача на выявление требований".
    • Исходный статус: "В работе".
    • Действие: "Изменить".
    • Целевой статус: "В работе".
    • Целевой код решения — не заполняется.
  5. На карточке созданного действия нажмите кнопку Включить асинхронно.

  6. На вкладке шаблона "Исходящие действия" в списке "Действия при смене статуса на другие шаги" добавьте действие с параметрами:

    • Исходный шаблон: "1. Задача на выявление требований".
    • Исходный статус: "Выполнена" (resolved).
    • Действие: "Создать".
    • Целевой шаблон: "[Служебная] Задача контроля".
    • Целевой статус: "Инициирован".
    • Целевой код решения — не заполняется.
  7. На карточке созданного действия нажмите кнопку Включить асинхронно.

Для шаблона шага "[Служебная] Задача контроля":

  1. На вкладке шаблона "Входящие действия" в списке "Действия при смене статуса в других шагах" добавьте действие с параметрами:

    • Исходный шаблон: "2. Задача на закупку".
    • Исходный статус: "Выполнена" (resolved).
    • Действие: "Изменить".
    • Целевой шаблон: "[Служебная] Задача контроля".
    • Целевой статус: "Проверка".
  2. На карточке созданного действия нажмите кнопку Включить асинхронно.
  3. На вкладке шаблона "Исходящие действия" в списке "Действия при смене статуса на другие шаги" добавьте действие с параметрами:

    • Исходный шаблон: "[Служебная] Задача контроля".
    • Исходный статус: "Инициирован".
    • Действие: "Создать".
    • Целевой шаблон: "2. Задача на закупку".
    • Целевой статус: "Запланирована".
    • Создать экземпляры шага: "Из головного объекта".
    • По атрибуту головного объекта: "Заказчики".
    • Сохранить в атрибут экземпляра шага: "Заказчик".

    На каждого сотрудника, который добавляется в "Заказчики" заявки, будет создана отдельная задача на закупку оборудования, где он будет являться заказчиком.

  4. На карточке созданного действия нажмите кнопку Включить асинхронно.

  5. На вкладке шаблона "Исходящие действия" в списке "Действия при смене статуса с головным объектом" добавьте действие с параметрами:

    • Исходный шаблон: "[Служебная] Задача контроля".
    • Исходный статус: "Успешно".
    • Действие: "Изменить".
    • Целевой статус: "Выполнена" (resolved).
    • Целевой код решения: "Выполнено".

Для шаблона шага "Задача на закупку":

  1. На вкладке шаблона "Исходящие действия" в списке "Действия при смене статуса на другие шаги" добавьте действие с параметрами:

    • Исходный шаблон: "2. Задача на закупку".
    • Исходный статус: "Выполнена" (resolved).
    • Действие: "Изменить".
    • Целевой шаблон: "[Служебная] Задача контроля".
    • Целевой статус: "Проверка".
  2. На карточке созданного действия нажмите кнопку Включить асинхронно.

Настройка статусов для задачи контроля

Задача контроля используется для наблюдения за статусами созданных задач и закрытия основной заявки. Заявка не будет завершена, пока не завершится задача контроля. Задача контроля завершается, когда все задачи выходят из активных статусов.

Чтобы настроить активные статусы, выполните действия:

  1. Перейдите на карточку маршрута "Заказа новой техники", на вкладке "Шаблоны" нажмите на тип шага "Задача на заказ новой техники". Откроется карточка типа шага.

  2. На карточке типа шага в блоке "Активные статусы" нажмите кнопку Настроить. Откроется форма добавления статусов.

  3. На форме укажите статусы "Запланирована", "Возобновлена", "Отложена", "В работе" и нажмите кнопку Сохранить.

Активные статусы настроены.

При выходе всех подконтрольных задач из активных статусов задача контроля перейдет в статус "Успешно", а заявка будет завершена.

Проверка настройки

Чтобы выполнить проверку настройки маршрута, перейдите на карточку маршрута и на панели действий карточки нажмите кнопку Проверить настройку.

При успешной настройке откроется форма с сообщением "Маршрут настроен корректно".

При возникновении ошибок откроется форма с описанием ошибок.

Для устранения ошибок на форме необходимо:

  • включить асинхронно все действия с шагами;
  • включить все действия с атрибутами.

Связь маршрута с услугой

Чтобы связать маршрут с услугой, откройте карточку услуги "Заказ техники", нажмите кнопку Редактировать в блоке "BPM. Маршрут для бизнес-процесса", выберите маршрут "Заказ новой техники" и нажмите кнопку Сохранить.

Настройка маршрута выполнена.

Все заявки типа "Запрос на обслуживание", зарегистрированные по услуге "Заказ техники", будут обрабатываться по настроенному маршруту.