Практикум. Система учета заявок на канцтовары. Бизнес-процессы.
Общие сведения о бизнес-процессах
В системе предусмотрена работа с бизнес-процессами, которые помогают автоматизировать работу пользователей.
Описание модуля
В рамках этой главы необходимо разработать бизнес-процесс, в котором будут взаимодействовать Сотрудник-инициатор и Сотрудник АХР. Целевой бизнес-процесс начинается с момента отправки заявки Сотрудником-инициатором, затем система автоматически определяет укладывается ли заявка в лимит. Если заявка превышает лимит, она перенаправляется Сотруднику-инициатору, он может изменить ее или отменить вовсе. Если заявка укладывается в лимит, то она направляется к Сотруднику АХР, который проверяет и отмечает наличие товаров в заказе. Если не все товары в наличии, Сотрудник АХР отправляет заявку обратно Сотруднику-инициатору, которую он может также изменить или отменить. Если все товары в наличии, то Сотрудник АХР должен провести закупку товаров и прикрепить чек к заявке. После того, как Сотрудник-инициатор получает уведомление о реализации его заявки, бизнес-процесс заканчивается, а заявка переходит в архив.
Для решения поставленной бизнес-задачи необходимо построить схему бизнес-процесса и настроить ее.
Перед настройкой модуля «Бизнес-процессы» необходимо предварительно реализовать настройки, описанные в главах: |
Создание карточки бизнес-процесса
Необходимо разработать бизнес-процесс, в котором будут взаимодействовать Сотрудник-инициатор и Сотрудник АХР.
Для того чтобы создать бизнес-процесс, который поможет автоматизировать работу с объектами типа «Заявка», перейдите в главном меню в раздел «Документооборот» – «Бизнес-процессы» и создайте новый экземпляр в реестре. Заполните поля в разделе «Основные параметры бизнес-процесса»: «Согласование заявки на канцтовары» [SUPPLES_REQ_WF]. Сохраните настройки бизнес-процесса с помощью кнопки на панели инструментов.
Далее необходимо связать созданный процесс с маршрутным объектом для процесса – типом объекта, для экземпляров которого бизнес-процесс будет применяться. В разделе «Настройка связи процесса с маршрутным объектом» в поле «Связанные типы объектов» нажмите кнопку «Создать». В появившемся модальном окне в поле Тип объектов выберите тип объектов «Заявка» и оставьте в поле «Автозапуск при создании объекта» значение «Нет» – таким образом бизнес-процесс не будет запускаться самостоятельно сразу после создания нового экземпляра типа объектов «Заявка». Сохраните настройки связи процесса с маршрутным объектом, нажав на кнопку «Ок» в модальном окне.
Сохраните настройки бизнес-процесса, нажав на кнопку сохранения на панели инструментов.
Работа с конструктором схем процесса
В настройках бизнес-процесса есть возможность создавать несколько версий.
Первая версия бизнес-процесса формируется автоматически после создания карточки бизнес-процесса – она же становится актуальной.
Для того чтобы создать схему бизнес-процесса, перейдите к конструктору схем, выберите необходимую версию и нажмите на кнопку «Схема процесса».
Для создания схемы бизнес-процесса в системе предусмотрены следующие элементы:
-
Стартовое событие – является точкой запуска бизнес-процесса. Следующий за ним элемент будет выполняться первым в запускаемом бизнес-процессе;
-
Шлюз – элемент подразумевает ветвление, раздвоение, слияние и соединение маршрутов объекта (ов) Системы в бизнес-процессах, используются для фиксации расхождений и схождений потока операций бизнес-процесса и определения хода маршрутного объекта;
-
Абстрактная задача – элементарное действие, включенное в состав бизнес-процесса. Пользовательская задача определяет необходимые действия исполнителя. На схеме бизнес-процесса обозначается прямоугольником;
-
Сервисная задача – действие, выполняемое Системой (чаще по заданному алгоритму);
-
Событие – элемент потока управления, который отражает состояние, влияющее на ход выполнения процесса. Событие оказывает влияние на ход бизнес-процесса и чаще всего имеет причину (триггер) или воздействие (результат);
-
Таймер – промежуточное событие, ожидание заданного настройкой события;
-
Сообщение – промежуточное событие, предназначенное для автоматической отправки сообщений;
-
Конечное событие – является точкой завершения бизнес-процесса.
Для создания нового элемента на схеме бизнес-процесса необходимо перетащить его с панели элементов.
Для связи элементов на схеме следует выделить исходный элемент и протянуть стрелку до элемента-назначения или в выпадающей панели элементов выбрать следующий элемент и разместить его на рабочей области, в этом случае связь создастся автоматически.
Для того чтобы разместить промежуточное событие на задаче, перетащите из панели элементов событие и разместите в углу задачи – такой вариант расположения необходим, чтобы бизнес-процесс пошел по ветке, исходящей из промежуточного события при соблюдении определенных условий на нем.
Создайте схему, используя элементы стартовое событие, шлюз, задача, промежуточное событие, конечное событие, потоки. Сохраните созданную схему.
Заполните наименования для элементов схемы, настройте типы элементов и потоков.
Чтобы задать наименование для элементов схемы, их можно давать событиям, шлюзам, задачам и связям для того, чтобы в дальнейшем у исполнителя была возможность выбора результата. Для того чтобы заполнить наименование для каждого элемента, нажмите дважды на фигуру элемента, в появившемся поле ввода заполните наименование, нажмите «Enter», чтобы применить изменения.
Настройте движение по умолчанию для потоков. Для этого измените тип потока, идущего из шлюза по ветке «Нет» и установите «Default Flow», чтобы бизнес-процесс автоматически пошел по этой ветке. Для этого нажмите на стрелку, обозначающую поток, в появившейся панели инструментов выберите кнопку настройки типа – в выпадающем списке выберите «Default Flow». Аналогично измените тип связи, исходящей из задачи «Инициатор. Скорректировать заказ» - «Изменить заказ» и «Сотрудник АХР. Проверить наличие товаров в заявке» – «Все товары в наличии». Сохраните изменения на схеме.
Настройте типы промежуточных событий: для этого нажмите на событие, нажмите на кнопку настройки типа и из раскрывшегося списка выберите необходимый.
После изменения типа всех промежуточных событий сохраните схему бизнес-процесса:
-
Message Intermediate Throw Event:
-
«Уведомление о превышении лимита»;
-
«Уведомление об автоматическом отклонении заявки»;
-
«Уведомление о том, что не все товары в наличии»;
-
«Уведомление о реализации заявки»;
-
-
Timer Intermediate Catch Event: «1 день на изменение заявки».
После настройки схемы сохраните ее с помощью кнопки сохранения.
Настройка схемы бизнес-процесса
Для каждого элемента на схеме бизнес-процессов доступна настройка. Чтобы перейти к настройке элемента необходимо нажать на элемент на схеме, затем на появившемся панели инструментов выбрать кнопку перехода к настройкам этапа.
Настройка стартового события
Для того чтобы отслеживать состояние заявки на бизнес-процессе, необходимо настроить состояние объекта в настройках каждого элемента на схеме.
Перейдите к настройкам стартового события: в поле «Состояние объекта» из раскрывающегося списка выберите «Новый» – это значение, которое будет присваиваться атрибуту «Состояние» объекта типа «Заявка». Также в реестре заявок Сотрудника АХР будет появляться запись, и он сможет просматривать и редактировать ее.
Сохраните настройки стартового события, нажав на кнопку «Ок» в текущем модальном окне.
Настройка шлюза
Эксклюзивный (исключающий) шлюз используется для разветвления бизнес-процесса и направления по одному из исходящий потоков в зависимости от условия.
Бизнес-процесс пойдёт по ветке «Да», если итоговая стоимость заказа меньше или равна 5000 и алгоритм принимает значение true. В обратном случае бизнес-процесс пойдет по ветке «Нет» и вернется к инициатору. Откройте настройки шлюза и для исходящего перехода «Да» создайте алгоритм условия перехода, который будет сравнивать итоговую стоимость заявки с константой, указанной в алгоритме.
Для этого выделите исходящий переход «Да» и перейдите к его редактированию. В появившемся модальном окне настройки на вкладке «Настройка элемента» в поле «Алгоритм (условие)» откройте раскрывающийся список дополнительных действий и выберите действие «Добавить».
Создайте алгоритм «Проверка лимита заказа» [LIMIT_CHECK_ALG], в качестве базового типа объекта укажите «Заявка».
Заполните поле формулы алгоритма.
Реализуйте формулу с помощью функции attr.
Чтобы повторить формулу, вставьте атрибут «Итоговая стоимость» с помощью функции attr, и с клавиатуры укажите, что значение должно быть меньше или ровно 5000.
Сохраните алгоритм и настойки шлюза с помощью кнопки «Ок». Сохраните схему бизнес-процесса.
Настройка задач
Задача «Инициатор. Скорректировать заказ»
Перейдите к настройкам этапа «Инициатор. Скорректировать заказ» бизнес-процесса.
На вкладке «Основные настройки» в поле «Состояние объекта» раскройте список действий с помощью кнопки «Дополнительные действия» и выберите «Добавить».
Создайте новый экземпляр «Пересматривается» [REVIEW] – это состояние объекта на этапе, когда производится изменение заявки Инициатором, пока Сотрудник АХР не утвердит заявку.
Сохраните изменения. На вкладке «Основные настройки» установите настройки:
-
Состояние объекта – «Пересматривается»;
-
Роль исполнителя задачи – «Инициатор»;
-
Способ определения списка сотрудников для выбора ответственного – «По роли»;
-
Шаблон описания задачи – «Ваша заявка либо превысила лимит в 5000 руб., либо Сотрудник АХР вернул ее вам на доработку, так как не все товары оказались в наличии. Измените заказ или отмените его.»
Сохраните изменения с помощью кнопки на панели управления.
Для каждой задачи на бизнес-процессе можно настроить визуал. Настройте визуал задачи, который будет содержать ссылку на заявку, сведения о задаче, элемент выбора результата, комментарии по задаче, а также информацию о сроках и инициаторе процесса.
Для этого на вкладке «Представление задачи» создайте новый визуал «Визуал для задач на БП» и перейдите к его настройке с помощью кнопки «Настроить».
На вкладке «Группировка» переведите в активное положение переключатель «Правая панель» – это позволит отобразить дополнительную панель, чтобы вынести часть атрибутов, которые должны оставаться на виду у пользователя Системы при прокрутке экрана.
На панели разместите ряд, в котором расположите статичную группу атрибутов. Измените наименование группы атрибутов на «Служебная информация».
На вкладке «Атрибуты» расположен список атрибутов системного типа ДО. Задача на процессе - набор атрибутов у таких типов изменить нельзя.
На панели элементов перейдите на вкладку «Атрибуты», найдите в списке атрибутов и разместите в ряду группы атрибутов на панели справа Сотрудник инициатор (WPT_INIT_EMP_ID), Дата назначения (WPT_INIT_TIME) и Ожидаемая дата завершения (WPT_DEAD_LINE).
В ряду группы атрибутов слева разместите и настройте следующие атрибуты;
-
Объект (OBJ_ID) – переименовать в «Заявка», отображение названия атрибута слева;
-
Описание задачи (TASK_DESCRIPTION) – отображение названия атрибута слева;
-
Результат (WPT_RESULT) – отображение названия атрибута слева.
Для атрибута Объект (OBJ_ID) на панели настроек атрибута выберите настройку «Отображать как гиперссылку»: в модальном окне включите отображение и выберите «В модальном окне».
Для атрибута Описание задачи (TASK_DESCRIPTION) измените высоту поля для отображения текста: для этого откройте панель настройки атрибута, нажмите на кнопку «Высота поля в пикселях» и измените значение в поле ввода на 100, затем сохраните с помощью кнопки справа.
В текущей группе атрибутов разместите еще одну группу атрибутов. Измените представление группы на «Свернута» и измените наименование на «Комментарии». Разместите в ней атрибуты Комментарии с маршрута (WF_TASK_PREVCOMMENT_VIEW) и Комментарий к задаче (пользовательский) (WF_COMMENT_CUSTOM).
Сохраните изменения на визуале с помощью кнопки «Ок» и вернитесь к настройке этапа: выберите из списка представлений только что настроенный визуал «Визуал задачи на БП».
На вкладке «Срок выполнения» установите в поле «Тип назначения срока задачи» значение «Фиксированный срок в рабочих днях», и укажите «Срок выполнения» – 1. Это значит, что инициатору необходимо изменить или отменить заявку в течение суток.
Перейдите к настройкам этапа на вкладку «Настройка условий и переходов». В группе «Настройка исходящих переходов» перейти к редактированию перехода SequenceFlow.
Добавить алгоритм видимости перехода и в этом алгоритме вписать значение false, чтобы навсегда скрыть возможность выбора этого перехода.
Тем не менее, переход останется активным, то есть если Инициатор не скорректирует заказ за 1 день, то процесс пойдет по этой ветке
Сохраните настройки этапа с помощью кнопки сохранения на панели управления и вернитесь к схеме бизнес-процесса. После этого сохраните схему бизнес-процесса.
Задача «Сотрудник АХР. Проверить наличие товаров в заявке»
Перейдите к настройке этапа «Сотрудник АХР. Проверить наличие товаров в заявке».
На вкладке «Основные настройки» установите настройки следующим образом:
-
Состояние объекта – «Новый» (так как это первый этап, когда Сотрудник АХР видит заявку);
-
Роль исполнителя задачи – «Сотрудник АХР»;
-
Способ определения списка сотрудников для выбора ответственного – «По роли»;
-
Шаблон описания задачи – «Проверьте наличие товаров и отметьте их состояние в заявке. Если всех товаров нет в наличии, отмените заявку.».
На вкладке «Представление задачи» выберите из выпадающего списка «Визуал для задачи на БП».
На вкладке «Срок выполнения» оставьте настройки, установленные по умолчанию.
Сохраните настройки этапа с помощью кнопки сохранения на панели управления и вернитесь к схеме бизнес-процесса. После этого сохраните схему бизнес-процесса.
Задача «Сотрудник АХР. Провести закупку и загрузить чек с оплатой»
Перейдите к настройке этапа «Сотрудник АХР. Провести закупку и загрузить чек с оплатой».
На вкладке «Основные настройки» установите настройки:
-
Состояние объекта – «Утверждено»;
-
Роль исполнителя задачи – «Сотрудник АХР»;
-
Способ определения списка сотрудников для выбора ответственного – «По роли»;
-
Шаблон описания задачи – «Проведите закупку товаров в соответствии с заявкой. Загрузите чек и завершите задачу.».
На вкладке «Представление задачи» выберите из выпадающего списка «Визуал для задачи на БП».
На вкладке «Срок выполнения» оставьте настройки, установленные по умолчанию.
Сохраните настройки этапа с помощью кнопки сохранения на панели управления и вернитесь к схеме бизнес-процесса. После этого сохраните схему бизнес-процесса.
Настройка промежуточных событий
Таймер
Настройте промежуточные события типа «https://docs-public.gdcloud.org/platform/ru/timer-intermediate-catch-event.html[Таймер]», для реализации ожидания заданного настройкой события для перехода к следующему этапу.
Настройте промежуточное событие «Таймер» – «1 день на изменение заявки», которое прикреплено к этапу «Инициатор. Скорректировать заказ». Для этого выделите изображение элемента «Таймер» и перейдите к настройкам через кнопку на панели действий.
Заполните в настройках поля следующими значениями:
-
Состояние объекта – Пересматривается;
-
Тип таймера – Относительное время;
-
Часы – 24.
Сохраните настройки события.
Сообщения
Настройте промежуточные события «https://docs-public.gdcloud.org/platform/ru/message-intermediate-throw-event.html[Сообщение]», чтобы пользователь получал уведомление на почту во время выполнения бизнес-процесса.
Перейдите к настройкам элемента схемы «Уведомление о превышении лимита», установите «Состояние объекта» – «Пересматривается».
В разделе «Настройки оповещений» создайте новое оповещение с помощью кнопки «Создать». В появившемся модальном окне выберите тип оповещения «ДО. Оповещение стандартное». После этого откроется окно редактора шаблона оповещения, в котором можно составить тест шаблона, форматировать его, добавить ссылки и файлы мультимедиа.
Заполните поля в настройках оповещения:
-
Наименование – Лимит превышен;
-
Шаблон заголовка – Лимит по заявке превышен;
-
Шаблон сообщения – Ваш лимит по заявке превышен. Пожалуйста, вернитесь к заявке и измените ее. Вы также можете ее отменить.
На платформе предусмотрена возможность вставки атрибута или результата расчета алгоритма непосредственно в текст оповещения. Добавьте номер заявки, по которой происходит бизнес-процесс. В шаблоне сообщения в начале в новой строке добавьте текст «Вами была отправлена». С клавиатуры вставьте пробел и оставьте текстовый курсор после введенного текста. В редакторе шаблона сообщения над панелью инструментов нажмите на кнопку «Вставить» и в раскрывшемся списке выберите «Атрибут объекта».
В появившемся модальном окне в поле Тип объекта выберите из выпадающего списка элемент «Заявка», а в поле Атрибут типа – «Номер документа». Активируйте переключатель «Вставить как гиперссылку», чтобы получатель мог перейти к заявке, о которой пришло уведомление.
После этого, модальное окно закроется, а в тексте шаблона сообщения появится выбранный атрибут.
В текущем окне ниже раскройте раздел «Настройка получателей оповещения». Заполните поля следующим образом:
-
Кому рассылать оповещение – Только ответственным в рамках экземпляра процесса;
-
Список ответственных для отправки сообщения – Инициатор (для этого на панели инструментов нажмите на кнопку «Добавить» и в модальном окне выберите группу Инициатор и нажмите на кнопку «Выбрать»).
Сохраните настройки оповещения с помощью кнопки «Ок». После этого в разделе «Настройка оповещений» появится запись о нем. Сохраните настройки события и вернитесь к схеме бизнес-процесса с помощью кнопки «Ок».
Аналогично настройте событие «Уведомление об автоматическом отклонении заявки»: установите «Состояние объекта» – «Отказано». Создайте новое стандартное оповещение в поле «Настройки оповещений».
Заполните поля в настройках оповещения:
-
Наименование – Заявка отклонена из-за превышения лимита;
-
Шаблон заголовка – Заявка на канцтовары автоматически отменена;
-
Шаблон сообщения – Вы не изменили заявку или не отклонили ее в течение суток. Ваша заявка автоматически отменена.
Добавьте номер заявки, по которой происходит бизнес-процесс. Для этого в шаблоне сообщения в начале в новой строке добавьте текст «Вами была отправлена» и вставьте атрибут объекта «Номер документа» как гиперссылку, аналогично предыдущему оповещению.
В текущем окне ниже раскройте раздел «Настройка получателей оповещения» и выполните настройки аналогично оповещению «Лимит превышен» на этапе «Уведомление о превышении лимита».
Аналогично настройте событие «Уведомление о том, что не все товары в наличии»: установите «Состояние объекта» – «Пересматривается». Создайте новое оповещение в поле «Настройки оповещений». Заполните поля в настройках оповещения:
-
Наименование – Не все товары в наличии;
-
Шаблон заголовка – Проверьте заявку на канцтовары;
-
Шаблон сообщения – В заявке не все товары в наличии. Измените состав заказа или отмените заявку.
Добавьте номер заявки, по которой происходит бизнес-процесс. Для этого в шаблоне сообщения в начале в новой строке добавьте текст «Вами была отправлена» и вставьте атрибут объекта «Номер документа» как гиперссылку, аналогично предыдущему оповещению.
В текущем окне ниже раскройте раздел «Настройка получателей оповещения» и выполните настройки аналогично оповещению «Лимит превышен» на этапе «Уведомление о превышении лимита».
Аналогично настройте событие «Уведомление о реализации заявки»: установите «Состояние объекта» – «Утверждено». Создайте новое оповещение в поле «Настройки оповещений». Заполните поля в настройках оповещения:
-
Наименование – Заявка реализована;
-
Шаблон заголовка – Ваша заявка на канцтовары реализована;
-
Шаблон сообщения – Сотрудник АХР приобрел товары в соответствии с вашей заявкой.
Добавьте номер заявки, по которой происходит бизнес-процесс. Для этого в шаблоне сообщения в начале в новой строке добавьте текст «Вами была отправлена» и вставьте атрибут объекта «Номер документа» как гиперссылку, аналогично предыдущему оповещению.
Также добавьте информацию о Сотруднике АХР, к которому нужно обратиться за товарами. Для этого в шаблоне сообщения в конце в новой строке добавьте текст «Ответственный за выдачу канцтоваров по вашей заявке:». После этого введите с клавиатуры пробел и вставьте атрибут объекта: укажите Тип объекта «Заявка», атрибут типа – «Сотрудник, внесший последние изменения».
После вставки атрибутов текст шаблона оповещения будет иметь следующий вид.
В текущем окне ниже раскройте раздел «Настройка получателей оповещения» и выполните настройки аналогично оповещению «Лимит превышен» на этапе «Уведомление о превышении лимита».
Сохраните схему бизнес-процесса.
Настройка конечных событий
Перейдите к настройкам конечного события «Заявка отменена», исходящего из задачи «Инициатор. Скорректировать заказ».
В окне настройки установите «Состояние объекта» – «Отказано». Сохраните изменения на этапе.
Аналогично настройте конечное событие, исходящее из промежуточного события «Уведомление об автоматическом отклонении заявки». Сохраните изменения на этапе.
Для конечного события «Заявка реализована» установите «Состояние объекта» – «Архив».
Сохраните изменения на этапе. Затем сохраните схему бизнес-процесса.