Управление переменными в функциях и сценариях
Как работает действие Управление переменными в функциях и сценариях, откуда брать значения и как строить последовательность изменений.
Действие Управление переменными позволяет автоматически менять пользовательские переменные во время работы агента.
Это основной способ поддерживать значения в актуальном состоянии без ручного редактирования. Например, через это действие можно сохранить имя клиента, записать номер заказа, округлить стоимость, обновить JSON с данными заявки или очистить служебную переменную до значения по умолчанию.
Где доступно это действие
Действие Управление переменными можно использовать:
в функциях;
в сценариях.
С его помощью можно изменять и переменные области Агент, и переменные области Диалог.


Что настраивается в действии
В каждом блоке изменения настраиваются четыре основные части:
какую переменную изменить;
что с ней сделать;
откуда взять значение;
при каких условиях выполнять изменение.
1. Какую переменную изменить
В этом поле вы выбираете нужную пользовательскую переменную из списка.
Можно выбрать:
переменную агента;
переменную диалога.
2. Что сделать с переменной
Набор доступных операций зависит от типа переменной.
Не обязательно запоминать весь список действий. Достаточно понимать общий принцип: для каждого типа доступны только те изменения, которые логичны именно для него.
Строка
Для строковых переменных обычно используются такие операции:
заменить значение;
очистить переменную;
дописать текст к текущему значению.
Число
Для числовых переменных обычно используются такие операции:
заменить значение;
прибавить или вычесть число;
округлить значение.
Логическое значение
Для логических переменных обычно используются такие операции:
установить
Да;установить
Нет;переключить текущее значение.
JSON
Для JSON-переменных обычно используются такие операции:
изменить поле;
добавить новое поле;
добавить элементы в массив;
удалить значение или поле.
Дата и время
Для переменных даты и времени обычно используются такие операции:
поставить текущую дату или время;
сдвинуть значение вперёд;
сдвинуть значение назад.
Если в действии используется очистка переменной, она возвращается к значению по умолчанию.
3. Откуда взять значение
В поле Откуда взять значение доступны четыре основных источника:
Ввести вручную — вы сами вводите нужное значение.
Взять из параметра функции — значение подставляется из параметра функции.
Взять из системной переменной — значение берётся из системных данных платформы.
Взять из пользовательской переменной — в выбранную переменную записывается значение другой пользовательской переменной.
Это позволяет строить не только простые записи, но и целые цепочки изменений внутри одного действия.
4. Дополнительные условия
Блок Дополнительные условия нужен, чтобы менять переменную не всегда, а только при нужной ситуации.
Например, изменение можно выполнять:
если переменная пустая;
если в переменной уже что-то есть;
если значения равно чему-то.
Условия работают как фильтр перед выполнением действия.
Что важно:
условий можно добавить несколько;
изменение выполнится только тогда, когда соблюдены все добавленные условия.

Можно менять несколько переменных за одно действие
В одном действии можно добавить сразу несколько изменений переменных.
Это удобно, когда после одной функции или одного сценария нужно:
записать имя клиента;
сохранить номер заказа;
обновить JSON с деталями заявки;
передать нужные данные администратору в мессенджер.
Порядок изменений имеет значение
Блоки изменения переменных можно менять местами перетягиванием.
Это важно, когда результат одного изменения должен использоваться в следующем.
Пример:
Сначала вы округляете числовое значение.
Потом записываете уже округлённый результат в нужную переменную.
Если поменять блоки местами, логика сработает по-другому.
Практические примеры
Сохранить имя клиента в переменную диалога
Подходит, если функция получает имя клиента отдельным параметром.
Логика:
Выберите переменную диалога
ClientName.В поле Что сделать выберите замену значения.
В поле Откуда взять значение выберите
Параметр функции.Укажите параметр с именем клиента.
После этого имя сохранится в конкретном диалоге и его можно будет использовать в промпте, отчётах, Custom API и Python.
Не перезаписывать уже заполненную переменную
Подходит, если вы хотите записать значение только один раз.
Логика:
Выберите нужную переменную.
Настройте источник значения.
В Дополнительных условиях укажите
Если переменная пустая.
Теперь значение будет записано только в том случае, если переменная ещё не заполнена.
Очистить служебную переменную агента до значения по умолчанию
Подходит для сброса временных или служебных значений.
Логика:
Выберите переменную агента.
В поле Что сделать выберите очистку переменной.
Сохраните действие.
После выполнения переменная вернётся к значению по умолчанию.
Сначала округлить цену, потом сохранить её в основную переменную
Подходит для сценариев, где нужно подготовить значение перед отправкой в CRM, Custom API или отчёт.
Один из удобных вариантов:
В первом блоке изменения округлите числовую переменную.
Во втором блоке запишите полученное значение в другую пользовательскую переменную.
Перетащите блоки так, чтобы округление было выше записи.
Тогда второе изменение будет работать уже с подготовленным значением.
Last updated
Was this helpful?