Ручной контроль правильности ответа на вопрос

В SURVEYSTUDIO по умолчанию любой вопрос должен содержать ответ, иначе оператор не сможет перейти к следующему вопросу. Причем если вопрос табличный - требуется чтобы ответ был в каждой видимой строке таблицы. Это удобно и позволяет разработчику не выполнять ручные проверки, отвечен ли вопрос.

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

Допустим у нас есть простой табличный вопрос (числовой) следующего вида:

Обычное поведение системы - будет требоваться ответ во всех трёх строках. Но, допустим, нам надо сделать так, что в строке с кодом 3 ответ может отсутствовать. Тогда мы в свойствах вопроса, в разделе Логика, ставим флаг:
Не требовать обязательного ответа на вопрос (проверка ответа скриптами).

Теперь система будет контролировать только формат вводимых значений (в данном случае чтобы вводились числа), но не наличие ответов. Т.е. можно перейти к следующему вопросу вообще не отвечая на Q1. Чтобы разрешить оставлять пустым число только в строке с кодом 3, напишем скрипт после ответа для Q1:

var visibleRows = Q.rows.getVisible();
for (var i = 0; i < visibleRows.length; i++) {
    var row = visibleRows[i];
    if (row.code != 3 && row.openValueInt == undefined) {
        return error('Укажите значение в строке с кодом ' + row.code);
    }
}

В результате вопрос можно ответить таким образом:

А если не указать, например, ответ в строке с кодом 2, то будет выдано сообщение об ошибке:

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