Администрирование системы  / Дополнительные параметры

Дополнительные параметры

В этом разделе вы можете добавлять и хранить параметры, а затем использовать их в скриптах внутри бизнес-процессов. В отличие от контекстных переменных, значение которых меняется от экземпляра к экземпляру, параметр остаётся неизменным для всех экземпляров процесса. Также такие параметры можно использовать в серверных скриптах виджетов.

Параметры хранятся в разделе централизованно. Это значит, что в дальнейшем, если вам потребуется изменить параметр, не нужно будет вносить правки в скрипты, в которых он используются. Достаточно отредактировать данные в разделе Дополнительные параметры.

additional-parameters-1

начало примера

Пример применения параметров

Предположим, компания принимает заказы от клиентов через сайт. Между сайтом и ELMA365 настроена интеграция. Это позволяет передавать данные о готовности заказа в личный кабинет на сайте.

Такая интеграция осуществляется при помощи скрипта. Для корректной работы скрипта необходимо указать адрес сайта и токен для авторизации. Неважно, сколько экземпляров процесса будет запущено, эти параметры останутся неизменными. Кроме того, если компания решит создать ещё один бизнес-процесс и настроить в нем интеграцию с сайтом, ей понадобятся те же самые параметры.

Учитывая это, удобно хранить адрес сайта и токен в разделе Дополнительные параметры. Если однажды адрес сайта или токен изменятся, сотрудникам компании не придётся проверять все скрипты в процессах. Достаточно будет изменить нужный параметр в соответствующем разделе.

конец примера

Типы параметров

Параметры можно разделить на три группы:

 

  • глобальные параметры — заданы на уровне компании и всегда доступны для использования в процессах компании и виджетах, созданных на уровне компании. Также вы можете применять их при создании скриптов в любом разделе или приложении, но для этого необходимо включить использование константы Global. Обратите внимание, в таком случае экспорт раздела или приложения станет недоступен;
  • параметры раздела — заданы на уровне раздела и всегда доступны для использования в процессах и виджетах этого раздела. Кроме того, эти параметры могут применяться в процессах и виджетах приложений, входящих в раздел, но для этого необходимо включить использование константы Namespace;
  • параметры приложения — заданы на уровне приложения и доступны для использования в процессах и виджетах, созданных на уровне этого приложения.

начало внимание

Использование констант Global или Namespace в скриптах ограничивает экспорт компонентов системы. Подробнее об этом читайте в статье «Глобальные константы в скриптах».

конец внимание

Создание параметров

  1. Перейдите к созданию параметра одним из следующих способов:
    • откройте страницу Администрирование > Настройки системы > Дополнительные параметры. Здесь можно задать как глобальные параметры, так и параметры раздела или приложения;
    • выберите раздел и в меню его настроек нажмите Дополнительные параметры. Здесь можно задать только параметры конкретного раздела и его приложений;
    • в разделе выберите приложение и в меню его настроек нажмите Дополнительные параметры. Здесь можно задать только параметры конкретного приложения.
  2. На открывшейся странице в правом верхнем углу нажмите на кнопку + Параметр.

additional-parameters-2

  1. В открывшемся окне заполните следующие поля:
    additional-parameters-3
  • Отображаемое имя* — укажите название, которое будет отображаться в списке параметров;
  • Имя свойства* — генерируется автоматически, исходя из названия параметра. При желании вы можете отредактировать содержимое поля;
  • Подсказка — здесь можно указать дополнительную информацию о параметре;
  • Тип*тип данных, которые хранит данный параметр;
  • Значение — в этом поле задайте значение параметра.

Значение параметра можно изменить. Для этого выберите его в списке параметров и нажмите значок карандаша.

additional-parameters-4

Использование параметров

начало внимание

Параметры Global.paramsNamespace.paramsApplication.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
}