Урок 3. Мой первый процесс
Содержание урока
- Создание шаблона процесса
- Схема процесса
- Настройка форм пользовательских задач
- Настройка развилок
- Настройка исполнителей задач
- Проверка и публикация процесса
- Тестирование: “Запуск процесса” и “Мои задачи”
Усовершенствуем приложение, созданное в предыдущем уроке - создадим автоматизированный процесс заказа корпоративного автотранспорта: Заказчик создает заявку, Секретарь согласовывает заявку, после чего одобренная заявка переходит к сотруднику Гаража, который принимает заявку и, в зависимости от наличия автомобилей в гараже, либо выполняет рейс, либо отказывает в заявке.
Расчетная продолжительность: 20 мин.
Предусловие - пройден Урок 2. Мой первый реестр данных :
- создан реестр данных “Заявка на автомобиль”;
- создана экранная форма.
Исполняемый бизнес-процесс определяет кто, что и в какой последовательности должен сделать, и обеспечивает мгновенную передачу дела между подразделениями. Таким образом, система берет на себя контроль за всем процессом от заявки до закрытия «дела». Процессы в Comindware Business Application Platform могут взаимодействовать друг с другом, а также с внешними ресурсами, такими как серверы электронной почты и вебсервисы. Исполняемый бизнес-процесс служит заменой Email и Excel, позволяет упростить и автоматизировать документооборот, а также автоматически сформировать документы по шаблонам.
Исполняемый процесс можно назвать "интерактивным регламентом". Традиционный регламент-документ предназначен для того, чтобы сотрудники периодически в него заглядывали, чтобы понять, что делать дальше. В случае исполняемого процесса координацией занимается компьютер. Схема процесса в нотации BPMN загружается в BPMS, и система следует ей, раздавая задания людям и вызывая функции информационных систем.
Исполняемый процесс позволяет повысить эффективность работы:
Настройка исполняемого бизнес-процесса в Comindware Business Application Platform выполняется в Шаблоне процесса. Шаблон процесса - это схема, данные и другие свойства, определяющие как должны выполняться все процессы определенного вида. Каждый Шаблон процесса имеет ассоциированный Шаблон записи.
Создание шаблона процесса
Перейдем к созданию Шаблона процесса:
1. В панели навигации слева выберите “Конфигурации” - “Шаблоны”.
2. Нажмите “Добавить”.
3. Введите Имя - “Заказ автотранспорта”.
4. Выберите тип “Шаблон процесса”.
5. Укажите бизнес-приложение “Управление автопарком”.
6. В поле “Связанный шаблон” выберите шаблон “Заявка на автомобиль”.
7. Нажмите “Создать”:
Создание шаблона процесса
Схема процесса
1. Перейдите в раздел “Схема”:
Переход в раздел Схема
Откроется Процессный моделер, в котором выполняется построение графической схемы процесса.
Процессный моделер
Построим схему процесса, перетаскивая элементы с левой панели на рабочую область.
Для начала добавим дорожки:
1. Перетащите три дорожки на рабочую область. Элемент “Дорожка” расположен на левой панели в разделе “Общее”.
Дорожки
2. Отредактируйте названия дорожек: Заказчик, Секретарь, Гараж. Для редактирования кликните дважды по названию дорожки.
Редактирование дорожек
3. Перетащите элемент “Пользовательская задача” из раздела “Действия” с левой панели на дорожку “Секретарь”.
4. Укажите имя задачи - “Согласовать заявку”. Для этого дважды кликните по названию задачи на элементе.
5. Перетащите соединительную линию на рабочую область и соедините стартовое событие и пользовательскую задачу.
6. Перетащите элемент “Развилка или/или” на рабочую область и соедините с задачей “Согласовать заявку”.
7. Укажите имя развилке - “Одобрена?”, кликнув дважды по названию элемента:
Развилка или / или
Если Секретарь отказал в заявке, то Заказчик получает уведомление об этом, после чего процесс завершится. Если заявка одобрена Секретарем, то дальше её согласовывает сотрудник Гаража. Покажем это на схеме:
8. От развилки “Одобрена?” добавьте две пользовательских задачи: “Вам отказано” в дорожку “Заказчик” и “Принять заявку” в дорожку “Гараж”.
9. Выберите развилку и перейдите в “Настройки”.
10. Во вкладке “Дополнительные свойства” укажите имена исходящих потоков - “Да” и “Нет”:
Дополнительные свойства
11. От задачи “Вам отказано” добавьте завершающее событие.
12. Введите имя для завершающего события - “Отказ”:
Редактирование имени завершающего события
После принятия заявки сотрудник Гаража проверяет наличие автомобиля для выполнения заявки - при отсутствии автомобиля заявка возвратится Секретарю:
13. От задачи “Принять заявку” добавьте элемент “Развилка или/или”.
14. Добавьте соединительную линию от развилки к задаче “Согласовать заявку”.
15. Укажите имя для развилки - “Есть машина?”.
Развилка "Есть машина"?
При наличии машины заказчик получит уведомление “Машина выделена”, а сотрудники гаража приступят к выполнению рейса:
16. Добавьте элемент “Параллельная развилка” от развилки “Есть машина?”.
17. От параллельной развилки добавьте две пользовательских задачи: для заказчика - “Машина выделена” и для Гаража - “Выполнить рейс”.
18. Укажите имя для исходящих потоков от развилки “Есть машина?” - “Да” и “Нет”.
19. Добавьте еще одну параллельную развилку и соединительные линии от добавленных задач.
20. Добавьте завершающее событие и укажите для него имя - “Успех”.
В итоге должна получиться следующая схема:
Схема процесса заказа автотранспорта
Настройка форм пользовательских задач
Для начала нам понадобится настроить стартовую форму, которая будет отображаться заказчику при запуске процесса:
1. Выберите элемент “Стартовое событие” и в меню элемента выберите “Действия” - Стартовая форма:
Настройка стартовой формы
Откроется Конструктор стартовой формы. Для формы задачи используем созданную ранее форму для согласования заявки:
2. Перетащите с левой панели на рабочую область Конструктора элемент “Заявка на автомобиль - Основная форма”. Сохраните и вернитесь на схему процесса.
Сохранение стартовой формы
Теперь настроим форму пользовательской задачи, которая будет отображаться исполнителю - Секретарю:
3. Выберите задачу “Согласовать заявку” и в меню элемента перейдите в раздел “Формы”. Отобразится Конструктор формы задачи.
4. Разверните элемент “Заявка на автомобиль” на панели элементов слева и перетащите элемент “Заявка на автомобиль - Основная форма” на рабочую область Конструктора.
Поля формы заявки должны быть недоступны для редактирования, поэтому изменим тип доступа:
5. Выберите добавленную форму заявки и на правой панели укажите Тип отображения - “Только для чтения”.
6. Перетащите элемент “Одобрено” на рабочую область Конструктора:
Настройка формы задачи
7. Сохраните форму и вернитесь на схему процесса.
Перейдем к настройке формы задачи, которую будет выполнять сотрудник Гаража:
8. Выберите задачу “Принять заявку” на схеме процесса и в меню элемента перейдите в раздел “Формы”.
9. Перетащите форму “Заявка на автомобиль - Основная форма”.
10. Укажите Тип отображения - “Только для чтения”, чтобы сотрудник гаража не мог редактировать заявку.
Сотрудник гаража должен принять или отклонить заявку в зависимости от наличия автомобилей в гараже. Поэтому добавим еще один атрибут:
11. Разверните элемент “Заявка на автомобиль” и кликните дважды по пункту “Добавить атрибут”.
12. Выберите тип атрибута - Логический и укажите имя - “Принято”.
13. Нажмите “Сохранить”.
Добавление атрибута типа логический
14. Перетащите созданный атрибут на рабочую область Конструктора формы.
15. На панели настроек элемента “Принято” настройте отображение: “Отображать как” - “Переключатель”.
Отображение логического атрибута на форме
16. Сохраните форму и вернитесь на схему процесса.
Если заявка не была одобрена, заказчик должен быть проинформирован об этом, поэтому форма пользовательской задачи в этом случае содержит только текст “Вам отказано” и данные заявки:
17. Выберите задачу “Вам отказано” и через меню элемента перейдите в “Формы”.
18. Добавьте на форму элемент “Надпись” и укажите текст - “Вам отказано”.
19. На левой панели разверните элемент “Заявка на автомобиль” и перетащите форму “Заявка на автомобиль - Основная форма”.
20. В настройках на правой панели укажите Тип отображения - “Только для чтения”.
Установка типа отображения формы
21. Сохраните форму и вернитесь на схему процесса.
22. Аналогично, настройте форму для задачи “Машина выделена” - добавьте надпись с текстом “Машина выделена” и форму “Заявка на автомобиль - Основная форма”.
Настройка формы задачи "Машина выделена"
Настройка развилок
Перейдем к настройке потоков после развилок. На нашей схеме есть две развилки - “Одобрена?” и “Есть машина?”.
1. Выберите развилку “Одобрена” и в меню элемента перейдите в Настройки:
Настройки развилки
2. Во вкладке “Дополнительные свойства” выберите поток к задаче “Вам отказано” потоком “По умолчанию” и нажмите “Сохранить”.
Дополнительные свойства
Поток, по которому пойдет процесс после развилки “Одобрена?”, определяется логическим атрибутом “Одобрено”, который Секретарь заполняет при согласовании заявки. Напишем выражение для условия, при выполнении которого процесс пойдет дальше. Для этого нам потребуется системное имя этого атрибута:
3. Откройте в отдельной вкладке браузера список шаблонов (для этого в боковой панели выберите “Конфигурации” - “Шаблоны”).
4. Перейдите в шаблон “Заявка на автомобиль”.
5. Перейдите в раздел “Атрибуты”.
6. Скопируйте системное имя атрибута “Одобрено”:
Системное имя атрибута
7. Вернитесь во вкладку с настройкой процесса и перейдите в настройки развилки “Одобрена” через меню элемента.
Укажите выражение для условия развилки:
8. Для потока к задаче “Принять заявку” нажмите кнопку “Не задано” для настройки выражения:
Настройка развилки
Так как атрибут “Одобрено” логического типа, то при написании выражения просто обращаемся к его системному имени:
9. Введите скопированное системное имя атрибута “Одобрено” со знаком $ и нажмите на кнопку “Свернуть”:
Выражение
10. Нажмите “Сохранить”.
Развилка “Есть машина?” определяется атрибутом “Принято”, который указывает сотрудник гаража. Поэтому скопируем системное имя этого атрибута:
11. Перейдите во вторую вкладку браузера с атрибутами шаблона “Заявка” и скопируйте системное имя атрибута “Принято”.
12. Вернитесь во вкладку браузера со схемой процесса и выберите развилку “Есть машина?”.
13. Перейдите в настройки развилки “Есть машина?” через меню элемента.
14. Во второй вкладке укажите поток к задаче “Согласовать заявку” потоком “По умолчанию”.
15. Укажите выражение для другого потока с системным именем атрибута “Принято” (аналогично шагу 8):
Выражение
16. Нажмите “Сохранить”.
Настройка исполнителей задач
Укажем исполнителей для пользовательских задач:
1. Выберите пользовательскую задачу “Согласовать заявку” и через меню элемента перейдите в Настройки:
Настройки задачи
2. Во вкладке “Дополнительные свойства” кликните по количеству исполнителей - пока что их "0 человек 0 групп":
Настройка исполнителя
3. Укажите Исполнителя - найдите в списке себя и кликните по имени пользователя - выбранный пользователь отобразится в списке справа.
4. Нажмите “Применить”.
Выбор пользователей или группы
5. Сохраните настройки.
6. Аналогично укажите Исполнителя для задач: “Принять заявку”, “Выполнить рейс” (для упрощения на этапе отладки процесса мы указываем Исполнителем этих задач одного и того же пользователя).
Для задач “Вам отказано” и “Машина выделена” сделаем Исполнителя вычисляемым - это должен быть пользователь, который инициировал процесс, то есть Заказчик.
7. Выберите задачу “Вам отказано” и перейдите в настройки.
8. В поле “Исполнители” выберите - Атрибут.
9. Кликните в поле “Не задано”.
10. Выберите атрибут “Создан” (_creator):
Настройка исполнителя по атрибуту Создатель
11. Нажмите “Сохранить”.
Мы использовали системный атрибут шаблона процесса - “Создатель” ($_creator), чтобы указать в качестве исполнителя задачи пользователя, инициировавшего процесс.
12. Аналогично укажите Исполнителем - инициатора процесса для задачи “Машина выделена”.
Проверка и публикация процесса
Мы настроили шаблон процесса. Чтобы изменения вступили в силу, его необходимо опубликовать. Шаблоны процессов рекомендуется публиковать каждый раз после внесения изменений.
Перед публикацией нужно проверить корректность схемы:
1. Нажмите “Проверить” на панели инструментов.
2. Нажмите “Опубликовать” на панели инструментов.
Тестирование: “Запуск процесса” и “Мои задачи”
Мы настроили и опубликовали процесс, теперь можем перейти к тестированию процесса в роли пользователя.
1. Кликните по кнопке настроек в левом верхнем углу:
Переход к экземплярам процесса
2. Перейдите в раздел “Экземпляры”.
Раздел "Экземпляры"
3. Нажмите “Создать” - отобразится стартовая форма процесса.
4. Заполните форму и нажмите “Создать”.
Создание новой заявки
Созданный процесс отобразится в списке. Проверим наличие задачи “Согласовать заявку”, в которой мы указали своего текущего пользователя исполнителем.
4. Перейдите в “Мои задачи” в панели навигации слева.
Переход в Мои задачи
Отобразится список активных задач.
Список активных задач
5. Выберите двойным кликом задачу из списка.
6. Укажите Одобрено = Да и завершите задачу.
7. Перейдите на список “Мои задачи”. В списке появится задача “Принять заявку”.
8. Укажите Принято = Нет и завершите задачу.
9. Вернитесь на список задач - в списке появится задача “Согласовать заявку”.
10. Откройте задачу и укажите Одобрено = Нет.
11. Завершите задачу.
12. Перейдите в список задач - в списке задач появится задача “Вам отказано”. Завершите задачу. Процесс будет завершен.
Результаты
Поздравляем! Вы создали свой первый процесс, настроили для него формы задач и протестировали запуск и исполнение задач процесса.
В следующем уроке вы узнаете, как отследить историю запущенного процесса, и настроите дашборды для просмотра статистики за период.