Нода «Формула»

Нода «Формула» считает выражение над переменными и записывает результат в новую переменную. Она нужна везде, где боту требуется что-то посчитать — сумму заказа, скидку, итог с доставкой, дату через неделю.

Как писать выражение

Переменные пишутся по имени, без фигурных скобок: price * qty, а не {{price}} × {{qty}}.

ЧтоКак писать
Арифметика+, -, * (умножение), /, % (остаток), ^ (степень), скобки
Функцииround, floor, ceil, abs, min, max, sqrt, random, randint(1, 10)
Строкиlen(name), lower(city), upper(code), concat(first, " ", last)
Датыtoday(), addDays(date, 7), addMonths(date, 1), diffDays(a, b) — даты в формате ГГГГ-ММ-ДД

В формуле доступны только переменные сценария — ответы на вопросы, поля форм, результаты действий и данные клиента, которые бот кладёт при старте (name, phone). Системные {{system.*}} и глобальные {{global.*}} поля в формуле не работают: сначала скопируйте нужное значение в переменную действием «Установить пользовательское поле».

Если в формуле есть незаполненная переменная или выражение с ошибкой, результат не сохранится, а сценарий пойдёт дальше. Проверяйте ввод заранее — например, собирайте числа с типом ответа «Число».

Когда применять

  • Сумма заказа — price * qty.
  • Скидка и итог — total * (1 - discount / 100) или total - promo_discount.
  • Итог с доставкой — total + 300.
  • Дата через неделю — addDays(today(), 7).

Как настроить

  1. Соберите исходные данные

    Нодами «Вопрос» или «Форма» получите нужные значения — например, количество в qty.

  2. Добавьте ноду «Формула»

    Нажмите «Добавить шаг» и выберите «Формула».
  3. Задайте выражение

    Впишите формулу, например qty * 500.
  4. Укажите переменную результата

    Например, total. Дальше результат доступен как {{total}}.

  5. Используйте результат

    Подставьте {{total}} в сообщение или в сумму ноды «Оплата».

С чем сочетать

Пример

  1. Соберите количество

    Нода «Вопрос» с типом «Число»: «Сколько штук?» → переменная qty.

  2. Посчитайте сумму

    Нода «Формула»: qty * 500 → переменная total.
  3. Покажите итог

    Нода «Сообщение»: «Итого к оплате: {{total}} ₽».

  4. Выставьте счёт

    Нода «Оплата» с суммой {{total}}.