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

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

Атрибуты шаблона записи «Заявления на отпуск»
|
Название |
Системное имя |
Свойства |
|---|---|---|
|
№ заявления |
ApplicationNumber |
Тип данных: текст |
|
Имя заявителя |
ApplicantName |
Тип данных: текст Вычислять автоматически: флажок установлен Вычисляемое значение: формула
|
|
Адрес заявителя |
ApplicantEmail |
Тип данных: текст Вычислять автоматически: флажок установлен Вычисляемое значение: формула
|
|
Дата начала |
StartDate |
Тип данных: дата и время |
|
Количество дней |
Duration |
Тип данных: число |
|
Дата окончания |
EndDate |
Тип данных: дата и время Вычислять автоматически: флажок установлен Вычисляемое значение: формула
|
|
Решение руководителя |
ManagerDecision |
Тип данных: запись Связанный шаблон: Решения руководителя |
Атрибуты шаблона записи «Решения руководителя»
|
Название |
Системное имя |
Свойства |
|---|---|---|
|
Тема письма с ответом |
ResponseEmailSubject |
Тип данных: текст |
|
Комментарий руководителя |
ManagerComment |
Тип данных: текст |
|
№ заявления |
ApplicationNumber |
Тип данных: текст Вычислять автоматически: флажок установлен Вычисляемое значение: формула
|
|
Отпуск согласован |
LeaveApproved |
Тип данных: логический Вычислять автоматически: флажок установлен Вычисляемое значение: формула:
|
Синтаксис регулярного выражения
.*— ноль или более любых символов. Точка.обозначает любой одиночный символ, а звездочка*обозначает, что таких символов может быть ноль или больше. Этот фрагмент позволяет игнорировать любые символы, которые могут предшествовать искомой строке.Отпуск согласован\. Заявление №— фиксированная часть искомой строки. Регулярное выражение ищет именно этот текст в указанной последовательности с точным совпадением прописных и строчных букв.\.— экранированная точка. Точка в регулярном выражении означает любой одиночный символ, поэтому для поиска самой точки её необходимо экранировать с помощью косой черты\.
\[— экранированная квадратная скобка. Квадратные скобки в регулярных выражениях используются для обозначен