Так как теперь в бизнес-процессе обрабатывается не только отпуск за свой счёт, но и другие виды отпусков, изменим шаблон названия задачи Подготовить приказ на отпуск. Ранее в шаблоне названия мы использовали вид отпуска. Теперь настроим шаблон следующим образом: Подготовить приказ на отпуск для {$__createdBy.__name}.
Кроме этого, на форме задачи добавим вложенные свойства приложения Отпуск: Сотрудник и Вид отпуска.
![[IMG]](https://community.elma365.com/ru/assets/MiDRgNC40YEgNzYxNjgzMjY2MTg3.png) Настройки свойства «Отпуск» на форме задачи
Настройки свойства «Отпуск» на форме задачи
![[IMG]](https://community.elma365.com/ru/assets/dmFjYXRpb24tb3JkZXIxNzE1ODYwMDg2.png) Настройка формы задачи «Подготовить приказ на отпуск»
 
Настройка формы задачи «Подготовить приказ на отпуск»
Теперь настроим бизнес-процесс таким образом, чтобы задача на подготовку приказа не приходила, если он не требуется. Для этого будем использовать Шлюз.
Важно
Шлюзы представляют собой точки принятия решения в процессе. Они используются для того, чтобы направить процесс по той или иной ветке в зависимости от определённых условий.
Например, если сумма счёта большая, то его согласует не только непосредственный начальник сотрудника, оформившего счёт, но и генеральный директор. Если же сумма незначительная, то заявителю сразу выдадут деньги.
 
Шлюз работает только с контекстом бизнес-процесса. Чтобы была возможность определить, нужен приказ или нет, передадим эти данные из элемента приложения Вид отпуска в контекст бизнес-процесса.
Добавим в контекст процесса свойство Требуется приказ типа Выбор «да/нет».
![[IMG]](https://community.elma365.com/ru/assets/MiDRgNC40YEgNzcxNjgzMjY2MjE3.png) Добавление нового свойства в контекст бизнес-процесса
Добавление нового свойства в контекст бизнес-процесса 
Создадим в контексте бизнес-процесса ещё одно свойство и назовём его Дата начала отпуска. Его мы будем использовать для расчёта срока подготовки приказа.
Далее добавим на схему процесса элемент Присваивание, который поможет записать данные из элемента приложения в контекст бизнес-процесса. Разместим его после элемента Оповещение о согласовании, добавим переход.
![[IMG]](https://community.elma365.com/ru/assets/MiDRgNC40YEgNzgxNjgzMjY4ODM4.png) Элемент «Присваивание» на схеме бизнес-процесса
Элемент «Присваивание» на схеме бизнес-процесса
Перейдём в настройки элемента Присваивание на вкладку Таблица соответствия и установим следующие соответствия:
- в поле Требуется приказ контекста процесса запишется значение поля Требуется приказ, соответствующее виду отпуска и содержащееся в элементе приложения Отпуск;
- в поле Дата начала отпуска контекста процесса запишется значение поля Дата начала, содержащееся в элементе приложения Отпуск.
![[IMG]](https://community.elma365.com/ru/assets/MiDRgNC40YEgNzkxNjgzMjY2MjQ1.png) Настройки элемента «Присваивание»
Настройки элемента «Присваивание»
Установим срок выполнения задачи Подготовить приказ на отпуск: за 3 рабочих дня до даты начала отпуска.
![[IMG]](https://community.elma365.com/ru/assets/MiDRgNC40YEgODAxNjgzMjY2MjU3.png) Настройка времени выполнения задачи
Настройка времени выполнения задачи 
Вынесем на схему процесса исключающий шлюз между элементом Присваивание и задачей Подготовить приказ на отпуск, добавим переходы.
Важно
Исключающий шлюз направляет процесс только по одному исходящему переходу.
Как только процесс достигнет шлюза, система проверит заданные условия и выберет тот переход, для которого условие выполнилось. Порядок проверки задаётся в настройках шлюза, на вкладке 
Переходы.
Для исключающего шлюза обязательно должен быть указан переход по умолчанию.
 
Подпишем переход из Шлюза в задачу и настроим условие перехода. Процесс перейдёт к задаче Подготовить приказ на отпуск, если свойство процесса Требуется приказ имеет значение Да.
![[IMG]](https://community.elma365.com/ru/assets/MiDRgNC40YEgODExNjgzMjY2Mjc1.png) Настройка условий перехода
Настройка условий перехода
![[IMG]](https://community.elma365.com/ru/assets/0JPQu9Cw0LLQsCAyMTY4MzI2NjQyMw==.%20%D0%A0%D0%B8%D1%81) Шлюз на схеме бизнес-процесса
Шлюз на схеме бизнес-процесса
- с указанием номера больничного листа;
- возможностью продлить отпуск.
Для этого создадим в контексте бизнес-процесса новые свойства:
- Номер больничного листа типа Строка;
- Дата окончания отпуска типа Дата/время.
![[IMG]](https://community.elma365.com/ru/assets/MiDRgNC40YEgODIxNjgzMjY3OTgy.1) Контекст бизнес-процесса
Контекст бизнес-процесса
Дату окончания будем получать из приложения Отпуск. Для этого изменим настройки элемента Присваивание, добавив получение в поле контекста Дата окончания отпуска значение Дата окончания из элемента приложения Отпуск.
![[IMG]](https://community.elma365.com/ru/assets/MiDRgNC40YEgODMxNjgzMjY4MDEy.png) Настройки элемента «Присваивание»
Настройки элемента «Присваивание»
Добавим на схему бизнес-процесса элемент Таймер и соединим его со шлюзом:
![[IMG]](https://community.elma365.com/ru/assets/MiDRgNC40YEgODQxNjgzMjY4ODc1.png) Таймер на схеме бизнес-процесса
Таймер на схеме бизнес-процесса
![[IMG]](https://community.elma365.com/ru/assets/MiDRgNC40YEgODUxNjgzMjY4MDQ2.png) Настройки перехода
Настройки перехода
Теперь настроим таймер. В сроке выполнения укажем переменную бизнес-процесса Дата окончания отпуска. В этом случае бизнес-процесс остановится на элементе Таймер до даты окончания отпуска. Как только она наступит, бизнес-процесс двинется дальше по схеме.
![[IMG]](https://community.elma365.com/ru/assets/MiDRgNC40YEgODYxNjgzMjY4MDYx.png) Настройки таймера
Настройки таймера
Добавим переход по умолчанию из шлюза. Он понадобится, например, в том случае, когда поле Требуется приказ окажется пустым. Такое может произойти, когда это поле будет не заполнено в элементе приложения Вид отпуска.
![[IMG]](https://community.elma365.com/ru/assets/MiDRgNC40YEgODcxNjgzMjY4MDcy.png) Переход по умолчанию на схеме бизнес-процесса
Переход по умолчанию на схеме бизнес-процесса
В случае, если параметр Требуется приказ не установлен, сотрудник отдела кадров получит задачу подготовить приказ. В этом примере мы добавили отдельный переход, а не использовали существующий для демонстрации логики настройки бизнес-процесса.
Перейдём в настройки шлюза и выберем переход по умолчанию:
![[IMG]](https://community.elma365.com/ru/assets/MiDRgNC40YEgODgxNjgzMjY4MDg1.png) Настройка перехода по умолчанию
Настройка перехода по умолчанию
На схему бизнес-процесса в зону ответственности инициатора добавим задачу Указать больничный лист и соединим её с Таймером.
Настроим форму задачи:
- добавим свойство Отпуск и его вложенные свойства: Вид отпуска, Дата начала, Дата окончания, Причина в режиме только для чтения;
- добавим свойство Номер больничного листа и сделаем его обязательным для заполнения.
![[IMG]](https://community.elma365.com/ru/assets/MiDRgNC40YEgOTAxNjgzMjY4MTEx.png) Настройка формы задачи
Настройка формы задачи
Настроим переходы из задачи:
- для продления больничного листа и оповещения об этом руководителя;
- для закрытия больничного листа и оповещения об этом сотрудника отдела кадров. Вместо оповещения можно добавить задачу бухгалтеру для расчёта суммы больничных и её выплаты. Мы пропустим этот шаг, чтобы не повторять настройки уже знакомых элементов.
Обратим внимание на переход Продлить больничный. Если пользователь его выберет, он должен будет увидеть текущую дату окончания, а также указать новую дату окончания больничного. Настроим форму подтверждения для перехода.
![[IMG]](https://community.elma365.com/ru/assets/MiDRgNC40YEgOTIxNjgzMjY4MTM5.png) Настройка формы подтверждения для перехода
Настройка формы подтверждения для перехода
На форме перехода выведем вложенное свойство Дата окончания приложения Отпуск, а также Дату окончания отпуска из контекста процесса. Для наглядности переименуем название на форме Даты окончания отпуска в Новую дату окончания больничного.
![[IMG]](https://community.elma365.com/ru/assets/MiDRgNC40YEgOTMxNjgzMjY4MTYy.png) 
Настройки формы подтверждения для перехода
![[IMG]](https://community.elma365.com/ru/assets/MiDRgNC40YEgOTMxNjgzMjY4MzA5.1) Пример формы подтверждения перехода в задаче
Пример формы подтверждения перехода в задаче
После продления больничного и оповещения руководителя необходимо записать обновлённую Дату окончания в элемент приложения Отпуск. Для этого воспользуемся блоком Изменение элемента. Установим его между оповещением Больничный лист продлен и Таймером, добавим переходы.
![[IMG]](https://community.elma365.com/ru/assets/MiDRgNC40YEgOTQxNjgzMjY4Njg5.2) Блок «Изменение элемента» на схеме бизнес-процесса
Блок «Изменение элемента» на схеме бизнес-процесса
В настройках блока Изменение элемента в качестве переменной выберем Отпуск. На вкладке Значения полей установим связь между полем приложения Дата окончания и переменной, содержащей новую дату окончания отпуска.
![[IMG]](https://community.elma365.com/ru/assets/Y2hhbmdlMTcxNTg1OTU1Mg==.png) Настройка блока «Изменение элемента»
Настройка блока «Изменение элемента»
![[IMG]](https://community.elma365.com/ru/assets/Y2hhbmdlLXR3bzE3MTU4NTk2MDE=.png) 
 
Настройка блока «Изменение элемента»
![[IMG]](https://community.elma365.com/ru/assets/MiDRgNC40YEgOTQxNjgzMjY4NDUz.1) Схема бизнес-процесса
Схема бизнес-процесса