Глобальные переменные
Глобальная переменная — это именованное хранилище с одним значением, общее для всех подписчиков бота. Создаётся один раз заранее, изменяется из сценариев.
Когда использовать глобальную переменную
| Задача | Что выбрать |
|---|---|
| Имя клиента, его телефон, корзина | Локальная переменная — у каждого своё значение |
| История заказов клиента | Список |
| Порядковый номер счета | Глобальная переменная |
| Промокод месяца | Глобальная переменная |
| Ставка комиссии, курс валюты | Глобальная переменная |
| Счётчик заявок за день | Глобальная переменная |
| Ссылка на актуальный канал поддержки | Глобальная переменная |
| Флаг «акция включена» | Глобальная переменная |
Главное отличие от обычной переменной — значение одно на весь бот, а не у каждого клиента своё. Главное отличие от строки в списке — это всего одна ячейка, которую удобно менять руками без сценариев.
Часть 1. Создание глобальной переменной
Шаг 1. Откройте раздел «Глоб. перем.»
На странице «Списки/WebApp» перейдите на вкладку «Глоб. перем.» (рядом со «Списками»).

Скриншот 1. Раздел «Списки / Переменные», вкладка «Глоб. перем.».
Шаг 2. Создайте переменную
Нажмите кнопку «+ Глобальная переменная». В форме заполните:
- Название — латиницей или кириллицей, до 256 символов. По этому имени переменная будет вызываться:
#{название}. - Значение — стартовое содержимое (текст, число, JSON; до 4000 символов).
- Комментарий (опционально) — заметка для вас и команды: «Курс ЦБ, обновляется по cron».
- Группа (опционально) — отнесите переменную к группе ботов для удобной фильтрации.

Скриншот 2. Форма новой глобальной переменной.
Шаг 3. Сохраните
Переменная появится в общем списке. Дальше её можно:
- Изменить название;
- Изменить значение`;
- Изменить комментарий;
- Удалить;
- Сменить группу;
- перетащить для сортировки.

Скриншот 3. Список глобальных переменных с быстрыми действиями.
Часть 2. Чтение и запись из сценария
Все операции выполняются в Сценарии действий → действие «Операции с данными (Переменные, Списки)».
3.1. Прочитать значение
Значение глобальной переменной можно получать как значение обычной переменной с добавлением префикса g_ к названию глобальной переменной, например, #{g_globalname}.
Чтобы получить значение глобальной переменной в сценарии, добавьте операцию типа «Глобальная переменная» и выберите её из выпадающего списка. Для присвоения в списке "Куда присвоить" выберите из списка Переменная, укажите имя переменной. В поле значения укажите шаблон [GlobalVar].

Скриншот 4. Операция чтения глобальной переменной.
3.2. Записать новое значение
В операции «Переменная» или «Глобальная переменная» → блок «Присвоения» → поле «Куда присвоить» выберите «Глобальная переменная» → в выпадающем списке выберите нужную.

Скриншот 5. Запись значения в глобальную переменную.
В поле «Значение» можно использовать любые шаблоны замен:
- текущее значение глобальной переменной доступно из шаблона [GlobalVar].
- статический текст:
Зима скидка -30%; - ответ из блока:
[Answer1]; - другую переменную:
#{новый_курс}; - системный шаблон:
[CurrentDate]; - вычисление:
{{ #{global_counter} + 1 }}— увеличить счётчик на 1.
3.3. Сохранить результат отбора списка
В операциях со списком, в перебое массива доступно действие «Сохранить в глобальную переменную» — записать значение поля из текущей строки списка в глобальную переменную.
Часть 3. Примеры использования
Пример 1. Счётчик заявок
Задача: считать количество заявок, оформленных через бота.
- Создайте глобальную переменную
g_orders_totalсо значением0. - В сценарии оформления заказа добавьте операцию «Глобальная переменная» → присвоение:
- Куда: Переменная →
g_orders_total - Значение:
[GlobalVar] + 1
- Куда: Переменная →
- В админ-блоке отправляйте себе:
Всего заявок: #{g_orders_total}.
Пример 2. Промокод месяца
- Создайте
g_promo_code=SUMMER2026иg_promo_until=31.08.2026. - В сценарии добавьте операцию «Глобальная переменная» → присвоение:
- Куда: Переменная →
g_promo_code - Значение:
[GlobalVar]
- Куда: Переменная →
- В рассылке:
🎁 Промокод месяца: #{g_promo_code}. Действует до #{g_promo_until}. - Каждый месяц меняйте значение вручную в разделе «Глоб. перем.» — сценарии трогать не надо.
Пример 3. Курс валюты для расчётов
- Глобальная переменная
g_usd_rate=92.5. - В сценарии действий вызывайте HTTP-запрос к API ЦБ и сохраняйте результат в
g_usd_rate. - В сценарии добавьте операцию «Глобальная переменная» → присвоение:
- Куда: Переменная →
g_usd_rate - Значение:
[GlobalVar]
- Куда: Переменная →
- В калькуляторе товаров:
Цена в рублях: {{ #{price_usd} * #{g_usd_rate} }} ₽.
Пример 4. Флаг технических работ
- Глобальная переменная
g_maintenance=0. - В сценарии добавьте операцию «Глобальная переменная» → присвоение:
- Куда: Переменная →
g_maintenance - Значение:
[GlobalVar]
- Куда: Переменная →
- В стартовом блоке проверка перехода: если
#{g_maintenance} = 1→ отправить сообщение «Бот на обслуживании», иначе — обычный сценарий. - Включить режим — поменять значение на
1в админке. Никаких правок сценариев.
Пример 5. Текст пользовательского соглашения
g_terms_url=https://example.com/terms-v3.pdf.- В сценарии добавьте операцию «Глобальная переменная» → присвоение:
- Куда: Переменная →
g_terms_url - Значение:
[GlobalVar]
- Куда: Переменная →
- Во всех приветствиях и формах:
Принимая, вы соглашаетесь с условиями: #{g_terms_url}. - При обновлении документа — меняете значение в одном месте, и оно подтягивается везде.
Локальная, глобальная переменная, список — сравнение
| Локальная переменная | Глобальная переменная | Список | |
|---|---|---|---|
| Где хранится значение | В рамках одного сценария | На уровне бота | На сервере как таблица |
| У каждого клиента своё значение? | Да | Нет — общее | Записи разделяются по ClientID |
| Сколько значений | Одно | Одно | Много строк |
| Меняется руками в админке? | Нет | Да | Да (через редактор) |
| Когда использовать | Имя, ответ, временный счётчик | Настройки бота, промокод, курс | База клиентов, корзина, история |
Частые ошибки
- Изменили значение глобальной переменной, а в сообщении не подставляется — проверьте, что в подстановке имя без пробелов и в нужном регистре (
#{promo}≠#{Promo}). #{g_counter} + 1подставился буквально как5 + 1— для вычислений оборачивайте выражение в{{ }}:{{ #{g_counter} + 1 }}.- Локальная переменная «перебила» глобальную с тем же именем — давайте глобальным префикс:
g_,global_,cfg_. - Переменная не видна в выпадающем списке сценария — проверьте, что она создана в той же автоворонке, в которой строите сценарий.
- Значение случайно очистилось — глобальную переменную может изменить любой сценарий бота. Если важно — закрепите комментарий с описанием, кто и когда её меняет.
Что дальше
- Подставляйте значения через шаблоны замен и системные переменные.
- Сохраняйте данные подписчиков в списки.
- Используйте глобальные переменные в условиях перехода между блоками.