﻿# Вкладка «Контекст»

> [HTML Version](process_context.html)

**Контекст процесса** — это все данные, которые создаются, изменяются и сохраняются во время выполнения конкретного процесса. Например, информация об участниках, файлы, комментарии исполнителей, контрагенты и т. д. Эти данные хранятся в переменных, значения которых либо задаются сотрудниками в ходе выполнения процессных задач, либо определяются системой автоматически. 

Контекстные переменные могут быть пользовательскими и [системными](#system-variable).

## Пользовательские переменные

Чтобы посмотреть список всех пользовательских переменных, в разделе **Администрирование > Бизнес-процессы** нажмите на название процесса, а затем перейдите на вкладку **Контекст**. 

**(context-1.png)**

- **Отображаемое имя** — название переменной, которое используется на форме задачи, стартового события и т. д.;

- **Имя свойства** — название переменной, которое используется при работе с API, формами и т. д.;

- **Тип** — какого [типа](360009707032.md) данные хранятся в переменной;

- **Подтип** — дополнительный параметр выбранного типа данных;

- **Поиск и сортировка** — если опция активна, значение переменной используется в качестве параметра поиска процесса;

- **Быстрый поиск** — если опция активна, значение переменной участвует в [быстром поиске](360009669952.md#full_text).

Если процесс создан на [уровне приложения](360009921131.md), в его контекст всегда добавляется переменная, ссылающаяся на это приложение.

При моделировании процесса вы можете добавлять переменные из его контекста в различные задачи и оповещения. 

Для отображения переменных в элементе приложения, по которому запущен экземпляр процесса, используется специальный блок [Изменение элемента](360012454020.md). При этом в приложении нужно создать свойства таких же типов и присвоить им значения процессных переменных.

Используемые в процессе переменные и их значения отображаются в [карточке запущенного экземпляра](360012498891.md) на вкладке **Контекст**.

##  Добавить пользовательскую переменную

Существует несколько способов создать новую переменную: 

1. На вкладке** Контекст **в правом верхнем углу нажмите на кнопку **+ Добавить**.

2. В настройках** **[Задачи](360012495611.md) или [Стартового события](360012496011.md). Перейдите на вкладку **Форма** и в левом верхнем углу нажмите на кнопку **+ Добавить**. Переменные, добавленные таким образом, тоже будут отображаться на вкладке **Контекст**.

**(hmfile_hash_783a218e.png)**

3. Кроме того, контекстные переменные можно создавать в настройках некоторых графических элементов. Например, в зонах ответственности или статусах, где переменная определяет параметры этих элементов.  

 После того как вы нажмете на кнопку **+ Добавить**, откроется окно создания переменной:

**(hmfile_hash_7d5c8274.png)**

- **Отображаемое имя\*** — укажите название переменной, которое будет отображаться на формах задач, событий и т. д.;

- **Имя свойства\*** — задайте название переменной, которое будет использоваться при работе с API, скриптами и т. д.;

- **Подсказка **— здесь можно указать дополнительную информацию о переменной, например, каким образом задаётся её значение;

- **Тип\*** — определите, какого [типа](360009707032.md) данные будут храниться в переменной. Для каждого типа данных можно задать дополнительные параметры, поэтому набор полей в нижней части окна может меняться.

````
начало внимание

````
После создания переменной её тип нельзя изменить.

````
конец внимание

## ````
Действия с пользовательской переменной на вкладке «Контекст»

Вы можете выбрать переменную, а затем применить к ней доступные действия:

- отредактировать — нажмите название и измените его;

- удалить — можно удалить сразу несколько переменных свойств, зажав клавишу **Ctrl** на клавиатуре и выделив их;

- восстановить удалённую переменную — включите опцию **Показывать удалённые переменные**, выберите нужную строку в появившемся списке и нажмите **Восстановить**.

Также из этого списка переменную можно удалить окончательно без возможности восстановления. Обратите внимание, начиная с версии 2025.3 полностью удалить контекстные переменные можно только до публикации бизнес‑процесса. Если версия процесса опубликована, при создании новых переменных присваивайте им уникальные коды;

**(context-2.png)**

- скопировать в буфер — перенесите созданную переменную в контекст другого бизнес-процесса, например, чтобы использовать повторно свойство со сложными настройками такое, как [Таблица](360010201779.md). Для этого выберите переменную и нажмите появившуюся кнопку **Скопировать в буфер**. Затем откройте другой процесс в режиме моделирования и добавьте в его контекст переменную, нажав кнопку **Вставить из буфера**. Для перенесённой переменной нельзя изменить имя свойства, используемое в скриптах, и тип. Поскольку в процессе не могут присутствовать свойства с одинаковым кодом, нельзя скопировать переменную и вставить её в контекст этого же процесса.

## Системные переменные

В каждый бизнес-процесс по умолчанию добавлены системные контекстные переменные. Они не отображаются в списке переменных на вкладке **Контекст**, но их можно использовать при моделировании процесса, например, в скриптах, шаблонах или на формах задач.

**(proccess-context-5.png)**

### Переменная «Инициатор»

Переменная **Инициатор** с кодом \[OBJECT\] содержится в динамической зоне ответственности, добавленной на схему бизнес‑процесса по умолчанию. В неё записывается пользователь, запустивший процесс. Переменную можно использовать в дальнейшем, например, на формах задач или в скриптах.

### Переменная «Название»

В переменную **Название** с кодом \[OBJECT\] записывается наименование каждого экземпляра процесса. Подробнее о том, каким образом можно задавать название экземпляров читайте в статье [«Вкладка „Настройки“»](360012263052.md#name). 

Переменную можно использовать при написании скриптов, а также в блоках процесса. Например, при создании темы сообщения в [Оповещении](360012495791.md). Кроме того, данные из этого свойства будут отображаться в разделе **Администрирование > Монитор процессов**.

**(proccess-context-6.png)**

### Переменная «Дата запуска»

В переменную **Дата запуска** с кодом \[OBJECT\] записывается дата создания экземпляра процесса. Свойство можно использовать только в скриптах. Кроме того, данные переменной отображаются в разделе **Администрирование > Монитор процессов**.

### Переменная «Комментарий» 

Переменную **Комментарий** с кодом \[OBJECT\] можно использовать в скриптах и в блоках бизнес-процесса, например, на формах переходов по разным веткам. В переменную можно записать только одно значение. Оно не сохраняется в контексте процесса и не будет отображаться на формах других задач. Отобразить значение переменной можно в ленте процесса или связанного объекта с помощью элемента [Оповещение](360012495791.md). 

Рассмотрим, как можно использовать свойство на примере бизнес-процесса **Согласование договора**. 

**(proccess-context-7.png)**

После того как исполнитель подготовит договор, его руководитель получит задачу рассмотрения. Отсюда процесс может пойти по двум веткам: **Согласовать** и **Доработать**. 

Настроим переходы процесса. В поле **Вид перехода** включим опцию **Форма**. Нажав на кнопку **Настроить форму**, добавим на форму системную переменную **Комментарий** и сделаем её обязательной для заполнения. Теперь руководителю нужно оставить свой комментарий, чтобы закрыть задачу рассмотрения. 

Чтобы передать комментарий руководителя в ленту договора, разместим на схеме элемент [Оповещение](360012495791.md). В поле **Текст сообщения** добавим переменную **Комментарий**, нажав на значок **\{+\}** в правом углу. 

В поле **Ассоциированный объект** включим опцию **Контекстная переменная** и выберем приложение **Договоры**. Теперь, когда руководитель оставит свой комментарий при выполнении задачи, сообщение сохранится в ленте элемента. Вы сможете посмотреть комментарий в любой момент на боковой панели карточки договора, направленного на согласование.

**(proccess-context-8.png)**

Руководитель может направлять договор на доработку несколько раз, оставляя свой комментарий. Каждый раз значение переменной будет перезаписываться и отображаться в оповещении исполнителя, а также в карточке рассматриваемого договора.

Обратите внимание, если договор рассматривают несколько сотрудников, в переменную будет записываться комментарий последнего из них. Чтобы передавать комментарии каждого согласующего и отображать их на форме задач, создайте [пользовательские](#add_new_variable) свойства с типом данных [Строка](360009707032.md) и вариантом отображения **Текст** для всех сотрудников.