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

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

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

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

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

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