В этом разделе вы можете добавлять и хранить параметры, а затем использовать их в сценариях внутри бизнес-процессов. В отличие от контекстных переменных, значение которых меняется от экземпляра к экземпляру, параметр остаётся неизменным для всех экземпляров процесса. Также такие параметры можно использовать в серверных сценариях виджетов.
Параметры хранятся в разделе централизованно. Это значит, что в дальнейшем, если вам потребуется изменить параметр, не нужно будет вносить правки в сценарии, в которых он используются. Достаточно отредактировать данные в разделе Дополнительные параметры.
начало примера
Пример применения параметров
Предположим, компания принимает заказы от клиентов через сайт. Между сайтом и ELMA365 настроена интеграция. Это позволяет передавать данные о готовности заказа в личный кабинет на сайте.
Такая интеграция осуществляется при помощи сценария. Для корректной работы сценария необходимо указать адрес сайта и токен для авторизации. Неважно, сколько экземпляров процесса будет запущено, эти параметры останутся неизменными. Кроме того, если компания решит создать ещё один бизнес-процесс и настроить в нем интеграцию с сайтом, ей понадобятся те же самые параметры.
Учитывая это, удобно хранить адрес сайта и токен в разделе Дополнительные параметры. Если однажды адрес сайта или токен изменятся, сотрудникам компании не придётся проверять все сценарии в процессах. Достаточно будет изменить нужный параметр в соответствующем разделе.
конец примера
Типы параметров
Параметры можно разделить на три группы:
- глобальные параметры — заданы на уровне компании и всегда доступны для использования в процессах компании и виджетах, созданных на уровне компании. Также вы можете применять их при создании сценариев в любом разделе или приложении, но для этого необходимо включить использование константы
Global
. Обратите внимание, в таком случае экспорт раздела или приложения станет недоступен; - параметры раздела — заданы на уровне раздела и всегда доступны для использования в процессах и виджетах этого раздела. Кроме того, эти параметры могут применяться в процессах и виджетах приложений, входящих в раздел, но для этого необходимо включить использование константы
Namespace
; - параметры приложения — заданы на уровне приложения и доступны для использования в процессах и виджетах, созданных на уровне этого приложения.
начало внимание
Использование констант Global
или Namespace
в сценариях ограничивает экспорт компонентов системы. Подробнее об этом читайте в статье «Глобальные константы в сценариях».
конец внимание
Создание параметров
- Перейдите к созданию параметра одним из следующих способов:
- откройте страницу Администрирование > Настройки системы > Дополнительные параметры. Здесь можно задать как глобальные параметры, так и параметры раздела или приложения;
- выберите раздел и в меню его настроек нажмите Дополнительные параметры. Здесь можно задать только параметры конкретного раздела и его приложений;
- в разделе выберите приложение и в меню его настроек нажмите Дополнительные параметры. Здесь можно задать только параметры конкретного приложения.
- На открывшейся странице в правом верхнем углу нажмите на кнопку + Параметр.
- В открывшемся окне заполните следующие поля:
- Отображаемое имя* — укажите название, которое будет отображаться в списке параметров;
- Имя свойства* — генерируется автоматически, исходя из названия параметра. При желании вы можете отредактировать содержимое поля;
- Подсказка — здесь можно указать дополнительную информацию о параметре;
- Тип* — тип данных, которые хранит данный параметр;
- Значение — в этом поле задайте значение параметра.
Значение параметра можно изменить. Для этого выберите его в списке параметров и нажмите значок карандаша.
Использование параметров
начало внимание
Параметры Global.params
, Namespace.params
, Application.params
доступны только в серверных сценариях и только для чтения.
конец внимание
Рассмотрим решение для техподдержки. В ходе процесса в ELMA365 сотрудник описывает возникшую проблему, а затем при помощи сценария данные отправляются в систему для отслеживания сообщений об ошибках — GitLab. Там автоматически создаётся задача с заголовком и описанием, а также выбирается исполнитель.
Чтобы реализовать такую интеграцию, заданы следующие дополнительные параметры:
gitlab_host
— адрес сервера;gitlab_project
— идентификатор проекта, в котором будет создаваться тикет;gitlab_token
— токен авторизации;gitlab_user
— пользователь, на которого тикет будет назначен.
Заголовок задачи и описание определяются через контекстные переменные title
и description
.
Сценарий выглядит следующим образом:
async function createIssueInGitlab(): Promise {
const issue = await fetch(`${ Namespace.params.data.gitlab_host }/api/v4/projects/${ Namespace.params.data.gitlab_project }/issues`, {
method: 'post',
headers: {
'PRIVATE-TOKEN': Namespace.params.data.gitlab_token,
'Content-Type': 'application/json',
},
body: JSON.stringify({
title: Context.data.title,
description: Context.data.description,
assignee_ids: [Namespace.params.data.gitlab_user],
}),
}).then(res => res.json());
Context.data.issue_url = issue.web_url
}