Поможем разобраться в BPMN -> Бесплатный онлайн-курс
Справочник элементов BPMN с примерами
Найдено 78Потоки: Ассоциативная связь
Association FlowОписание
Используется для соединения элементов и объектов данных
Плохой пример
![](https://bpmn2.ru/wp-content/uploads/2019/12/bad-association-flow.png)
Заменяет собой поток управления
Хороший пример
![](https://bpmn2.ru/wp-content/uploads/2019/12/good-association-flow.png)
Показывает связь действия и объекта данных
Подпроцесс: Вызов повторно-используемого действия
Call ActivityОписание
Используется для вызова другого процесса, нарисованного не на этой диаграмме
Плохой пример
![](https://bpmn2.ru/wp-content/uploads/2019/12/bad-call-activity.png)
Использование как обычного действия
Хороший пример
![](https://bpmn2.ru/wp-content/uploads/2019/12/good-call-activity.png)
Разделение большого процесса на логически очерченные блоки подпроцессов
Действия: Вызов сервиса (Задача-вызов сервиса)
Service TaskОписание
Используется для вызова информационной системы
Плохой пример
![](https://bpmn2.ru/wp-content/uploads/2019/12/bad-service-task.png)
Символ не соответствует тексту
Хороший пример
![](https://bpmn2.ru/wp-content/uploads/2019/12/good-service-task.png)
Отправка и обработка запроса от сторонней информационной системы
Действия: Выполнение бизнес-правила (Задача-выполнение бизнес-правила)
Business Rule TaskОписание
Используется для принятия решения в процессе по бизнес-правилам
Плохой пример
![](https://bpmn2.ru/wp-content/uploads/2019/12/bad-business-rule.png)
Активное действие, не связанное с бизнес-правилами
Хороший пример
![](https://bpmn2.ru/wp-content/uploads/2019/12/good-business-rule.png)
Расчёт стоимости тарифа по правилам
Действия: Выполнение сценария (Задача-выполнение сценария)
Script TaskОписание
Используется для для вызова "скрипта"
Плохой пример
![](https://bpmn2.ru/wp-content/uploads/2019/12/bad-script-task.png)
Символ не соответствует тексту
Хороший пример
![](https://bpmn2.ru/wp-content/uploads/2019/12/good-script-task.png)
Выполнение небольшой автоматизационной задачи на скриптовом языке
Группа: Группа
GroupОписание
Используется для визуального объединения элементов
Плохой пример
![](https://bpmn2.ru/wp-content/uploads/2019/12/bad-group.png)
Используется вместо специализированных символов
Хороший пример
![](https://bpmn2.ru/wp-content/uploads/2019/12/good-group.png)
Показывает ответственных за группу активностей
Дорожка: Дорожка
LaneОписание
Используется для отображения участника процесса
Плохой пример
![](https://bpmn2.ru/wp-content/uploads/2022/09/bpmn-icon-lane-bad-example.png)
Любое использование дорожек
Хороший пример
![](https://bpmn2.ru/wp-content/uploads/2022/09/bpmn-icon-lane-good-example.png)
Нет хорошего повода использовать дорожки. Используйте вместо них разноцветные элементы
Действия: Задача, выполняемая вручную
Manual TaskОписание
Используется для задачи, выполняемой в дали от "компьютера"
Плохой пример
![](https://bpmn2.ru/wp-content/uploads/2019/12/bad-manual-task-1.png)
Интеграционная задача, а сделана как ручная
Хороший пример
![](https://bpmn2.ru/wp-content/uploads/2019/12/good-manual-task.png)
Задача вне компьютера
Действия: Задача, выполняемая пользователем
User TaskОписание
Используется для задачи, выполняемой за компьютером
Плохой пример
![](https://bpmn2.ru/wp-content/uploads/2019/12/bad-user-task.png)
Символ не соответствует тексту
Хороший пример
![](https://bpmn2.ru/wp-content/uploads/2019/12/good-user-task.png)
Звонок через CRM с внесением результата
Прочее: Комментарий
AnnotationОписание
Используется для текстового комментария к элементах схемы
Плохой пример
![](https://bpmn2.ru/wp-content/uploads/2019/12/bad-comment.png)
Комментарий описывает то, что следовало бы отобразить как часть схемы
Хороший пример
![](https://bpmn2.ru/wp-content/uploads/2019/12/good-comment.png)
Комментарий описывает то, что не может быть выражено другими символами BPMN
Действия: Компенсирующее действие
Compensation ActivityОписание
Используется для действия компенсации
Плохой пример
![](https://bpmn2.ru/wp-content/uploads/2019/12/bad-compensation-activity.png)
Использование как обычного действия
Хороший пример
![](https://bpmn2.ru/wp-content/uploads/2019/12/good-compensation-activity.png)
Специальное действие, которое "откатывает" другое дейсвтие, если случилось что-то плохое
Развилки: Комплексная развилка
Complex GatewayОписание
Используется для сложных сценариев разветвления
Плохой пример
![](https://bpmn2.ru/wp-content/uploads/2019/12/bad-complex-gateway.png)
Развилка проверяет обычный выбор, можно заменить на развилку ИЛИ\ИЛИ
Хороший пример
![](https://bpmn2.ru/wp-content/uploads/2019/12/good-complex-gateway.png)
Развилка проверяет, что 3 из 5 судей проголосовали
Компенсация: Конечное событие-инициатор компенсации
End compensation throw eventОписание
Используется для заверешния процесса (или уничтожения токена) и отправки компенсации
Плохой пример
![](https://bpmn2.ru/wp-content/uploads/2019/12/no-results.png)
null
Хороший пример
![](https://bpmn2.ru/wp-content/uploads/2019/12/no-results.png)
null
Отмена: Конечное событие-инициатор отмены
End cancel throw eventОписание
Используется для завершения текущего процесса (или уничтожения токена) и отправки отмены
Плохой пример
![](https://bpmn2.ru/wp-content/uploads/2019/12/no-results.png)
Использование где-либо, кроме транзакционных подпроцессов
Хороший пример
![](https://bpmn2.ru/wp-content/uploads/2022/09/bpmn-icon-intermediate-event-catch-cancel-good-example.png)
Используем в транзакционным процессом для старта обработки
Ошибка: Конечное событие-инициатор ошибки
End error throw eventОписание
Используется для отправки ошибки и завершения процесса (или уничтожения токена)
Плохой пример
![](https://bpmn2.ru/wp-content/uploads/2022/09/bpmn-icon-end-event-error-bad-example.png)
Использование без прикрепленного события обработкикка
Хороший пример
![](https://bpmn2.ru/wp-content/uploads/2022/09/bpmn-icon-end-event-error-good-example.png)
Выкидывает наружу ошибку
Сигнал: Конечное событие-инициатор сигнала
End signal throw eventОписание
Используется для отправка сигнала и завершение текущего процесса (или уничтожение токена)
Плохой пример
![](https://bpmn2.ru/wp-content/uploads/2020/03/end-signal-bad-example.png)
Замена обычного завершающего события
Хороший пример
![](https://bpmn2.ru/wp-content/uploads/2020/03/end-signal-good-example.png)
В результате процесса нужно отправлять сигнал в другие процессы
Сообщения: Конечное событие-инициатор сообщения
End message throw eventОписание
Используется для завершения текущего процесса (или уничтожения токена) и отправки сообщения другому участнику взаимодействия
Плохой пример
![](https://bpmn2.ru/wp-content/uploads/2019/12/no-results.png)
null
Хороший пример
![](https://bpmn2.ru/wp-content/uploads/2019/12/no-results.png)
null
Эскалация: Конечное событие-инициатор эскалации
End escalation throw eventОписание
Используется для завершения текущего процесса (или уничтожения токена) и отправки эскалации
Плохой пример
![](https://bpmn2.ru/wp-content/uploads/2019/12/no-results.png)
null
Хороший пример
![](https://bpmn2.ru/wp-content/uploads/2019/12/no-results.png)
null
Останов: Конечное событие-останов
End terminate throw eventОписание
Используется для уничтожения всех токенов в процессе и завершение процесса
Плохой пример
![](https://bpmn2.ru/wp-content/uploads/2020/03/terminate-bad-example.png)
Замена обычного завершающего события
Хороший пример
![](https://bpmn2.ru/wp-content/uploads/2020/03/terminate-good-example.png)
Вы допускаете существование нескольких токенов, но при определённом действии надо прекратить процесс
Сигнал: Начальное непрерывающее событие-сигнал
Start non-interrupting signal eventОписание
Используется для старта подпроцесса обработчика по сигналу
Плохой пример
![](https://bpmn2.ru/wp-content/uploads/2022/09/bpmn-icon-start-event-signal-bad-example.png)
Получение сигнала из соседнего процесса и запуск своего процесса
Хороший пример
![](https://bpmn2.ru/wp-content/uploads/2022/09/bpmn-icon-start-event-signal-good-example.png)
Хорошим примером является отказ от использования сигналов
Сообщения: Начальное непрерывающее событие-сообщение
Start non-interrupting message eventОписание
Используется для старта встроенного подпроцесса обработчика по сообщению и уничтожения родительского процесса
Плохой пример
![](https://bpmn2.ru/wp-content/uploads/2019/12/no-results.png)
null
Хороший пример
![](https://bpmn2.ru/wp-content/uploads/2019/12/no-results.png)
null
Таймер: Начальное непрерывающее событие-таймер
Start non-interrupting timer eventОписание
Используется для старта встроенного подпроцесса обработчика по таймеру
Плохой пример
![](https://bpmn2.ru/wp-content/uploads/2019/12/no-results.png)
null
Хороший пример
![](https://bpmn2.ru/wp-content/uploads/2019/12/no-results.png)
null
Условия: Начальное непрерывающее событие-условие
Start non-interrupting conditional eventОписание
Используется для старта встроенного подпроцесса
Плохой пример
![](https://bpmn2.ru/wp-content/uploads/2019/12/no-results.png)
null
Хороший пример
![](https://bpmn2.ru/wp-content/uploads/2019/12/no-results.png)
null
Эскалация: Начальное непрерывающее событие-эскалация
Start non-interrupting escalation eventОписание
Используется для старта встроенного подпроцесса по получению эскалации
Плохой пример
![](https://bpmn2.ru/wp-content/uploads/2019/12/no-results.png)
null
Хороший пример
![](https://bpmn2.ru/wp-content/uploads/2019/12/no-results.png)
null
Компенсация: Начальное прерывающее событие-компенсация
Start interrupting compensation eventОписание
Используется для старта подпроцесс обработчика эскалации и прерывании родительского процесса
Плохой пример
![](https://bpmn2.ru/wp-content/uploads/2019/12/no-results.png)
null
Хороший пример
![](https://bpmn2.ru/wp-content/uploads/2019/12/no-results.png)
В вашей схеме используется компенсация и вы
Ошибка: Начальное прерывающее событие-ошибка
Start interrupting error eventОписание
Используется для старта процесса из-за ошибки
Плохой пример
![](https://bpmn2.ru/wp-content/uploads/2022/09/bpmn-icon-start-event-error-bad-example.png)
Используем вместо других символов, например таймера
Хороший пример
![](https://bpmn2.ru/wp-content/uploads/2022/09/bpmn-icon-start-event-error-good-example.png)
Запускаем подпроцесс обработки неисправляемой ошибки
Сигнал: Начальное прерывающее событие-сигнал
Start interrupting signal eventОписание
Используется для старта подпроцесса обработчика по сигналу и прерывания родительского процесса
Плохой пример
![](https://bpmn2.ru/wp-content/uploads/2022/09/bpmn-icon-start-event-signal-bad-example.png)
Получение сигнала из соседнего процесса и запуск своего процесса
Хороший пример
![](https://bpmn2.ru/wp-content/uploads/2022/09/bpmn-icon-start-event-signal-good-example.png)
Хорошим примером является отказ от использования сигналов
Сообщения: Начальное прерывающее событие-сообщение
Start interrupting message eventОписание
Используется для старта встроенного подпроцесса обработчика по сообщению и уничтожения родительского процесса
Плохой пример
![](https://bpmn2.ru/wp-content/uploads/2022/01/bpmn-icon-start-event-message-bad.png)
Использование с противоречивым описанием
Хороший пример
![](https://bpmn2.ru/wp-content/uploads/2022/01/bpmn-icon-start-event-none-good.png)
Обработка отмены заказа и немедленное прерывание основного процесса
Таймер: Начальное прерывающее событие-сообщение
Start interrupting timer eventОписание
Используется для старта встроенного подпроцесса обработчика по таймеру и уничтожению родительского процесса
Плохой пример
![](https://bpmn2.ru/wp-content/uploads/2019/12/no-results.png)
null
Хороший пример
![](https://bpmn2.ru/wp-content/uploads/2019/12/no-results.png)
null
Условия: Начальное прерывающее событие-условие
Start interrupting conditional eventОписание
Используется для старта встроенного подпроцесса и прерывания родительского процесаа
Плохой пример
![](https://bpmn2.ru/wp-content/uploads/2019/12/no-results.png)
null
Хороший пример
![](https://bpmn2.ru/wp-content/uploads/2019/12/no-results.png)
null
Эскалация: Начальное прерывающее событие-эскалация
Start interrupting escalation eventОписание
Используется для старта встроенного подпроцесса по получению эскалации и приерыванию родительского процесса
Плохой пример
![](https://bpmn2.ru/wp-content/uploads/2019/12/no-results.png)
null
Хороший пример
![](https://bpmn2.ru/wp-content/uploads/2019/12/no-results.png)
null
Сигнал: Начальное событие-сигнал
Start signal eventОписание
Используется для старта процесса по сигналу
Плохой пример
![](https://bpmn2.ru/wp-content/uploads/2022/09/bpmn-icon-start-event-signal-bad-example.png)
Получение сигнала из соседнего процесса и запуск своего процесса
Хороший пример
![](https://bpmn2.ru/wp-content/uploads/2022/09/bpmn-icon-start-event-signal-good-example.png)
Хорошим примером является отказ от использования сигналов
Сообщения: Начальное событие-сообщение
Start message eventОписание
Используется для старта процесса при получении события от других участников взаимодейсвтия
Плохой пример
![](https://bpmn2.ru/wp-content/uploads/2022/01/bpmn-icon-start-event-message-bad.png)
Использование как обычного старта или с противоречивым описанием
Хороший пример
![](https://bpmn2.ru/wp-content/uploads/2022/01/bpmn-icon-start-event-message-good.png)
Запуск независимого процесса, результаты которого не нужны в текущем
Таймер: Начальное событие-таймер
Start timer eventОписание
Используется для старта процесса по времени
Плохой пример
![](https://bpmn2.ru/wp-content/uploads/2019/12/no-results.png)
null
Хороший пример
![](https://bpmn2.ru/wp-content/uploads/2019/12/no-results.png)
null
Условия: Начальное событие-условие
Start conditional eventОписание
Используется для старта процесса по условию
Плохой пример
![](https://bpmn2.ru/wp-content/uploads/2019/12/no-results.png)
null
Хороший пример
![](https://bpmn2.ru/wp-content/uploads/2019/12/no-results.png)
null
Хранилище: Объект данных
Data ObjectОписание
Используется для создания сущности(например документа) только в рамках процесса
Плохой пример
![](https://bpmn2.ru/wp-content/uploads/2019/12/bad-data-object.png)
Создали заявку, но обращаемся к ней из разных процессов
Хороший пример
![](https://bpmn2.ru/wp-content/uploads/2019/12/good-data-object.png)
Создаем и работаем с заявкой в рамках процесса
Действия: Отправка сообщения (Задача-отправка сообщения)
Send TaskОписание
Используется для отправки сообщения в другой процесс
Плохой пример
![](https://bpmn2.ru/wp-content/uploads/2019/12/good-send-task.png)
Отправка уведомления клиенту
Хороший пример
![](https://bpmn2.ru/wp-content/uploads/2019/12/bad-send-task.png)
Отправки сообщения соседнему участнику бизнес-процесса
Подпроцесс: Подпроцесс «по требованию»
Ad Hoc SubprocessОписание
Используется для действия, которое выполняется по инициативе исполнителя одной из задач процесса
Плохой пример
![](https://bpmn2.ru/wp-content/uploads/2019/12/no-results.png)
Любое использование ad hoc процессов
Хороший пример
![](https://bpmn2.ru/wp-content/uploads/2019/12/no-results.png)
Нет хороших поводов использовать ad-hoc процессы
Подпроцесс: Подпроцесс по событию
Event SubprocessОписание
Используется для логики процесса, которая может произойти в любой момент, пока жив основной процесс
Плохой пример
![](https://bpmn2.ru/wp-content/uploads/2019/12/bad-event-subprocess.png)
Попытка организовать переиспользование через встроенные подпроцессы обработчики
Хороший пример
![](https://bpmn2.ru/wp-content/uploads/2019/12/good-event-subprocess.png)
Уведомления менеджеру о том, что процесс долго выполняется
Действия: Получение сообщения (Задача-получение сообщения)
Receive TaskОписание
Используется для получения сообщения от другого процесса
Плохой пример
![](https://bpmn2.ru/wp-content/uploads/2019/12/bad-receive-task.png)
Ожидание е-мейл или смс сообщения
Хороший пример
![](https://bpmn2.ru/wp-content/uploads/2019/12/good-receive-task.png)
Получение сообщения из другого бизнес-процесса
Потоки: Поток сообщений
Message FlowОписание
Используется для соединения сообщений и\или пулов, отображает отправку сообщений
Плохой пример
![](https://bpmn2.ru/wp-content/uploads/2019/12/bad-message-flow.png)
Участники одного процесса разнесены в разные пулы и между ними отправляются сообщения
Хороший пример
![](https://bpmn2.ru/wp-content/uploads/2019/12/good-message-flow.png)
Используется для отправки сообщения между двумя участниками
Потоки: Поток управления
Sequence FlowОписание
Используется для передачи работы между элементами процесса
Плохой пример
![](https://bpmn2.ru/wp-content/uploads/2019/12/bad-sequence-flow.png)
Отображение вариативности конкретного действия
Хороший пример
![](https://bpmn2.ru/wp-content/uploads/2019/12/good-sequence-flow.png)
Передает ответственность за работу и информацию по процессу
Сигнал: Промежуточное прикрепленное непрерывающее событие-обработчик сигнала
Intermidiate attached non-interrputing signal catch eventОписание
Используется для ожидания получения сигнала, пока активно родительское действие
Плохой пример
![](https://bpmn2.ru/wp-content/uploads/2022/09/bpmn-icon-intermediate-event-catch-signal-bad-example.png)
Получение сигнала из соседнего процесса, предназначенного конкретному экземпляру
Хороший пример
![](https://bpmn2.ru/wp-content/uploads/2022/09/bpmn-icon-intermediate-event-catch-non-interrupting-signal-good-example.png)
Хорошим примером является отказ от использования сигналов
Сообщения: Промежуточное прикрепленное непрерывающее событие-обработчик сообщения
Intermidiate attached non-interrputing message catch eventОписание
Используется для точки ожидания сообщения, пока активно действие
Плохой пример
![](https://bpmn2.ru/wp-content/uploads/2019/12/no-results.png)
null
Хороший пример
![](https://bpmn2.ru/wp-content/uploads/2019/12/no-results.png)
null
Таймер: Промежуточное прикрепленное непрерывающее событие-обработчик таймера
Intermidiate non-interrupting attached timer catch eventОписание
Используется для старта ожидания таймера, пока родительское действие и активно
Плохой пример
![](https://bpmn2.ru/wp-content/uploads/2019/12/no-results.png)
null
Хороший пример
![](https://bpmn2.ru/wp-content/uploads/2019/12/no-results.png)
null
Условия: Промежуточное прикрепленное непрерывающее событие-обработчик условия
Intermidiate attached non-interrputing conditional catch eventОписание
Используется для ожидания выполнения условия, пока активно родительское действие, и его прерывания по наступлению события
Плохой пример
![](https://bpmn2.ru/wp-content/uploads/2019/12/no-results.png)
null
Хороший пример
![](https://bpmn2.ru/wp-content/uploads/2019/12/no-results.png)
null
Эскалация: Промежуточное прикрепленное непрерывающее событие-обработчик эскалации
Intermidiate attached non-interrupting escalation catch eventОписание
Используется для обработки эскалации
Плохой пример
![](https://bpmn2.ru/wp-content/uploads/2019/12/no-results.png)
null
Хороший пример
![](https://bpmn2.ru/wp-content/uploads/2019/12/no-results.png)
null
Компенсация: Промежуточное прикрепленное прерывающее событие-обработчик компенсации
Intermidiate attached interrupting compensation catch eventОписание
Используется для старта обработки компенсации и прерывании родительского элемента
Плохой пример
![](https://bpmn2.ru/wp-content/uploads/2019/12/no-results.png)
null
Хороший пример
![](https://bpmn2.ru/wp-content/uploads/2019/12/no-results.png)
null
Отмена: Промежуточное прикрепленное прерывающее событие-обработчик отмены
Intermidiate attached interrupting cancel catch eventОписание
Используется для обработки отмены от родительского действия
Плохой пример
![](https://bpmn2.ru/wp-content/uploads/2019/12/no-results.png)
Использование где-либо, кроме транзакционных подпроцессов
Хороший пример
![](https://bpmn2.ru/wp-content/uploads/2022/09/bpmn-icon-intermediate-event-catch-cancel-good-example.png)
Используем на транзакционном процессе для старта обработки
Таймер: Промежуточное прикрепленное прерывающее событие-обработчик таймера
Intermidiate interrupting attached timer catch eventОписание
Используется для старта ожидания таймера, пока родительское действие и активно и его уничтожения по достижению времени
Плохой пример
![](https://bpmn2.ru/wp-content/uploads/2019/12/no-results.png)
null
Хороший пример
![](https://bpmn2.ru/wp-content/uploads/2019/12/no-results.png)
null
Эскалация: Промежуточное прикрепленное прирывающее событие-обработчик эскалации
Intermidiate attached interrupting escalation catch eventОписание
Используется для обработки эскалации и завершения родительского действия
Плохой пример
![](https://bpmn2.ru/wp-content/uploads/2019/12/no-results.png)
null
Хороший пример
![](https://bpmn2.ru/wp-content/uploads/2019/12/no-results.png)
null
Ошибка: Промежуточное прикрепленное событие-обработчик ошибки
Intermidiate attached interrupting error catch eventОписание
Используется для обработки ошибки, полученной в рамках действия
Плохой пример
![](https://bpmn2.ru/wp-content/uploads/2022/09/bpmn-icon-end-event-error-bad-example.png)
Использование без инициатора ошибки
Хороший пример
![](https://bpmn2.ru/wp-content/uploads/2022/09/bpmn-icon-end-event-error-good-example.png)
Обрабатываем полученную ошибку
Сигнал: Промежуточное прикрепленное событие-обработчик сигнала
Intermidiate attached signal catch eventОписание
Используется для ожидания получения сигнала, пока активно родительское действие, и его прерывания при получении сигнала
Плохой пример
![](https://bpmn2.ru/wp-content/uploads/2022/09/bpmn-icon-intermediate-event-catch-signal-bad-example.png)
Получение сигнала из соседнего процесса, предназначенного конкретному экземпляру
Хороший пример
![](https://bpmn2.ru/wp-content/uploads/2022/09/bpmn-icon-intermediate-event-catch-non-interrupting-signal-good-example.png)
Хорошим примером является отказ от использования сигналов
Сообщения: Промежуточное прикрепленное событие-обработчик сообщения
Intermidiate attached message catch eventОписание
Используется для точки ожидания сообщения, пока активно действие и его уничтожения по получению сообщения
Плохой пример
![](https://bpmn2.ru/wp-content/uploads/2019/12/no-results.png)
null
Хороший пример
![](https://bpmn2.ru/wp-content/uploads/2019/12/no-results.png)
null
Условия: Промежуточное прикрепленное событие-обработчик условия
Intermidiate attached conditional catch eventОписание
Используется для ожидания выполнения условия, пока активно родительское действие, и его прерывания по наступлению события
Плохой пример
![](https://bpmn2.ru/wp-content/uploads/2019/12/no-results.png)
null
Хороший пример
![](https://bpmn2.ru/wp-content/uploads/2019/12/no-results.png)
null
Компенсация: Промежуточное событие-инициатор компенсации
Intermidiate compensation throw eventОписание
Используется для отправки компенсации
Плохой пример
![](https://bpmn2.ru/wp-content/uploads/2019/12/no-results.png)
null
Хороший пример
![](https://bpmn2.ru/wp-content/uploads/2019/12/no-results.png)
null
Сигнал: Промежуточное событие-инициатор сигнала
Intermidiate signal throw eventОписание
Используется для отправка сигнала
Плохой пример
![](https://bpmn2.ru/wp-content/uploads/2020/03/throw-signal-bad-example.png)
Действие, не связанное с сигналами
Хороший пример
![](https://bpmn2.ru/wp-content/uploads/2020/03/throw-signal-good-example.png)
Во время процесса нужно отправлять сигнал в другие процессы
Сообщения: Промежуточное событие-инициатор сообщения
Intermidiate message throw eventОписание
Используется для точки отправки сообщения другому участнику взаимодействия
Плохой пример
![](https://bpmn2.ru/wp-content/uploads/2019/12/no-results.png)
null
Хороший пример
![](https://bpmn2.ru/wp-content/uploads/2019/12/no-results.png)
null
Ссылка: Промежуточное событие-инициатор ссылки
Intermidiate link throw eventОписание
Используется для замены потока управления и отображения завершения замены
Плохой пример
![](https://bpmn2.ru/wp-content/uploads/2022/09/bpmn-icon-intermediate-event-catch-link-bad-example.png)
Ставим ссылки
Хороший пример
![](https://bpmn2.ru/wp-content/uploads/2022/09/bpmn-icon-intermediate-event-catch-link-good-example.png)
Хорошим примером является отказ от использования ссылок
Эскалация: Промежуточное событие-инициатор эскалации
Intermidiate escalation throw eventОписание
Используется для запуска эскалации
Плохой пример
![](https://bpmn2.ru/wp-content/uploads/2019/12/no-results.png)
null
Хороший пример
![](https://bpmn2.ru/wp-content/uploads/2019/12/no-results.png)
null
Сигнал: Промежуточное событие-обработчик сигнала
Intermidiate signal catch eventОписание
Используется для ожидания получения сигнала
Плохой пример
![](https://bpmn2.ru/wp-content/uploads/2022/09/bpmn-icon-intermediate-event-catch-non-interrupting-signal-bad-example.png)
Получения смс-ки от клиента
Хороший пример
![](https://bpmn2.ru/wp-content/uploads/2022/09/bpmn-icon-intermediate-event-catch-signal-good-example.png)
Хорошим примером является отказ от использования сигналов
Сообщения: Промежуточное событие-обработчик сообщения
Intermidiate message catch eventОписание
Используется для отображения точки ожидания сообщения от другого участника взаимодействия
Плохой пример
![](https://bpmn2.ru/wp-content/uploads/2019/12/no-results.png)
null
Хороший пример
![](https://bpmn2.ru/wp-content/uploads/2019/12/no-results.png)
null
Ссылка: Промежуточное событие-обработчик ссылки
Intermidiate link catch eventОписание
Используется для замены потока управления и отображения начала замены
Плохой пример
![](https://bpmn2.ru/wp-content/uploads/2022/09/bpmn-icon-intermediate-event-catch-link-bad-example.png)
Ставим ссылки
Хороший пример
![](https://bpmn2.ru/wp-content/uploads/2022/09/bpmn-icon-intermediate-event-catch-link-good-example.png)
Хорошим примером является отказ от использования ссылок
Таймер: Промежуточное событие-обработчик таймера
Intermidiate timer catch eventОписание
Используется для старта ожидания таймера в процессе
Плохой пример
![](https://bpmn2.ru/wp-content/uploads/2019/12/no-results.png)
null
Хороший пример
![](https://bpmn2.ru/wp-content/uploads/2019/12/no-results.png)
null
Условия: Промежуточное событие-обработчик условия
Intermidiate conditional catch eventОписание
Используется для ожидания выполнения условия
Плохой пример
![](https://bpmn2.ru/wp-content/uploads/2019/12/no-results.png)
null
Хороший пример
![](https://bpmn2.ru/wp-content/uploads/2019/12/no-results.png)
null
События: Простое конечное событие
None end eventОписание
Используется для завершения процесса (или уничтожения токена)
Плохой пример
![](https://bpmn2.ru/wp-content/uploads/2022/01/bpmn-icon-end-event-none-mad.png)
Снабжение элемента смыслом, который может быть выражен другими символами
Хороший пример
![](https://bpmn2.ru/wp-content/uploads/2022/01/bpmn-icon-end-event-none-good.png)
Просто завершение процесса \ уничтожение токена
События: Простое начальное событие
None start eventОписание
Используется для старта процесса
Плохой пример
![](https://bpmn2.ru/wp-content/uploads/2020/03/start-event-bad-example.png)
Используется простой старт, но текстом указано пояснение, которое можно выразить другим символом
Хороший пример
![](https://bpmn2.ru/wp-content/uploads/2020/03/start-event-good-example.png)
Не требуется указание специфики старта процесса
События: Простое промежуточное событие-обработчик
None catch eventОписание
Используется для отображения важного события в рамках процесса
Плохой пример
![](https://bpmn2.ru/wp-content/uploads/2020/03/intermid-event-bad-example.png)
Ожидание события
Хороший пример
![](https://bpmn2.ru/wp-content/uploads/2020/03/intermid-event-good-example.png)
Переход сущности в определенный статус
Развилки: Развилка «и» (Параллельная развилка)
Parallel GatewayОписание
Используется для разделения потока управления
Плохой пример
![](https://bpmn2.ru/wp-content/uploads/2019/12/bad-inclusive-gateway.png)
Зацикливание процесса
Хороший пример
![](https://bpmn2.ru/wp-content/uploads/2019/12/good-parallel-gateway.png)
Нужно И позвонить, И отправить смску
Развилки: Развилка «и/или»
Inclusive GatewayОписание
Используется для выбора конкретных потоков управления
Плохой пример
![](https://bpmn2.ru/wp-content/uploads/2019/12/bad-inclusive-gateway.png)
Использования для более простой логики
Хороший пример
![](https://bpmn2.ru/wp-content/uploads/2019/12/good-inclusive-gateway.png)
В конверт сложат и Заказ, и промоматериалы
Развилки: Развилка «или/или»
Exclusive GatewayОписание
Используется для нужна для развилки по одному потоку управления
Плохой пример
![](https://bpmn2.ru/wp-content/uploads/2019/12/bad-exclusive-event.png)
Сложная неявная логика на ветках
Хороший пример
![](https://bpmn2.ru/wp-content/uploads/2019/12/good-exclusive-event.png)
Показывает выбор из равнозначных вариантов
Развилки: Развилка по событиям
Event GatewayОписание
Используется для развилки по потенциальным событиям
Плохой пример
![](https://bpmn2.ru/wp-content/uploads/2019/12/bad-event-gateway.png)
Использование развилки для каких-то других целей
Хороший пример
![](https://bpmn2.ru/wp-content/uploads/2019/12/good-event-gateway.png)
Одновременно может произойти 3 равнозначных события, Ждём любого из них
Пул: Раскрытый пул
PoolОписание
Используется для показа бизнес-процесса и\или участников взаимодействия
Плохой пример
![](https://bpmn2.ru/wp-content/uploads/2019/12/bad-black-pool.png)
Зачем-то пытаемся ставить задачи клиенту
Хороший пример
![](https://bpmn2.ru/wp-content/uploads/2019/12/good-open-pool.png)
Раскрываем подробности того, как устроен один из наших бизнес-процессов
Пул: Скрытый пул (Пул-«черный ящик»)
Black Box PoolОписание
Используется для клиентов, систем и других участников взаимодействия, чье поведение мы не знаем
Плохой пример
![](https://bpmn2.ru/wp-content/uploads/2019/12/bad-black-pool.png)
Зачем-то пытаемся ставить задачи клиенту
Хороший пример
![](https://bpmn2.ru/wp-content/uploads/2019/12/good-black-pool.png)
Работаем с пулом, как с черным ящиком. Не знаем, как он себя поведёт
Петля: Стандартный цикл
Standard LoopОписание
Используется для демонстрации выполнения действия до определённых условий
Плохой пример
![](https://bpmn2.ru/wp-content/uploads/2019/12/bad-standart-cicle.png)
Итерирование по набору сущностей
Хороший пример
![](https://bpmn2.ru/wp-content/uploads/2019/12/good-standart-cicle.png)
Указание в тексте до каких пор выполняется действие
Подпроцесс: Транзакционный подпроцесс
Transactional SubprocessОписание
Используется для части процесса, которая либо выполнится вместе, либо не будет выполнена вообще
Плохой пример
![](https://bpmn2.ru/wp-content/uploads/2019/12/bad-transactional-subprocess.png)
Неуместное использование транзакционного подпроцесса
Хороший пример
![](https://bpmn2.ru/wp-content/uploads/2019/12/good-transactional-subprocess.png)
Если снять деньги не получилось, то и отель надо отменить
Прочее: Хранилище данных
Data StoreОписание
Используется для ит-систем и\или хранилищ данных в любой форме (папка, архив)
Плохой пример
![](https://bpmn2.ru/wp-content/uploads/2019/12/bad-data-store.png)
Пытаемся заставить что-то сделать хранилище
Хороший пример
![](https://bpmn2.ru/wp-content/uploads/2019/12/good-data-store.png)
Получаем данные из хранилища
Петля: Цикл по объектам
Multi-Instance LoopОписание
Используется для выполнения действия по набору объектов
Плохой пример
![](https://bpmn2.ru/wp-content/uploads/2019/12/bad-multi-instance.png)
Без явного указания на множественность операций в названии
Хороший пример
![](https://bpmn2.ru/wp-content/uploads/2019/12/good-multi-instance.png)
Явное отображение множественности операции в названии