Процесс запроса на закупку оборудования

Примечание

Порядок действий описан для пользователей, состоящих в группе Администраторы ECOS (ECOS_ADMINISTRATORS).

Данная статья знакомит пользователей с основами ECOS на примере создания бизнес-процесса «Заявка на закупку оборудования».

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

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

Далее мы пошагово реализуем описанный сценарий с использованием инструментов ECOS.

Для закупки оборудования нам потребуется следующая информация:

  • Инициатор – сотрудник, которому необходимо оборудование;

  • Согласующий – сотрудник, ответственный за согласование приобретаемого оборудования;

  • Название – наименование приобретаемого оборудования;

  • Стоимость – стоимость оборудования.

До создания самого бизнес-процесса необходимо создать ряд артефактов в следующем порядке:

Тип данных

Тип данных - основной источник метаданных работы с объектом.

Для создания типа данных перейдите в журнал «Типы данных» (Раздел администратора - Модель - Типы данных):

../_images/type_new_1.png

нажмите + - Создать новый тип:

../_images/type_new_2.png

Основное

На вкладке расположены основные данные по типу данных (объекту):

1

id

equipment-request

2

Имя

Заявка на покупку оборудования

3

Родитель

Кейс

4

Форма

Оставить по умолчанию (система автоматически сгенерирует форму по тем атрибутам, которые мы укажем далее, но автоматически сгенерированные формы нельзя редактировать)

5

Журнал

Оставить по умолчанию (система автоматически сгенерирует журнал по тем атрибутам, которые мы укажем далее, но автоматически сгенерированные журналы нельзя редактировать)

Конечная настройка вкладки:

../_images/tab_1.png

Атрибуты

На вкладке находится информация о свойствах, которые будут использованы для взаимодействия с объектом.

Для создания заявки нам потребуется следующая информация:
  • что нужно купить,

  • сколько стоит,

  • кто запрашивает

  • кто согласует закупку.

И, соответственно, нам потребуются следующие атрибуты (свойства объекта):

Id (1)

Имя (2)

Тип (3)

name

Название оборудования

Text

price

Стоимость

Number

requester

Инициатор

Person

approver

Согласующий

Person

Конечная настройка вкладки:

../_images/tab_2.png

Роли

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

Смотря на атрибуты, несложно догадаться, что нам потребуется на первом этапе две роли: Инициатор и Согласующий.

Примечание

Атрибут выбирается из указанных ранее атрибутов. По клику на поле выпадает список указанных атрибутов на вкладке «Атрибуты».

Id (1)

Имя (2)

Атрибут (3)

requestor

Инициатор

Инициатор

approver

Согласующий

Согласующий

Конечная настройка вкладки:

../_images/tab_3.png

Статусы

На вкладке описываются статусы, по которым будет перемещаться объект (наша заявка) по бизнес-процессу.

Рассмотрим самый простой и успешный вариант процесса.

Инициатор создаёт заявку (статус «Заявка создана»), далее отправляет её на согласование согласующему (статус «На согласовании»), после Согласующий одобряет заявку (статус «Одобрено»/«Согласовано»).

Id (1)

Имя (2)

request-created

Заявка создана

approving

На согласовании

approved

Согласовано

rejected

Отказано

Конечная настройка вкладки:

../_images/tab_4.png

Для сохранения нажмите «Создать» (Сохранить).

На этом создание базового варианта типа данных для заявки закончено.

Промежуточный итог

  • указали базовую информацию о типе данных: id, название типа данных,

  • форму и журнал система сгенерировала автоматически на основании введенных данных;

  • описали свойства заявки, с которыми дальше будем взаимодействовать;

  • добавили роли, которые будут участвовать в работе с заявкой;

  • обозначили статусы, по которым будет перемещаться заявка.

Форма

Посмотрим, как выглядит сгенерированная автоматически форма. Помните, что автоматически сгенерированные формы нельзя редактировать.

Для этого на открывшейся вкладке «Тип «Заявка на покупку оборудования» нажмите «Форма по умолчанию».

../_images/auto_form_1.png

В открывшейся вкладке в виджете «Действия» нажмите «Редактировать форму»:

../_images/auto_form_2.png

Данная форма была автоматически сгенерирована системой из атрибутов, которые были указаны в типе данных:

../_images/auto_form_3.png

Тип компонента на форме зависит от типа атрибута, указанного в типе данных.

Например, компонент Стоимость имеет тип Number, так как в типе атрибута был указано значение Number.

Это можно проверить, наведя курсор на компонент с названием «Стоимость», и далее, нажав на шестерёнку в правом-верхнем углу компонента^

../_images/auto_form_4.png

В заголовке модального окна видно, что компонент имеет тип Number.

А в поле Имя свойства указано значение «price», это значение было указано ранее в типе данных.

../_images/auto_form_5.png

Журнал

Для просмотра журнала необходимо его добавить в левое меню:

  1. Перейдите в настройку меню, нажав на шестеренку справа сверху, далее выберите «Настроить меню»:

../_images/menu_1.png
  1. Перейдите во вкладку «Настройки выбранной конфигурации», нажмите «+ Добавить», выберите «Раздел»:

../_images/menu_2.png
  1. В поле «Название» введите название раздела. Например, «Оборудование». Нажмите «Сохранить».

../_images/menu_3.png
  1. Наведите курсор на добавленный раздел, нажмите «+ Добавить», выберите «Журнал»:

../_images/menu_4.png

Выберите журнал «type$equipment-request» и нажмите ОК:

../_images/menu_5.png ../_images/menu_6.png
  1. Нажмите «Применить».

В левом меню появился новый журнал «Заявка на покупку оборудования»:

../_images/menu_7.png

Нажав на этот пункт меню, откроется новая ECOS вкладка с автоматически сгенерированным журналом. В журнале присутствуют колонки, которые относятся непосредственно к атрибутам, которые были указаны ранее в типе данных:

../_images/journal_1.png

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

Бизнес-процесс

Перейдите левом меню в пункт «Моделирование – Редактор бизнес-процессов»

../_images/bp_new.png

Для создания процесса нажмите «+ - Создать BPMN модель»:

../_images/bp_new_1.png

В открывшемся модальном окне заполните поля:

1

Идентификатор

equipment-request

2

Имя

Заявка на покупку оборудования

3

Тип данных

equipment-request

4

Включен

True. Отметка об активности процесса.

5

Автоматический старт процесса.

True, чтобы старт процесса осуществлялся автоматически. Подробно о запуске процесса

Конечная настройка бизнес-процесса:

../_images/bp_new_2.png

Примечание

Обязательно выставите чекбоксы Включен (4) и Автоматический старт процесса (5)

Нажмите «Сохранить».

Далее необходимо описать схему процесса в редакторе бизнес-процессов.

Для перехода к редактору разверните раздел «По умолчанию», наведите курсор на созданный процесс и нажмите:

../_images/bp_new_3.png

Откроется конструктор бизнес-процесса:

../_images/modeller.png

Процесс прохождения заявки опишем следующим образом:

Создать заявку -> Отправить на согласование -> Согласовать/Отклонить заявку

  1. Автоматически на схему добавляется компонент, который отвечает за начало процесса (Start event).

Start event компонент слушает систему и ждёт, когда в систему постучится запрос на создание нового объекта с нужным нам типом данных.

Выделите Start Event компонент - рядом с компонентом расположено контекстное меню, с помощью которого в процесс можно добавлять новые элементы, связи между элементами, или редактировать текущий элемент.

../_images/start_event.png
  1. Теперь нужно добавить новый элемент, но какой?

Сразу после создания заявки, она должна получить статус «Заявка создана» - нажмите на элемент Set status в контекстном меню:

../_images/set_status.png

Справа от области для схемы появляются настройки добавленного компонента, где необходимо указать имя (1) и cтатус (2), который будет присвоен объекту на данном этапе.

Укажите имя Статус «Заявка создана». В поле «Статус» выберите вариант Заявка создана.

../_images/set_status_prop.png
  1. Когда заявка создана, нужно проверить всё содержимое заявки, а после проверки отправить на согласование.

Для этого необходимо создать задачу для пользователя - в контекстном меню нажмите на компонент «Task»:

../_images/User_task_1.png

Но данный компонент не подходит, и необходимо изменить его тип с «Task» на User task. Для этого нажмите на гаечный ключ и выберите вариант «User task»:

../_images/User_task_2.png

Далее нужно правильно настроить задачу для пользователя, укажите в форме:

  • Имя - На согласование,

  • Реципиент - Инициатор

../_images/User_task_prop.png

Примечание

Форму к задаче можно не создавать, и, соответственно, не выбирать.

Простая форма к задаче может быть создана автоматически - будут отображены только кнопки, настроенные в Результате задачи.

../_images/form_common.png

Приоритет по умолчанию заполнен как Средний.

Далее заполните список «Результаты задачи» следующими значениями:

  • Идентификатор – ToApprove

  • Название – На согласование

../_images/form_to_approve_5.png
  1. Задача создана и после отправки на согласование необходимо изменить статус задачи на «На согласовании». Для этого повторяем действия первой смены статуса (пункт 2):

  • Нажмите в контекстном меню на иконку Set Status

../_images/set_status_2.png
  • Укажите в поле «Имя» Статус «На согласовании».

  • В поле «Статус» выберите вариант На согласовании.

../_images/set_status_2_prop.png
  1. Далее необходимо создать аналогичную задачу только уже для согласующего:

  • Добавьте при помощи контекстного меню компонент Task

../_images/User_task_3.png
  • Измените тип компонента с Task на User Task:

../_images/User_task_4.png
  • Поле «Имя» - На согласовании согласующим,

  • Поле «Реципиенты» - Согласующий.

../_images/User_task_2_prop.png

Примечание

Форму к задаче можно не создавать, но для ознакомления с функционалом системы сделаем это.

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

В данном случае не нужен комментарий, на текущем этапе достаточно одной кнопки, которая будет отвечать за исход задачи «На согласование».

Для этого следует выполнить следующие действия:

  • На панели настроек компонента User Task под полем «Форма задачи» нажмите кнопку «Выбрать»:

../_images/form_common_1.png
  • В верхней части нажмите «Создать», выберите вариант «Создать форму»:

../_images/form_common_2.png
  • Заполните поля следующими данными:

  • Идентификатор формы - «equipment-request-approve-form»

  • Название формы – «Форма согласования заявки на покупку оборудования»

  • Нажмите кнопку «Редактировать форму»:

../_images/request_approve_1.png
  • Удалите текстовый компонент с именем «Название»

../_images/form_common_3_1.png
  • На кнопке «Создать» нажмите на кнопку редактирования (шестерёнка):

../_images/form_common_4_1.png
  • В поле «Имя свойства» введите значение outcome_Approve

  • В данном случае приставка «outcome» используется как обозначение, что кнопка отвечает за один из вариантов исхода выполнения задачи

  • Approve выступает в роли Идентификатора исхода задачи

  • В поле «Название» поля введите значение «Согласовать»

  • Нажмите кнопку «Сохранить»

../_images/request_approve_2.png
  • На кнопке «Отменить» нажмите на кнопку редактирования (шестерёнка)

../_images/request_approve_6.png
  • В поле «Имя свойства» введите значение outcome_Reject

  • В поле «Название поля» введите значение Отказать

  • В поле «Действие» выставите значение Submit

../_images/request_approve_7.png
  • Нажмите кнопку «Сохранить»:

../_images/request_approve_3.png
  • Нажмите кнопку «Сохранить»:

../_images/request_approve_4.png
  • Выберите создаю форму.

  • Приоритет по умолчанию заполнен как Средний.

  • Вернувшись к компоненту User Task, заполните список «Результаты задачи» следующими значениями

    • Идентификатор – Approve, Название – Согласовать

    • Идентификатор – Reject, Название – Отказать

      ../_images/request_approve_5.png
  1. После согласования Согласующим задача должна завершиться, но исходов у процесса два – покупка согласована, или в покупке отказано, потому поставим следующий компонентом разветвитель - Gateway

Gateway компонент отвечает за разветвление маршрутов и за слияние потоков. Для его добавления необходимо нажать на соответствующую иконку в контекстном меню или на панели слева (но в этом случае придётся самостоятельно проставлять связи их направления):

../_images/gateway_1.png

../_images/gateway_2.png
  1. После Gateway необходимо поставить 2 компонента смены статуса на «Согласовано»/ «Отказано». Для этого повторяем действия первой смены статуса (пункт 2):

  • У компонента Gateway нажмите в контекстном меню на иконку Set Status

../_images/set_status_3.png
  • Укажите в поле «Имя» Статус «Согласовано».

  • В поле «Статус» выберите вариант Согласовано.

../_images/set_status_3_prop.png
  • У компонента Gateway нажмите в контекстном меню на иконку Set Status

  • Укажите в поле «Имя» Статус «Отказано».

  • В поле «Статус» выберите вариант Отказано.

../_images/set_status_4_prop.png
  1. Так как из Gateway, потенциально, может быть несколько потоков, то система умеет определять по какому потоку нужно идти при помощи вариантов исхода (исходы настраиваются при помощи кнопок на форме и стрелок, выходящих из компонента Gateway).

Для настройки выберите «стрелку» (отдельный компонент Sequence Flow, который отвечает не только за визуализацию направления).

Для потока «Согласовано»:

../_images/Sequence_Flow_1.png
  • Укажите имя Согласовано.

  • В поле «Тип условия» выберите вариант Исходящий.

  • В появившемся поле «Исходящий» выбрать вариант На согласовании согласующим - Согласовать. Варианты автоматически генерируются из двух частей: первая – название задачи (поле Имя), вторая – название результатов задач.

../_images/Sequence_Flow_2.png

Для потока «Отказано»:

../_images/Sequence_Flow_3.png
  • Укажите имя Отказан.

  • В поле «Тип условия» выберите вариант Исходящи.

  • В появившемся поле «Исходящий» выбрать вариант На согласовании согласующим - Отказать.

../_images/Sequence_Flow_4.png
  1. Дальше необходимо добавить компонент, который будет означать, что процесс закончен. Для этого в контекстном меню компонентов «Статус «Согласовано» и «Статус «Отказано» нужно нажать на иконку End event компонента.

../_images/end_event_1.png

Так же для второго выхода gateway добавим End Event компонент.

Теперь процесс можно сохранить и опубликовать, нажав:

../_images/publish.png

Принятие решений по заявке можно упростить - создать таблицу принятия решений и встроить ее в процесс. См. подробно

Запуск процесса

После того, как создан Тип данных, Журнал, Форма и Бизнес-процесс, можно проверить, как процесс работает.

Создайте 2 пользователей с именами requestor и approver, как написано в инструкции. Список созданных пользователей:

../_images/users.png

Зайдите под requestor:

В левом меню выберите «Запрос на оборудование». Откроется журнал, где нет записей. Для создания нового объекта (заявки на покупку оборудования). нажмите на «+»:

../_images/new_request_1.png

Заполните поля соответствующими данными. Например:

  • Название оборудование – HDMI кабель

  • Стоимость - 500

  • Инициатор – Инициатор (requestor)

  • Согласующий – Согласующий (approver)

И нажмите «Сохранить».

../_images/new_request_2.png

Создана первая заявка в статусе «Заявка создана», и далее проведем ее по нашему бизнес-процессу.

В виджете «Мои задачи» нажмите кнопку «Отправить на согласование».

../_images/new_request_3.png

После выполнения задачи заявка перейдёт в статус «На согласовании» и на Согласующего (approver) будет назначена задача - Согласование.

Зайдите под approver:

В левом меню перейдите в Активные задачи, откройте задачу, нажав:

../_images/new_request_4.png

Для согласования в виджете «Мои задачи» нажмите кнопку «Согласовать»:

../_images/new_request_5.png

После выполнения задачи заявка перейдёт в статус «Согласовано».

Поздравляю, первая заявка прошла полный процесс, который был только что создан Вами.