﻿# Вкладка «Настройки»

> [HTML Version](360012263052.html)

Здесь вы можете:

- запланировать автоматический запуск процесса по таймеру;

- добавить шаблон наименования;

- отредактировать форму карточки экземпляра;

- выбрать ленту, которая будет отображаться в карточке задачи и экземпляра процесса;

- проверить работу методов API;

- восстановить предыдущую версию процесса;

- задать форму запуска отладки процесса;

- установить правила прерывания родительского и дочерних процессов. 

## Настройки запуска

Вы можете определить, каким образом будет запускаться процесс:

- **Меню Создать** — отметьте опцию, чтобы добавить процесс в контекстное меню кнопки **Создать**. Нажав название процесса, пользователь может запустить его.** **По умолчанию кнопка располагается на главной странице системы, но её также можно добавить на формы и страницы. Подробнее читайте в статье [«Кнопка Создать»](create_button_widget.md); 

- **Расписание** — активировав опцию, вы можете задать расписание для автоматического запуска процесса по определённым дням, неделям или месяцам. При этом время определяется в соответствии с [временной зоной компании](locale-settings.md#timezone). Также можно включить учёт текущего рабочего календаря. Тогда нерабочие часы и дни будут исключены при вычислении срока запуска процесса. Настройка выполняется так же, как при работе со [стартовым событием](360012496011.md).

## (process-settings-1.png)

## Логирование процесса

Настройте уведомление и хранение информации о запуске экземпляра процесса:

- **Отображать в исходящих** — отметьте опцию, чтобы экземпляры процесса отображались в системном разделе **Задачи** на странице [Исходящие](360014163692.md#outgoing). Нажав на название экземпляра, вы сможете просмотреть подробную информацию о нём: историю процесса, его контекст и карту. Подробнее об этом читайте в статье [Карточка экземпляра процесса](360012498891.md);

- **Уведомлять о запуске** — опция включена по умолчанию. Вы можете видеть всплывающее оповещение каждый раз, когда запускаете процесс. Также уведомление о запуске приходит в вашу [#ленту](360014162972.md).

## Название

На этой вкладке указывается общая информация о процессе:

- **Название экземпляра** — если шаблон не задавался в [настройках стартового события](360012496011.md#name_template), включите опцию;

- **Шаблон** — введите название для экземпляра процесса. Также можно добавить:

	- контекстную переменную — например, Ф. И. О. инициатора. Нажмите значок **\{+\}** в правом углу поля и выберите нужный вариант;

	- [условия и функции](360007679591.md#conditions_and_functions) — чтобы сгенерировать более информативное название. Нажмите значок **f(x)** и укажите функцию;

- **Описание процесса** — вы можете указать служебную информацию для администраторов системы и сотрудников, моделирующих процесс. Открыв настройки процесса, они смогут ознакомиться с целью его запуска и результатом выполнения.

## Карточка экземпляра

В этом разделе вы можете изменить внешний вид [карточки экземпляра](360012498891.md) процесса. По умолчанию в карточке отображаются все [контекстные переменные](process_context.md) процесса. Чтобы скрыть определённые переменные, выключите опцию **Показывать все поля**. Затем перетащите переменные, которые вы хотите видеть в карточке, из колонки **Контекст** в колонку **Название на форме**.

## (process-settings-4.png)

При необходимости вы можете настроить свою форму карточки, добавить или удалить вкладки, изменить расположение полей, содержание боковой панели. Для этого воспользуйтесь редактором форм. Нажмите **<По умолчанию>**, а затем **+ Создать шаблон**. Подробнее о работе с шаблонами читайте в статье [«Вкладка „Формы“»](360012495991.md).  

Посмотреть карточку экземпляра можно в разделе **Задачи > Исходящие**.

## Ассоциированная лента

Выберите ленту, которая отобразится в карточках задач и экземпляра процесса:

- **Ассоциированная лента Бизнес-процесса** — сообщение, отправленное в ленту задачи, отобразится в [карточке экземпляра](360012498891.md) процесса;

- **Ассоциированная лента Приложения или Файла** — в появившемся ниже поле выберите переменную типа **Приложение** или **Файл**. Тогда в карточках задач и экземпляра процесса отобразится [лента элемента приложения](360014352191.md#app_element) или [лента файла](360014352191.md#file-tape), значение которого хранит выбранная переменная. Так, если выбрана переменная типа **Приложение**, и в ходе процесса в задаче отправлено сообщение, вы увидите его в карточке элемента этого приложения. Если переменная пустая, сообщение отобразится только в ленте экземпляра процесса.

**Пример настроек**

1. На уровне приложения **Исходящие договоры** создан процесс согласования договора.

2. В настройках процесса выберем опцию **Ассоциированная лента Приложения или Файла** и укажем переменную типа **Приложение**, которая ссылается на приложение **Исходящие договоры**.

3. Если исходящий договор отправлен на согласование, в его карточке можно просмотреть список задач процесса и сообщения, отправленные пользователями в этих задачах.

## API

Методы API позволяют интегрировать ELMA365 c внешними системами. Например, после того как клиент оформляет заявку на вашем сайте, можно автоматически запустить процесс её обработки.

Полный список методов для работы с процессами можно посмотреть в [справке по публичному API ELMA365](https://api.elma365.com/ru/public-api/reference/bpm/).

На вкладке отображаются основные методы с возможностью проверить написанный запрос. Работа ведётся так же, как на [странице API в приложениях](360009921431.md#method-list). 

**(process-settings-6.png)**

Вы можете:

- скопировать адрес метода для использования в запросах;

- перейти к подробному описанию метода в справке по публичному API ELMA365;

- узнать параметры метода и возможные ответы сервера;

- составить и проверить запрос, получив его полный адрес и ответ от сервера.

Обратите внимание, чтобы при вызове методов API для запуска процесса, изменения контекста экземпляра и закрытия задачи в систему не записались ошибочные данные, передаваемые в них значения проходят валидацию. Подробнее о том, как работает валидация и какие действия предпринять при ошибках, читайте в [статье о валидации](validation-in-processes.md).

## История версий

Все опубликованные версии процесса отображаются на вкладке **История версий** с указанием автора, времени и комментария, оставленного при публикации. Внешний вид вкладки и набор доступных действий зависит от того, включено в системе [версионирование структур](elma365-structure-versioning.md) или нет:

1. По умолчанию сохранение версий не активировано. Тогда вы можете:

- посмотреть карту версии процесса, нажав значок карты **(process_map.png)**;

- восстановить предыдущую версию процесса. Для этого выберите название в списке, нажмите значок дискеты и подтвердите действие.

**(process-settings-7.png)**

2. Если версионирование активировано, текущая версия в списке обозначается значком галочки **(process-settings-11.png)**. Для перехода к меню действий справа от версии нажмите значок трёх точек и выберите нужное:

**(process-settings-12.png)**

- [Сравнить с текущей](elma365-structure-versioning.md#compare-with-current) — просмотреть прежнюю и текущую версии в формате JSON;

- **Скачать файл** — загрузить версию в виде файла формата **.е365**. Такие файлы версий можно сравнить во внешнем текстовом редакторе, например в Visual Studio Code;

- **Восстановить версию** —сделать текущей одну из предыдущих версий.

### Восстановить предыдущую версию процесса

Настройки версии, выбранной для восстановления, применятся к текущему черновику процесса, открытому на вкладке **Схема**. Все сохранённые, но не опубликованные изменения будут утеряны.

Вы можете отредактировать восстановленную схему процесса, изменить расположение элементов или формы задач. Чтобы применить новую версию, повторно нажмите кнопки **Сохранить** и **Опубликовать** на верхней панели дизайнера. 

Обратите внимание, все экземпляры процесса, запущенные до публикации новой версии, завершатся без учёта внесённых изменений. Подробнее об этом читайте в статье [«Публикация бизнес-процесса»](360012495291.md).

## Настройки отладки

По умолчанию в окне запуска [отладки процесса](360010269299.md) отображаются только кнопки **Начать отладку** и **Отмена**. Вы можете настроить внешний вид этого окна, чтобы заполнить в нём [контекстные переменные](process_context.md) процесса. Это позволит не заполнять поля в [стартовом событии](360012496011.md) и последующих задачах процесса в ходе его отладки. 

**(process-settings-10.png)**

Например, в контекстную переменную типа [Файлы](360009707032.md#file_type) вы можете добавить существующий файл. 

Для этого: 

1. Отключите опцию **Использовать для отладки стартовую форму**. Появятся настройки для выбора контекстных переменных.

2. Перетащите нужное поле из колонки **Контекст** в колонку **Название на форме**. 

3. Если вы хотите отобразить на форме весь контекст процесса, включите опцию **Показывать все поля**.

## Прерывание процесса

На вкладке **Прерывание процесса** вы можете на этапе моделирования процесса задать правила прерывания его экземпляров. Для этого отметьте одну или обе опции:

- **Прервать текущий процесс при прерывании подпроцесса** — позволяет прекратить исполнение экземпляра родительского процесса, если прерван экземпляр дочернего процесса;

- **Прервать подпроцессы при прерывании текущего процесса** — позволяет прерывать экземпляр дочернего процесса, когда прерывается экземпляр родительского процесса. 

Заданные правила действуют для родительского и всех его дочерних процессов. 

Если опции выключены, прерывать экземпляры нужно вручную в их [карточках](360012498891.md).

Существуют следующие особенности применения правил:

1. Если у вас настроено несколько уровней подпроцессов, вы можете прерывать их экземпляры каскадно один за другим. Для этого включите опции в настройках каждого процесса.

2. Вы можете настроить прерывание определённого подпроцесса в настройках блока [Запуск процесса](360012266792.md#configure-subproccess). В этом случае правила не распространяются на родительский процесс и действуют только для данного подпроцесса и его дочерних процессов.  

3. Если вы включили опции для процесса на вкладке **Настройки**, то активировать их в настройках блока для запуска подпроцесса нельзя.

4. В случае, если вы сначала включили опции в настройках блока, а затем в настройках основного процесса, то для подпроцесса в приоритетном порядке действуют правила из блока.

Примеры использования правил прерывания процессов

  
Рассмотрим различные комбинации настроек для автоматического прерывания экземпляров родительских и дочерних процессов.   


Для примера возьмём:

1. Процесс **Подбор персонала** — основной родительский процесс, в ходе которого после утверждения кандидата на должность запускается подпроцесс подготовки рабочего места для нового сотрудника.

2. Подпроцесс **Подготовка рабочего места** — родительский процесс второго уровня, в рамках которого настроен запуск ещё одного процесса.

3. Подпроцесс **Получить технику со склада** — дочерний процесс, который запускается при подготовке рабочего места для сотрудника.

В дальнейшем будем обозначать их по номерам. 

1. **Последовательное прерывание экземпляров родительских процессов**. 

В настройках каждого процесса активируем опцию **Прервать текущий процесс при прерывании подпроцесса**. Тогда прерывание выполнится в следующей последовательности:

- прервём экземпляр процесса **2** — прервётся только экземпляр процесса **1**. Экземпляр дочернего процесса **3** продолжит выполняться;

- прервём экземпляр процесса **3** — последовательно прервутся экземпляры процессов **1** и **2**.

2. **Последовательное прерывание экземпляров подпроцессов**. 

В настройках каждого процесса активируем опцию **Прервать подпроцессы при прерывании текущего процесса**. Тогда прерывание пройдёт в следующей последовательности:

- прервём экземпляр процесса **1** — последовательно прервутся экземпляры обоих дочерних процессов;

- прервём экземпляр процесса **2** — прервётся только экземпляр процесса **3**. Экземпляр основного процесса **1** продолжит выполняться;

- прервём экземпляр процесса **3** — экземпляры обоих родительских процессов продолжат выполняться.

3. **Прерывание экземпляров подпроцессов без прерывания экземпляра основного процесса**.

Активируем одну или обе опции в настройках блока [Запуск процесса](360012266792.md#configure-subproccess) для запуска процесса **2**.   


Прервём экземпляры любого из подпроцессов **2** или **3** — экземпляр основного процесса **1** продолжит выполняться, так как на него правила из блока не действуют. 

4. **Динамическое прерывание экземпляров процессов**. 

Настроим правила так, чтобы прерывать только некоторые подпроцессы. Для этого:

1. На схеме основного процесса **1** добавим ещё один блок для запуска подпроцесса **Подготовить документы для приёма нового сотрудника**. Присвоим ему номер **4**.

2. В блоке для запуска подпроцесса **2** включим опцию **Прервать текущий процесс при прерывании подпроцесса**.

3. В настройках родительского процесса **1** активируем опцию **Прервать подпроцессы при прерывании текущего процесса**. 

Тогда прерывание выполнится следующим образом:

- прервём экземпляр процесса **1** — прервётся только экземпляр подпроцесса **4**. Экземпляры процессов **2** и **3** не прервутся, потому что для них приоритетно действует правило из настроек блока для запуска подпроцесса **2**; 

- прервём экземпляр процесса **2** — экземпляры остальных процессов не прервутся, так как не попадают ни под одно из правил;

- прервём экземпляр процесса **3** — прервётся только экземпляр его родительского процесса **2**. Экземпляры процессов **1** и **4** продолжат выполняться, так как для них правило из блока не действует;

- прервём экземпляр процесса **4** — экземпляр его родительского процесса **1** не прервётся, так как правило для этого не задано. 