Эл. почта в процессе. Отправка, получение и обработка. Пример: настройка подключений, путей передачи данных, диаграммы процесса и сценария
Введение
Comindware Platform может отправлять и принимать электронные письма, а также передавать сообщения между процессами.
Здесь представлены инструкции по настройке обмена данными посредством электронных писем и межпроцессного взаимодействия на примере процесса согласования отпуска:
- настройка подключений и путей передачи данных;
- настройка процессов согласования отпуска и обработки эл. писем;
- настройка событий отправки и получения сообщений на диаграммах процессов.
Сценарии обработки эл. почты в процессе
В зависимости от бизнес-требований можно настроить различные сценарии обработки эл. почты:
- Отправка почты:
- Уведомления пользователей — отправка уведомлений о событиях процессов (завершение задач, изменения статуса).
- Запросы на действие — отправка писем с кнопками для выполнения действий без входа в систему.
- Отчеты и документы — автоматическая отправка сгенерированных отчетов и документов.
- Приём почты:
- Обработка запросов — создание новых экземпляров процесса для каждого входящего письма.
- Обработка ответов — направление писем в существующие экземпляры процессов.
- Маршрутизация — использование технического процесса для анализа и маршрутизации различных типов писем.
Логика идентификации писем
Для идентификации писем здесь используются идентификаторы:
- В тему исходящего письма внедряется идентификатор (например, номер заявления, идентификатор процесса или GUID) с машиночитаемой маркировкой, например:
Заявление № [{ApplicationNumber}]. - При получении письма идентификатор извлекается из темы для маршрутизации процесса:
- либо в существующий экземпляр процесса, ожидающий письмо;
- либо через конечное событие для выполнения дальнейших действий.
Для повышения безопасности используйте GUID человекочитаемых идентификаторов и проверяйте отправителей писем.
Технический процесс для обработки входящих писем
Для обработки входящих писем рекомендуется создать технический процесс, обеспечивающий маршрутизацию на основе анализа содержимого письма.
Такой подход позволяет:
- централизованно обрабатывать все входящие письма;
- определять, следует ли обрабатывать письмо, и относится ли оно к процессу;
- анализировать содержимое для определения типа запроса;
- маршрутизировать письма в соответствующие бизнес-процессы;
- обеспечить единообразную обработку различных типов сообщений.
Это особенно актуально в случае использования одного адреса для обработки различных писем, но рекомендуется и в случае использования специализированных адресов с целью повышения безопасности.

Прикладная задача
Требуется настроить процесс согласования Руководителем заявлений на отпуск так, чтобы Руководитель мог согласовать отпуск или отказать в отпуске с помощью кнопки в эл. письме с заявлением, не покидая почтового ящика и не выполняя вход в Comindware Platform.
Настроим процесс «Согласование отпуска» из следующих шагов:
- Заявитель подаёт заявление на отпуск.
-
Процесс «Согласование отпуска» отправляет Руководителю эл. письмо от имени Отдела кадров со следующим содержимым:
- Номер заявления
- Ф. И. О. заявителя
- Даты начала и окончания отпуска
- Количество дней отпуска
- Кнопки «Согласовать отпуск» и «Отказать в отпуске»
- Инструкции по подаче решения по заявлению
-
Руководитель рассматривает заявление и нажимает в письме кнопку «Согласовать отпуск» или «Отказать в отпуске».
-
При нажатии Руководителем кнопки автоматически создаётся новое письмо со следующим содержимым:
- Получатель — адрес почтового ящика, письма в котором обрабатывает процесс «Обработка ответа руководителя»;
- Тема — решение по заявлению и номер заявления.
Примечание
Руководитель не должен изменять адрес получателя и тему автоматически созданного письма.
В тексте письма Руководитель может указать в произвольной форме причину решения по заявлению.
-
Руководитель отправляет заполненное письмо с решением по заявлению.
- Процесс «Обработка ответа руководителя» получает письмо от Руководителя, извлекает из него данные и передаёт решение Руководителя в процесс «Согласование отпуска».
- В зависимости от решения Руководителя процесс «Согласование отпуска» отправляет Заявителю уведомление «Отпуск согласован» или «В отпуске отказано» от имени Отдела кадров.
Исходные данные
В приложении «Отпуска» создайте перечисленные ниже шаблоны.
Шаблон процесса «Согласование отпуска»
Шаблон процесса «Согласование отпуска» свяжите с шаблоном записи «Заявления на отпуск».
См. также «Настройка элементов диаграммы процесса «Согласование отпуска».
- Оформлено заявление на отпуск — простое начальное событие; соединено с событием «Отправка уведомления для руководителя».
- Отправка уведомления для руководителя — промежуточное событие-отправка сообщения; соединено с событием «Обработан ответ руководителя».
- Обработан ответ руководителя — промежуточное событие-получение сообщения; соединено с развилкой «Решение руководителя».
- Решение руководителя — развилка «или/или»; соединена с событиями «Отпуск согласован» и «В отпуске отказано».
- Отпуск согласован — конечное событие-отправка сообщения.
- В отпуске отказано — конечное событие-отправка сообщения.

Шаблон процесса «Обработка ответа руководителя»
Шаблон процесса «Обработка ответа руководителя» свяжите с шаблоном записи «Решения руководителя».
См. также «Настройка элементов диаграммы процесса «Обработка ответа руководителя».
- Поступил ответ руководителя — начальное событие-получение сообщения; соединено с конечным событием.
- Передача решения в процесс «Согласование отпуска» — конечное событие-отправка сообщения.

Атрибуты шаблона записи «Заявления на отпуск»
|
Название |
Системное имя |
Свойства |
|---|---|---|
|
№ заявления |
ApplicationNumber |
Тип данных: текст |
|
Имя заявителя |
ApplicantName |
Тип данных: текст Вычислять автоматически: флажок установлен Вычисляемое значение: формула
|
|
Адрес заявителя |
ApplicantEmail |
Тип данных: текст Вычислять автоматически: флажок установлен Вычисляемое значение: формула
|
|
Дата начала |
StartDate |
Тип данных: дата и время |
|
Количество дней |
Duration |
Тип данных: число |
|
Дата окончания |
EndDate |
Тип данных: дата и время Вычислять автоматически: флажок установлен Вычисляемое значение: формула
|
|
Решение руководителя |
ManagerDecision |
Тип данных: запись Связанный шаблон: Решения руководителя |
Атрибуты шаблона записи «Решения руководителя»
|
Название |
Системное имя |
Свойства |
|---|---|---|
|
Тема письма с ответом |
ResponseEmailSubject |
Тип данных: текст |
|
Комментарий руководителя |
ManagerComment |
Тип данных: текст |
|
№ заявления |
ApplicationNumber |
Тип данных: текст Вычислять автоматически: флажок установлен Вычисляемое значение: формула
|
|
Отпуск согласован |
LeaveApproved |
Тип данных: логический Вычислять автоматически: флажок установлен Вычисляемое значение: формула:
|
Синтаксис регулярного выражения
.*— ноль или более любых символов. Точка.обозначает любой одиночный символ, а звездочка*обозначает, что таких символов может быть ноль или больше. Этот фрагмент позволяет игнорировать любые символы, которые могут предшествовать искомой строке.Отпуск согласован\. Заявление №— фиксированная часть искомой строки. Регулярное выражение ищет именно этот текст в указанной последовательности с точным совпадением прописных и строчных букв.\.— экранированная точка. Точка в регулярном выражении означает любой одиночный символ, поэтому для поиска самой точки её необходимо экранировать с помощью косой черты\.
\[— экранированная квадратная скобка. Квадратные скобки в регулярных выражениях используются для обозначения диапазона символов, поэтому для поиска самой скобки необходимо её экранировать с помощью обратной косой черты\. Таким образом,\[означает «открывающая квадратная скобка».[0-9]+— набор из одной или более цифр. Диапазон[0-9]обозначает любую цифру от 0 до 9, а плюс+обозначает, что таких цифр может быть одна или более.\]— экранированная закрывающая квадратная скобка, аналогичная открывающей..*— ноль или более любых символов. Этот фрагмент позволяет игнорировать любые символы, которые могут следовать за искомой строкой.- Ознакомиться с принципами составления регулярных выражений и поэкспериментировать с ними можно на следующем сайте: https://regex101.com/
Пример
- Дано регулярное выражение:
.*Отпуск согласован\. Заявление № \[[0-9]+\].*
"Здравствуйте! Отпуск согласован. Заявление № [12345] одобрено."— удовлетворяет регулярному выражению."Ваш отпуск согласован. Заявление № [12345]."— не удовлетворяет регулярному выражению, так как слово «отпуск» должно начинаться с прописной буквы.
Настройка подключений
Отправка эл. почты из процесса
Настроим подключение к SMTP-серверу для отправки эл. писем от имени Отдела кадров.
- Откройте страницу «Администрирование» – «Подключения».
- Выберите пункт «Создать» – «Подключения к электронной почте» – «Отправка эл. почты из процесса».
-
Настройте подключение к SMTP-серверу:
- Название: Письма от отдела кадров;
- Адрес почтового сервера, Порт, Защита данных, Имя пользователя, Пароль: укажите параметры для доступа к SMTP-серверу;
- Адрес отправителя: укажите адрес эл. почты отдела кадров;
- Имя отправителя: Отдел кадров.
Получение эл. почты в процессе
Настроим подключение к IMAP-серверу для приёма писем с решением по заявлениям от Руководителя.
Логика чтения писем на почтовом сервере
При подключении к почтовому серверу для получения эл. почты Comindware Platform выступает как почтовый клиент, который регулярно проверяет наличие новых писем.
При каждой проверке почтового ящика Comindware Platform:
- обрабатывает новые письма;
- отмечает новые письма как прочтённые.
Таким образом, каждое непрочитанное письмо в указанном почтовом ящике будет обработано и отмечено как прочитанное.
Рекомендации по настройке:
- Используйте отдельный ящик эл. почты для автоматической обработки писем, чтобы избежать случайной обработки личной корреспонденции.
- Создайте технический процесс для приема входящих писем с последующей маршрутизацией по типу письма.
- Анализируйте содержимое писем (тему, отправителя, текст) для определения дальнейших действий при использовании одного адреса для обработки писем разных типов.
- Откройте страницу «Администрирование» – «Подключения».
- Выберите пункт «Создать» – «Подключения к электронной почте» – «Получение эл. почты в процессе».
-
Настройте подключение к IMAP-серверу:
- Название: Ответы от руководителя.
-
Протокол, Адрес почтового сервера, Порт, Имя пользователя, Пароль, Защита данных: укажите параметры для доступа к IMAP-серверу.
Примечание
Для обработки писем с решениями Руководителя рекомендуется использовать отдельный ящик эл. почты, например:
leavedecisions@<hostname>. -
Интервал опроса: укажите интервал, с которым Comindware Platform будет проверять наличие новых писем.
Настройка путей передачи данных
Отправка уведомления Руководителю
Бизнес-логика
Отправителем писем с заявлениями на отпуск будет указан Отдел кадров.
В письме Руководителю мы будем передавать значения следующих атрибутов заявления на отпуск: Номер заявления, Имя заявителя, Дата начала, Количество дней, Дата окончания.
В качестве Номера заявления мы будем использовать ID экземпляра процесса «Согласование отпуска».
Подстановка значений атрибутов сообщения в эл. письмо
Путь передачи данных для отправки эл. почты из процесса позволяет передавать данные из записей в эл. письмо.
- На вкладке «Атрибуты сообщения» пути передачи данных задайте набор атрибутов, значения которых требуется передать в путь передачи данных и подставить в сообщение.
-
На вкладке «Свойства сообщения» подставьте значения атрибутов сообщения в любое поле, указав их системные имена в фигурных скобках
{}.- Например, подставьте в тему письма номер заявления и имя заявителя:
- Тема: Заявление на отпуск №
{ApplicationNumber}от:{ApplicantName}
- Тема: Заявление на отпуск №
- Например, подставьте в тему письма номер заявления и имя заявителя:
-
Задайте значения атрибутов сообщения с помощью вкладки «Данные сообщения» в свойствах события отправки сообщения, использующего этот путь передачи данных.
Настроим путь передачи данных для отправки заявлений на рассмотрение Руководителю.
- В приложении «Отпуска» откройте страницу «Пути передачи данных».
- Выберите пункт «Создать» – «Подключения к электронной почте» – «Отправка эл. почты из процесса».
-
Настройте путь передачи данных:
- Основные свойства
- Название: Уведомление для руководителя
- Подключение: Письма от отдела кадров
- Имя сообщения: MessageToApprover
- Приложение: Отпуска
-
Атрибуты сообщения
Название Системное имя Тип данных Номер заявления ApplicationNumber Текст Имя заявителя ApplicantName Текст Дата начала StartDate Дата и время Количество дней Duration Число Дата окончания EndDate Дата и время -
Свойства сообщения
- Адрес отправителя: адрес эл. почты Отдела кадров
- Имя отправителя: Отдел кадров
- Кому: аккаунт или адрес эл. почты Руководителя
- Тема:
Заявление на отпуск № {ApplicationNumber} от: {ApplicantName} -
Формат сообщения: HTML
-
Сообщение
- Перейдите в поле «Сообщение».
- В панели инструментов нажмите кнопку «Источник» .
-
Введите следующий HTML-код:
<p>Уважаемый коллега!</p><p>Поступило заявление на отпуск № {ApplicationNumber}.</p><p>Заявитель: {ApplicantName}</p><p>Количество дней: {Duration}</p><p>Даты отпуска: {StartDate}–{EndDate}</p><p>Просьба согласовать отпуск или отказать в отпуске:</p><ol><li>Нажмите соответствующую кнопку ниже.</li><li>Будет создано новое письмо.</li><li>В теме письма будет указано Ваше решение по заявлению и номер заявления.</li><li><u>Не меняйте тему письма и адрес получателя.</u></li><li>При необходимости укажите причину решения в тексте письма.</li><li>Отправьте письмо.</li></ol><table border="0" cellpadding="6" cellspacing="0"><tbody markdown="block"><tr markdown="block"><td markdown="block"><a href="mailto:leavedecisions@<hostname>?subject=Отпуск согласован. Заявление № [{ApplicationNumber}]">Согласовать отпуск</a></td><td markdown="block"><a href="mailto:leavedecisions@<hostname>?subject=В отпуске отказано. Заявление № [{ApplicationNumber}]&body=Причина отказа:">Отказать в отпуске</a></td></tr></table> -
Снова нажмите кнопку «Источник» .
- Должно отобразиться показанное на следующей иллюстрации письмо:

Тема и текст письма для Руководителя с заполнителями для подстановки значений атрибутов - Основные свойства
Получение ответа Руководителя
Бизнес-логика
Из ответного письма руководителя путь передачи данных будет извлекать тему и текст письма.
Затем процесс «Обработка ответов руководителя» будет извлекать из письма данные в шаблон «Решения руководителя»:
- номер заявления из темы письма — в атрибут «№ заявления»
- решение по заявлению из темы письма — в атрибут «Отпуск согласован»;
- текст письма — в атрибут «Комментарий руководителя».
Извлечение значений атрибутов из эл. письма
Путь передачи данных для получения эл. почты из процесса позволяет передавать данные из эл. письма в записи.
-
На вкладке «Атрибуты сообщения» пути передачи данных задайте набор атрибутов, значения которых требуется извлечь из полученного письма. Для этого создайте атрибуты и сопоставьте их с полями эл. письма.
-
Например, поместите текст эл. письма в атрибут EmailBody:
- Название: Текст письма
- Системное имя: EmailBody
- Тип данных: текст
- Поместить тело атрибута в этот атрибут: Сообщение
-
-
Передайте значения атрибутов сообщения в атрибуты записи с помощью вкладки «Данные сообщения» в свойствах события получения сообщения, использующего этот путь передачи данных.
Настроим путь передачи данных для приёма писем от Руководителя.
- В приложении «Отпуска» откройте страницу «Пути передачи данных».
- Выберите пункт «Создать» – «Подключения к электронной почте» – «Получение эл. почты в процессе».
-
Настройте путь передачи данных:
-
Основные свойства
- Название: Ответ руководителя
- Подключение: Ответы от руководителя
- Имя сообщения: ReceiveManagerEmail (это имя сообщения в данном примере не используется, поэтому можно ввести произвольное уникальное имя)
- Приложение: Управление командировками
- Процесс: Обработка ответа
- Назначение: Новый экземпляр процесса
-
Атрибуты сообщения
Название Системное имя Тип данных Поместить тело атрибута в этот атрибут Тема письма EmailSubject Текст Тема Текст письма EmailBody Текст Сообщение
-
Отправка уведомления «Отпуск согласован»
Настроим путь передачи данных для отправки уведомлений о согласовании заявления от имени Отдела кадров.
- В приложении «Отпуска» откройте страницу «Пути передачи данных».
- Выберите пункт «Создать» – «Подключения к электронной почте» – «Отправка эл. почты из процесса».
-
Настройте путь передачи данных:
-
Основные свойства
- Название: Уведомление «Отпуск согласован»
- Подключение: Письма от отдела кадров
- Имя сообщения: MessageFromHrApproved
- Приложение: Отпуска
-
Атрибуты сообщения
Название Системное имя Тип данных № заявления ApplicationNumber Текст Имя заявителя ApplicantName Текст Адрес заявителя ApplicantEmail Текст Дата начала StartDate Дата и время Количество дней Duration Число Дата окончания EndDate Дата и время Комментарий руководителя ManagerComment Текст -
Свойства сообщения
- Адрес отправителя: адрес эл. почты Отдела кадров
- Имя отправителя: Отдел кадров
-
Кому:
- Адрес получателя:
{ApplicantEmail} - Имя получателя:
{ApplicantName}
- Адрес получателя:
-
Тема: Отпуск согласован. Заявление №
{ApplicationNumber} - Формат сообщения: HTML
-
Сообщение
- Перейдите в поле «Сообщение».
- В панели инструментов нажмите кнопку «Источник» .
-
В поле введите следующий HTML-код «Сообщение»:
<p>Здравствуйте, {ApplicantName}!</p><p>Ваш отпуск согласован.</p><p>Заявление №: {ApplicationNumber}</p><p>Количество дней: {Duration}</p><p>Даты отпуска: {StartDate}–{EndDate}</p><p>Комментарий руководителя:</p><p>{ManagerComment}</p> -
Снова нажмите кнопку «Источник» .
- Должно отобразиться показанное на следующей иллюстрации письмо:

Тема и текст письма заявителю с уведомлением «Отпуск согласован» с заполнителями для подстановки значений атрибутов
-
Отправка уведомления «В отпуске отказано»
Настроим путь передачи данных для отправки уведомлений об отклонении заявления от имени Отдела кадров.
- В приложении «Отпуска» откройте страницу «Пути передачи данных».
- Выберите пункт «Создать» – «Подключения к электронной почте» – «Отправка эл. почты из процесса».
-
Настройте путь передачи данных:
-
Основные свойства
- Название: Уведомление «В отпуске отказано»
- Подключение: Письма от отдела кадров
- Имя сообщения: MessageFromHrRejected
- Приложение: Отпуска
-
Атрибуты сообщения
Название Системное имя Тип данных № заявления ApplicationNumber Текст Имя заявителя ApplicantName Текст Адрес заявителя ApplicantEmail Текст Дата начала StartDate Дата и время Количество дней Duration Число Дата окончания EndDate Дата и время Комментарий руководителя ManagerComment Текст -
Свойства сообщения
- Адрес отправителя: адрес эл. почты Отдела кадров
- Имя отправителя: Отдел кадров
-
Кому:
- Адрес получателя:
{ApplicantEmail} - Имя получателя:
{ApplicantName}
- Адрес получателя:
-
Тема: В отпуске отказано. Заявление №
{ApplicationNumber} - Формат сообщения: HTML
-
Сообщение
- Перейдите в поле «Сообщение».
- В панели инструментов нажмите кнопку «Источник» .
-
В поле введите следующий HTML-код «Сообщение»:
<p>Здравствуйте, {ApplicantName}!</p><p>По Вашему заявлению на отпуск получен отказ.</p><p>Заявление №: {ApplicationNumber}</p><p>Количество дней: {Duration}</p><p>Даты отпуска: {StartDate}–{EndDate}</p><p>Комментарий руководителя:</p><p>{ManagerComment}</p> -
Снова нажмите кнопку «Источник» .
- Должно отобразиться показанное на следующей иллюстрации письмо:

Тема и текст письма заявителю с уведомлением «В отпуске отказано» с заполнителями для подстановки значений атрибутов
-
Настройка элементов диаграммы процесса «Согласование отпуска»
Бизнес-логика
- Процесс «Согласование отпуска» запускается вручную путём создания его экземпляра.
- При запуске процесса создаётся запись в шаблоне «Оформлено заявление на отпуск», связанная с экземпляром процесса.
- Пользователь, запустивший процесс, заполняет стартовую форму события «Оформлено заявление на отпуск», указав дату начала и количество дней отпуска.
- Событие «Отправка уведомления для руководителя» отправляет письмо с заявлением Руководителю.
- Событие «Обработан ответ руководителя» ожидает решения Руководителя из процесса «Обработка ответа руководителя».
- Руководитель нажимает в полученном письме кнопку «Согласовать отпуск» или «Отказать в отпуске» и отправляет автоматически сформированное письмо с решением по заявлению.
- Процесс «Обработка ответа руководителя» получает письмо, извлекает из него данные и передаёт решение по заявлению в событие «Обработан ответ руководителя» процесса «Согласование отпуска».
- В зависимости от решения Руководителя в процессе «Согласование отпуска» срабатывает конечное событие «Отпуск согласован» или «В отпуске отказано».
- Сработавшее конечное событие отправляет Заявителю письмо с решением по заявлению.
- В приложении «Отпуска» откройте шаблон процесса «Согласование отпуска».
- Откройте вкладку «Диаграмма».
- Составьте диаграмму процесса, показанную на иллюстрации.
- Настройте элементы процесса, как указано ниже.

Начальное событие «Оформлено заявление на отпуск»
- Выберите начальное событие сообщения «Оформлено заявление на отпуск».
- В меню элемента выберите пункт «Стартовая форма» .
-
Настройте стартовую форму:
- В свойствах созданной по умолчанию Новой области введите отображаемое название «Оформлено заявление на отпуск».
-
Перетащите на область «Оформлено заявление на отпуск» атрибуты:
- Имя заявителя
- Адрес заявителя
- Дата начала
- Количество дней
- Дата окончания
-
Сохраните форму.
-
Вернитесь к диаграмме процесса.
- Выберите начальное событие «Оформлено заявление на отпуск».
- В меню элемента выберите пункт «Сценарий на выходе» .
-
Настройте сценарий:
- Внутрь имеющегося действия «Сменить контекст» добавьте действие «Изменить значения атрибутов».
- Настройте действие «Изменить значения атрибутов»:
|
Атрибут |
Операция со значениями |
Значение |
|---|---|---|
|
Номер заявления |
Заменить |
Формула:
|
Системная переменная ProcessObject
В переменной ProcessObject хранится ID экземпляра процесса в сценариях по событиям «Запуск процесса», «Вход токена», «Выход токена».

Промежуточное событие «Отправка уведомления для руководителя»
- Выберите промежуточное событие отправки сообщения «Отправка уведомления для руководителя».
- В меню элемента выберите пункт «Свойства» .
-
Настройте свойства события:
-
Основные
- Название: Отпуск согласован
-
Дополнительные
- Место назначения: внешний сокет
- Использовать путь передачи данных: Уведомление для руководителя
-
Данные сообщения
Название Системное имя Тип данных Значение № заявления ApplicationNumber Текст Атрибут: Номер заявления Имя заявителя ApplicantName Текст Атрибут: Имя заявителя Дата начала StartDate Дата и время Атрибут: Дата начала Количество дней Duration Число Атрибут: Количество дней Дата окончания EndDate Дата и время Атрибут: Дата окончания
-
Промежуточное событие «Обработан ответ руководителя»
Имя сообщения для процессной коммуникации
Для обмена данными между экземплярами процессов (и внутри экземпляров) используются события отправки и получения сообщений (события-инициаторы и события-обработчики).
Каждому такому событию присваивается имя сообщения.
Когда событие-инициатор отправляет сообщение, это сообщение принимают все события-обработчики с таким же именем сообщения, как у события-инициатора.
- Выберите промежуточное событие отправки сообщения «Обработан ответ руководителя».
- В меню элемента выберите пункт «Свойства» .
-
Настройте свойства события:
-
Основные
- Название: Ответ руководителя
-
Дополнительные
- Использовать путь передачи данных: флажок снят
-
Имя сообщения: ApproverResponse
- Это имя должно совпадать с именем сообщения в конечном событии «Передача решения в процесс «Согласование отпуска».
-
Данные сообщения
Название Системное имя Тип данных Значение Решение руководителя ManagerDecision Текст Атрибут: Решение руководителя
-
Развилка «Решение руководителя»
Бизнес-логика
Развилка «Решение руководителя» определяет, какое уведомление отправить Заявителю:
- если атрибут «Отпуск согласован» в записи шаблона «Решения руководителя», связанной с заявлением на отпуск, имеет значение
true, срабатывает конечное событие «Отпуск согласован»; - в противном случае срабатывает конечное событие «В отпуске отказано»;
- сработавшее конечное событие отправляет Заявителю письмо с решением по заявлению на отпуск.
- Выберите развилку «или/или» «Решение руководителя».
- В меню элемента выберите пункт «Свойства» .
-
Настройте свойства события:
-
Основные
- Название: Решение руководителя
-
Дополнительные
-
|
Поток «иначе» |
Конечная точка |
Условие |
|---|---|---|
|
Отпуск согласован |
Формула:
|
|
|
Флажок установлен |
В отпуске отказано |
Конечное событие «Отпуск согласован»
- Выберите конечное событие-отправки сообщения «Отпуск согласован».
- В меню элемента выберите пункт «Свойства» .
-
Настройте свойства события:
-
Основные
- Название: Отпуск согласован
-
Дополнительные
- Место назначения: внешний сокет
- Использовать путь передачи данных: Уведомление «Отпуск согласован»
-
Данные сообщения
Название Системное имя Тип данных Значение Решение руководителя ManagerDecision Текст Атрибут: ID Имя заявителя ApplicantName Текст Атрибут: Имя заявителя Дата начала StartDate Дата и время Атрибут: Дата начала Количество дней Duration Число Атрибут: Количество дней Дата окончания> EndDate Дата и время Атрибут: Дата окончания Комментарий руководителя ManagerComment Текст Атрибут: Решение руководителя→Комментарий руководителя Примечание
Из значений этих атрибутов формируется эл. письмо Заявителю посредством пути передачи данных «Уведомление «Отпуск согласован».
-
Конечное событие «В отпуске отказано»
- Выберите конечное событие-отправки сообщения «В отпуске отказано».
- В меню элемента выберите пункт «Свойства» .
-
Настройте свойства события:
-
Основные
- Название: В отпуске отказано
-
Дополнительные
- Место назначения: внешний сокет
- Использовать путь передачи данных: Уведомление «В отпуске отказано»
-
Данные сообщения
Название Системное имя Тип данных Значение № заявления ApplicationNumber Текст Атрибут: Номер заявления Имя заявителя ApplicantName Текст Атрибут: Имя заявителя Дата начала StartDate Дата и время Атрибут: Дата начала Количество дней Duration Число Атрибут: Количество дней Дата окончания EndDate Дата и время Атрибут: Дата окончания Комментарий руководителя ManagerComment Текст Атрибут: Решение руководителя→Комментарий руководителя Примечание
Из значений этих атрибутов формируется эл. письмо Заявителю посредством пути передачи данных «Уведомление «В отпуске отказано».
-
Настройка элементов диаграммы процесса «Обработка ответа руководителя»
- В приложении «Отпуска» откройте шаблон процесса «Обработка ответа руководителя».
- Откройте вкладку «Диаграмма».
- Составьте диаграмму процесса, показанную на иллюстрации.
- Настройте элементы процесса, как указано ниже.

Начальное событие «Поступил ответ руководителя»
Бизнес-логика
- Процесс «Обработка ответов руководителя» запускается при поступлении нового письма в почтовый ящик, указанный в подключении «Получение эл. почты в процессе».
- При запуске процесса создаётся запись в шаблоне «Решения руководителя», связанная с экземпляром процесса.
- Процесс «Обработка ответа руководителя» обрабатывает поступившие письма и передаёт данные в процесс «Согласование отпуска».
-
В теме письма от Руководителя содержатся номер заявления на отпуск и решение по нему в следующем формате:
-
Отпуск согласован. Заявление № [X]или
-
В отпуске отказано. Заявление № [X]
Здесь
X— номер заявления, состоящий из произвольного количества цифр. -
-
В теле письма может содержаться произвольное сообщение от Руководителя.
-
В свойствах начального события-получения сообщения «Поступил ответ руководителя» мы настраиваем передачу данных из полученного письма от Руководителя.
- Указываем путь передачи данных для получения писем.
-
Передаём значения атрибутов сообщения пути передачи данных «Ответ руководителя» в атрибуты шаблона записи «Решения руководителя»:
- Тема письма — Тема письма с ответом;
- Текст письма — Комментарий руководителя.
-
По значению атрибута «Тема письма с ответом» автоматически вычисляются значения атрибутов записи в шаблоне «Решения руководителя»:
- значение атрибута «№ заявления» совпадает с ID экземпляра процесса «Согласование отпуска», связанного с заявлением на отпуск;
- атрибут «Отпуск согласован» принимает значение
true, если отпуск согласован, и значениеfalse, если в отпуске отказано.
-
После обработки письма конечное событие передаёт Решение руководителя в процесс «Согласование отпуска».
- Выберите начальное событие-отправки сообщения «Поступил ответ руководителя».
- В меню элемента выберите пункт «Свойства» .
-
Настройте свойства события:
-
Основные
- Название: Получение и разбор ответа от руководителя
-
Дополнительные
- Использовать путь передачи данных: Ответ руководителя
-
Данные сообщения
Название Системное имя Тип данных Значение Тема письма EmailSubject Текст Атрибут: Тема письма с ответом Текст письма EmailBody Текст Атрибут: Комментарий руководителя
-
Конечное событие «Передача решения в процесс «Согласование отпуска»
Бизнес-логика
- Конечное событие процесса «Обработка ответов руководителя» передаёт решение Руководителя в экземпляр процесса «Согласование отпуска», связанный с заявлением на отпуск.
-
В свойствах конечного события-отправки сообщения мы настраиваем передачу ID записи из шаблона «Решения руководителя» в атрибут «Решение руководителя» записи в шаблоне «Заявления на отпуск».
- Посредством имени сообщения указываем промежуточное событие «Обработан ответ руководителя».
- Передаём в атрибут сообщения «Решение руководителя» значение системного атрибута «ID» шаблона записи «Решения руководителя».
-
Значение этого атрибута передаётся в промежуточное событие «Обработан ответ руководителя» процесса «Согласование отпуска».
- Выберите конечное событие-отправки сообщения «Передача решения в процесс «Согласование отпуска».
- В меню элемента выберите пункт «Свойства» .
-
Настройте свойства события:
-
Основные
- Название: Передача решения в процесс «Согласование отпуска»
-
Дополнительные
- Место назначения: промежуточное событие
-
Имя сообщения: ApproverResponse
- Это имя должно совпадать с именем сообщения в промежуточном событии «Обработан ответ руководителя».
-
Экземпляр процесса: формула
$ApplicationNumber
-
Данные сообщения
Название Системное имя Тип данных Значение Решение руководителя ManagerDecision Текст Атрибут: ID
-
Тестирование процесса «Согласование отпуска»
- Откройте шаблон записи «Согласование отпуска».
- На вкладке «Свойства» нажмите кнопку «Перейти к экземплярам».
- В списке экземпляров процесса, нажмите кнопку «Создать».
- Отобразится всплывающее окно со стартовой формой
- Заполните поля «Дата начала» и «Количество дней».
- Поля «Имя заявителя», «Адрес заявителя» и «Дата окончания» должны заполниться автоматически.
- Нажмите кнопку «Создать».
- Откройте почтовый ящик Руководителя.
-
Руководителю должно прийти письмо от Отдела кадров, показанное на следующей иллюстрации.

Письмо Руководителю с заявлением на отпуск и кнопками для согласования и отказа в отпуске -
Нажмите кнопку «Согласовать отпуск» в письме.
-
В почтовом клиенте будет создано новое письмо, показанное на следующей иллюстрации.

Письмо в Отдел кадров с положительном решением по заявлению на отпуск -
Не меняйте адресата и тему письма. Введите произвольный текст письма.
- Нажмите кнопку «Отправить».
- Откройте почтовый ящик Заявителя.
-
Заявителю должно прийти письмо от Отдела кадров, показанное на следующей иллюстрации.

Письмо Заявителю с положительным решением по Заявлению об отпуске -
Аналогичным образом протестируйте работу процесса в случае отказа в отпуске.
Эта статья была полезна 2 чел.