Команды взаимодействия с вопросами

Команды взаимодействия с вопросами

Все изменения в анкете выполняются через очередь команд:

commands.push.<команда>(...параметры);

Команды не применяются мгновенно — они выполняются после завершения работы скрипта.
Это позволяет безопасно группировать несколько изменений в одном событии.


Общие команды

Эти команды работают для всех типов вопросов


🔹 skipQuestion()

Пропускает текущий вопрос, переходя к следующему по логике анкеты. Используется в блоке до показа вопроса пользователю.

Синтаксис:

commands.push.skipQuestion();

🔹 applyAnswer(force)

Применяет ответ, и переходит к следующему вопросу. Используется в блоке до показа вопроса пользователю.

Синтаксис:

commands.push.applyAnswer(force);

Параметр

Тип

Описание

Параметр

Тип

Описание

force

boolean (необязательный)

Если true, ответ будет принят даже если противоречит условиям проверки


🔹 showError(message)

Отображает сообщение об ошибке пользователю. Используется в блоке после ответа пользователя.

Синтаксис:

commands.push.showError(message);

Параметр

Тип

Описание

Параметр

Тип

Описание

message

string

Текст сообщения об ошибке, отображаемый в интерфейсе


🔹 finish(type)

Завершает раздел, цикл или анкету. Тип завершения определяет дальнейшее поведение системы. Переход к вопросу следующему за разделом или циклом, или завершение интервью.

Синтаксис:

commands.push.finish(type);

Параметр

Тип

Описание

Параметр

Тип

Описание

type

string

Тип завершения: 'Section','Interview','Cycle'


🔹 setLocale(locale)

Устанавливает язык анкеты в случае мультиязычного шаблона

Синтаксис:

commands.push.setLocale(locale);

Параметр

Тип

Описание

Параметр

Тип

Описание

locale

string

Код языка, например "ru",


🔹 setLabel(value, plainValue, html)

Устанавливает текст вопроса.

Синтаксис:

commands.push.setLabel(value, plainValue, html);

Параметр

Тип

Описание

Параметр

Тип

Описание

value

string

Текст вопроса, может содержать HTML-разметку

plainValue

string (необязательный)

Чистый текст без HTML

html

boolean (необязательный)

Если true, текст интерпретируется как HTML


🔹 setComment(value, plainValue, html)

Добавляет или изменяет текст комментария к вопросу.

Синтаксис:

commands.push.setComment(value, plainValue, html);

Параметр

Тип

Описание

Параметр

Тип

Описание

value

string

Текст комментария, может содержать HTML-разметку

plainValue

string (необязательный)

Комментарий без форматирования

html

boolean (необязательный)

Если true, текст интерпретируется как HTML


🔹 clearAnswer()

Очищает ответ в текущем вопросе.

Синтаксис:

commands.push.clearAnswer();

🔹 hideMedia(name)

Скрывает прикреплённый медиаэлемент (например, изображение или видео), связанный с вопросом.

Синтаксис:

commands.push.hideMedia(name);

Параметр

Тип

Описание

Параметр

Тип

Описание

name

string

Имя медиаэлемента для скрытия

Команды для текстового вопроса


🔹 setAnswer(value)

Устанавливает текст ответа.

Синтаксис:

commands.push.setAnswer(value);

Параметр

Тип

Описание

Параметр

Тип

Описание

value

string

Текст ответа


🔹 setMinMax(min, max)

Устанавливает ограничения на минимальную и максимальную длину ответа.

Синтаксис:

commands.push.setMinMax(min, max);

Параметр

Тип

Описание

Параметр

Тип

Описание

min

number

Минимальная длина ответа

max

number

Максимальная длина ответа


🔹 updateRegexp(enabled, regexp, message)

Обновляет регулярное выражение для проверки ответа.

Синтаксис:

commands.push.updateRegexp(enabled, regexp, message);

Параметр

Тип

Описание

Параметр

Тип

Описание

enabled

boolean

Включена ли проверка по регулярному выражению

regexp

string

Регулярное выражение

message

string

Сообщение об ошибке при несоответствии


Команды для вопросов с выбором вариантов


🔹 checkOption(value, other, required)

Выбирает вариант ответа.

Синтаксис:

commands.push.checkOption(value, other, required);

Параметр

Тип

Описание

Параметр

Тип

Описание

value

string

Код варианта

required

boolean (необязательный)

Устанавливает, обязателен ли выбор

other

string (необязательный)

Значение поля «Другое»


🔹 uncheckOption(value)

Снимает выбор с указанного варианта.

Синтаксис:

commands.push.uncheckOption(value);

Параметр

Тип

Описание

Параметр

Тип

Описание

value

string

Код варианта


🔹 hideOptions(values)

Скрывает указанные варианты ответа.

Синтаксис:

commands.push.hideOptions(values);

Параметр

Тип

Описание

Параметр

Тип

Описание

values

array<string>

Коды вариантов для скрытия


🔹 orderOptions(values)

Задаёт порядок отображения вариантов.

Синтаксис:

commands.push.orderOptions(values);

Параметр

Тип

Описание

Параметр

Тип

Описание

values

array<string>

Массив кодов вариантов в нужном порядке


🔹 updateOption(nativeName, label, finisher, excluder, showRespondent)

Обновляет параметры отдельного варианта ответа.

Синтаксис:

commands.push.updateOption(nativeName, label, finisher, excluder, showRespondent);

Параметр

Тип

Описание

Параметр

Тип

Описание

nativeName

string

Код варианта

label

string

Новый текст

finisher

boolean

Завершает ли анкету при выборе

excluder

boolean

Исключающий вариант

showRespondent

boolean

Отображать ли респонденту


🔹 setMinMax(min, max)

Устанавливает ограничения на количество выбранных вариантов.

Синтаксис:

commands.push.setMinMax(min, max);

Параметр

Тип

Описание

Параметр

Тип

Описание

min

number

Минимальное количество

max

number

Максимальное количество


Команды для вопроса сетки


🔹 check(row, value, other)

Выбирает значение в ячейке.

Синтаксис:

commands.push.check(row, value, other);

Параметр

Тип

Описание

Параметр

Тип

Описание

row

string

Код строки

value

number

Значение ячейки

other

string (опционально)

Значение поля «Другое»


🔹 uncheck(row, value)

Снимает выбор в ячейке.

Синтаксис:

commands.push.uncheck(row, value);

Параметр

Тип

Описание

Параметр

Тип

Описание

row

string

Код строки

value

number

Значение ячейки


🔹 hide(rows, columns)

Скрывает строки и/или колонки.

Синтаксис:

commands.push.hide(rows, columns);

Параметр

Тип

Описание

Параметр

Тип

Описание

rows

array<string>

Массив кодов строк

columns

array<number>

Массив индексов колонок


🔹 orderRows(rows)

Задаёт порядок строк.

Синтаксис:

commands.push.orderRows(rows);

Параметр

Тип

Описание

Параметр

Тип

Описание

rows

array<string>

Массив кодов строк в нужном порядке


🔹 updateRow(row, label, min, max)

Обновляет параметры строки.

Синтаксис:

commands.push.updateRow(row, label, min, max);

Параметр

Тип

Описание

Параметр

Тип

Описание

row

string

Код строки

label

string

Новый текст строки

min

number

Минимум выбранных колонок

max

number

Максимум выбранных колонок


🔹 updateColumn(column, label)

Обновляет параметры колонки.

Синтаксис:

commands.push.updateColumn(column, label);

Параметр

Тип

Описание

Параметр

Тип

Описание

column

number

Индекс колонки

label

string

Новый текст


Команды для вопроса диапазон


🔹 setAnswer(value, exact)

Устанавливает числовой ответ.

Синтаксис:

commands.push.setAnswer(value, exact);

Параметр

Тип

Описание

Параметр

Тип

Описание

value

string

Название диапазона

exact