Действия перед показом и после ответа на вопрос

Одним из средств управления логикой работы анкеты являются Действия, которые в зависимости от условия выполяют указанную операцию, например переход на вопрос или завершение интервью. Для каждого вопроса можно задать два списка действия: перед показом и после ответа.

Действия перед показом выполняются непосредственно перед показом вопроса интервьюеру/респонденту, а действия после ответа - уже после показа вопроса и получения ответа на него, а также после проверки полученного ответа на правильность.

Выполнение системой действий производится последовательно, таким образом порядок действий в списке имеет важное значение. У каждого действия можно указать условие, при котором оно выполняется. Если условие не задано - действие выполняется всегда. Если условие выполненяется (или не задано), то будет выполнено указанное действие. При этом последовательное выполнение действий производится до тех пор, пока одно из них не вернет окончательный результат (переход на вопрос, завершение интервью, вывод сообщения об ошибке и т.д.).

Открыть редактор действий можно с помощью кнопки Действия, которая появляется в левом нижнем углу окна свойств вопроса после сохранения нового вопроса. Щёлкнув по ней, можно выбрать желаемый редактор:

Окно с редактором действий выглядит следующим образом:

  1. Быстрое выделение всех действий в списке или снятие выделения.
  2. Добавление нового действия в список.
  3. Создание копии выбранных действий и добавление их в конец списка.
  4. Удаление выбранных действий.
  5. Перемещение выбранных действий вверх.
  6. Перемещение выбранных действий вниз.
  7. Список действий.

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

  1. Условие выполнения действия. Может отсутствовать, при этом действие будет выполняться всегда. Подробнее про синтаксис выражений, которые используются для условий, можно прочитать в соответствующем разделе.
  2. Действие, которое нужно выполнить.
  3. Первый числовой параметр.
  4. Первый текстовый параметр.
  5. Второй числовой параметр.
  6. Второй текстовый параметр.

Некоторые действия требуют указания параметров, например номер вопроса для перехода. Предусмотрена возможность указать два параметра для действия, при этом каждый параметр может содержать число и/или строку.

Рассмотрим каждый тип действия подробнее:

Переходы и пропуск

  • Переход на вопрос
    Осуществляет переход на необходимый вопрос. Номер вопроса указывается в первом числовом параметре.
  • Завершить интервью
    Выполняется завершение интервью. В первом текстовом параметре можно указать текст сообщения, которое будет выведено после завершения интервью. Если его оставить пустым, будет выведено стандартное сообщение.
  • Пропустить вопрос
    Это действие имеет смысл только перед показом вопроса. Он заставляет систему перейти сразу к следующему по порядку вопросу, не показывая текущий.
  • Пометить как отвеченный
    Имитирует ответ на вопрос без его показа. Обычно используется совместно с предыдущими (вышестоящими) действиями, которые проставляют необходимые ответы. Если вопрос останется без ответа - он будет показан.
  • Пометить как отвеченный или пропустить
    Работает также, как и действие Пометить как отвеченный, только в случае, если вопрос остался без ответа - пропускает его, переходя к следующему по порядку.
  • Пропустить, если нет видимых вариантов ответа или строк
    Если в вопросе с выбором или в табличном вопросе нет ни одного ответа или строки, это действие пропустит вопрос и перейдёт к следующему по порядку.

Скрыть варианты ответа

  • Скрыть все варианты ответа
    Скрывает все варианты ответа в вопросе. Обычно последующие действия показывают какие-то определенные варианты, например отмеченные в предыдущих вопросах.
  • Скрыть указанные варианты ответа
    Скрывает варианты ответа, список кодов которых задается в первом текстовом параметре. Если необходимо скрыть сразу несколько вариантов ответа - их коды указываются через запятую, например: 2,5,6.
  • Скрыть варианты ответа, отмеченные в указанном вопросе
    Скрывает варианты ответа, которые были выбраны в вопросе с номером, указанном в первом числовом параметре.

Показать варианты ответа

  • Показать все варианты ответа
    Показывает все варианты ответа в вопросе. Обычно последующие действия скрывают какие-то определенные варианты, например отмеченные в предыдущих вопросах.
  • Показать указанные варианты ответа
    Показать варианты ответа, список кодов которых задается в первом текстовом параметре. Если необходимо показать сразу несколько вариантов ответа - их коды указываются через запятую, например: 2,5,6.
  • Показать варианты ответа, отмеченные в указанном вопросе
    Показывает варианты ответа, которые были выбраны в вопросе с номером, указанном в первом числовом параметре.
  • Показать только указанные варианты ответа
    Показать только варианты ответа, список кодов которых задается в первом текстовом параметре. При этом все другие варианты ответа будут скрыты. Если необходимо показать сразу несколько вариантов ответа - их коды указываются через запятую, например: 2,5,6.
  • Показать только варианты ответа, отмеченные в указанном вопросе
    Показывает только варианты ответа, которые были выбраны в вопросе с номером, указанном в первом числовом параметре. При этом все другие варианты ответа будут скрыты.

Переменные
Обычно переменные используются для автоматической подстановки необходимого значения в текст вопроса (а также в комментарий или текст варианта ответа) с помощью макросов. Например, если в тексте вопроса написать Здравствуйте, {ФИО}!, то макрос {ФИО} будет заменён на значение переменной ФИО.

  • Установить значение переменной из открытого ответа указанного вопроса
    Устанавливает значение переменной, имя которой указывается в первом текстовом параметре, из открытого значения вопроса, номер которого указывается во втором числовом параметре. Если указанный вопрос изберательного типа (единственный или множественный выбор), то необходимо во втором текстовом параметре указать код варианта ответа, откуда надо взять открытое значение.
  • Установить значение переменной
    Присваивает переменной, имя которой указывается в первом строковом параметре, значение, указанное во втором строковом параметре.
  • Установить значение переменной из данных контакта
    Присваивает переменной, имя которой указывается в первом строковом параметре, значение из данных контакта. Имя поля данных указывается во втором строковом параметре.

Загрузка ответов

  • Перенести ответы из другого вопроса
    Переносит в текущий вопрос ответы из вопроса, номер которого указан в первом числовом параметре. Действие не поддерживает табличные вопросы.
  • Загрузить ответы из данных контакта
    Вставляет в текстовый или числовой вопрос содержимое поля данных контакта, имя которого указывается в первом текством параметре.

Разное

  • Сбросить состояние вариантов ответа
    Сбрасывает состояние текущего вопроса в изначальное. Очищаются все ответы, а также все варианты ответа становятся видимыми, если были скрыты.
  • Сообщить об ошибке
    Выводит сообщение об ошибке. Это действие используется после ответа на вопрос для проверки его правильности. В первом текстовом параметре можно указать текст сообщения, которое будет выведено на экран. Если его оставить пустым, будет выведено стандартное сообщение.


Читайте далее: описание синтаксиса выражений.