Skip to content

Переменная ​

Скрытый шаг: записать или изменить значение переменной без вопроса пользователю.

Когда ставить ​

Задать метку сценария («тариф = pro»), стартовое число, дату или время. Тем же блоком дальше по ветке можно снова пройти «Переменную» и перезаписать или пересчитать уже объявленное значение.

Менять можно только переменные, которые завели этим же блоком «Переменная» на пути от «Начала». Ответы вопросов, калькулятор и таймер этим блоком не правятся — у них свои имена и свои блоки.

Имя должно быть уникальным среди объявлений в проекте. Нельзя занимать служебные имена (подробнее).

Конструктор ​

Вход сверху. Один выход дальше.

Редактор ​

Если на пути от «Начала» уже есть переменная типа строка, число, дата или время, сверху появится список. Выберите её или «Завести новую».

Первый блок с «Завести новую» объявляет переменную. Следующие блоки с выбором этой переменной меняют значение в момент прохождения.

Завести новую ​

ПолеЗачем
Имя переменнойКак обращаться через @. Латиница, цифры и _
Тип переменнойСтрока, Число, Дата, Диапазон дат, Время, Диапазон времени, Диапазон чисел
Начальное значениеЧто записать, когда пользователь дошёл до этого блока

Смена типа очищает начальное значение. Переменная появляется в квизе только после прохождения блока, который её завёл.

ТипКак задать начальное значение
СтрокаТекст
ЧислоЧисло
ДатаДата и время в календаре
ВремяВремя суток (часы, минуты, секунды)
Диапазон датДва конца в календаре, начало не позже конца
Диапазон времениДва момента в одних сутках, начало не позже конца
Диапазон чиселДва числа «от» и «до»

Диапазон дат, диапазон времени и диапазон чисел этим блоком только объявляют. Позже изменить их вторым блоком «Переменная» нельзя.

Изменить существующую ​

Тип и имя берутся с блока, который переменную завёл. Ниже — что можно настроить в каждом типе.


Строка ​

Поле «Значение» — готовый текст. Каждый проход этого блока полностью заменяет строку, старое значение не дописывается.

ПриёмПример
Обычный текстТариф Pro
Другая переменная@plan — подставится её текущее значение на ветке
Число как текст@sum или @sum[string] — см. переменные
Та же переменная@имя этой переменной — значение до этого блока; удобно собирать текст по частям
Пустое полеДопустимо — запишется пустая строка

Начните ввод с @ и выберите переменную из списка. В шаблоне можно несколько @ подряд: Тариф @plan, скидка @discount %.


Число ​

Поле «Формула» — как в калькуляторе. Результат заменяет прежнее число в переменной.

Операции в формуле ​

ОперацияКак писатьПример
Сложение+@price + @tax
Вычитание-@total - @discount
Умножение*2 * @price — знак обязателен
Деление/@sum / 2
Скобки( )(@a + @b) * 2
Минус перед числом--@price

Числа в формуле: 10 или 10.5. Пробелы не важны.

Откуда брать числа в формуле ​

  • переменные типа число — @sum;
  • конвертеры у дат и диапазонов — например @period[count_day], @range[first] (справка по @);
  • та же переменная — @имя в формуле для этой переменной: значение до этого блока, например @score + 10.

Если переменная в формуле ещё пустая или не число, в расчёте она считается 0. Деление на ноль и ошибка формулы дают 0, квиз не останавливается.

Округление ​

ПолеЗачем
Знаков после запятойСколько оставить в результате; 0 — целое
ОкруглениеПри нуле знаков: вниз, обычное, вверх или отбросить дробь

Дата ​

Переключатель «Операция»: Переопределить, Добавить или Вычесть.

Переопределить ​

Календарь «Новая дата» — дата и время целиком. Старое значение не важно: записывается выбранный момент.

Добавить / Вычесть ​

Три поля: Дни, Часы, Минуты. В каждом:

  • пусто — считается 0;
  • целое число, например 7 (неделя);
  • одна числовая @переменная, например @shift_days или @period[count_day].

Добавить сдвигает дату вперёд, Вычесть — назад. Если даты в переменной ещё не было, прибавление и вычитание ничего не меняют — сначала задайте дату блоком Переопределить или при «Завести новую».


Время ​

Тот же принцип, что у даты: Переопределить, Добавить, Вычесть.

Переопределить ​

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

Добавить / Вычесть ​

Поля Часы, Минуты, Секунды — целое, @переменная или пусто (= 0).

Если времени ещё не было, для прибавления и вычитания оно считается полночью (00:00:00). Сутки закольцованы: 23:00 плюс 2 часа → 01:00.

В текстах @имя покажет часы и минуты; полный вид — @имя[hhmmss] (переменные).


Несколько блоков на одной ветке ​

Типичная схема:

  1. Завести новую — @total число, начальное 0.
  2. Пользователь отвечает, калькулятор пишет в другую переменную.
  3. Снова Переменная, выбрать @total, формула @total + @answer_score.
  4. Условие сравнивает @total.

Каждый блок «Изменить существующую» срабатывает в порядке прохождения. В webhook и заявке уходит последнее значение на момент прохождения.


Как видит пользователь ​

Пользователь этот блок не видит. Значение записывается на сервере, прохождение сразу идёт дальше. Подставить результат в текст — через @ (переменные).

Соседние блоки ​

Разовый расчёт в новую переменную без цепочки правок — Калькулятор. Ветки по значению — Условие, Переключатель.

Чтобы человек сам ввёл значение — Строка, Число, Дата, Время и блоки диапазонов.