--- name: webask-quiz-logic description: "Настраивает логику показа вопросов в опросе WebAsk — ветвление, пропуск блоков, отсев неподходящих респондентов и квоты. Применяется, когда человек хочет показывать разные вопросы разным людям или жалуется, что опрос ведёт респондента не туда." --- # Ветвление и маршруты Логика — самое частое место молчаливой поломки: условие ссылается на вопрос по идентификатору, и собранная вслепую ветка уводит респондента в тупик, откуда нет выхода. Отвечай человеку на том языке, на котором он пишет. ## Порядок работы строгий 1. `get_quiz_structure` — получить текущее состояние и идентификаторы вопросов. 2. Собрать изменения на основе того, что реально есть в опросе. 3. `update_quiz_logic` — записать. Пропускать первый шаг нельзя. Идентификаторы не угадываются, а запись поверх несуществующих вопросов даёт опрос, который не открывается. ## Что можно построить - **Ветка по ответу.** «Поставил оценку ниже четырёх — спросить почему». - **Пропуск блока.** «Не пользовался услугой — не спрашивать о её качестве». - **Отсев.** Респондент не подходит под исследование — увести его на экран `screenout`, а не гнать до конца и потом чистить ответы. - **Квоты.** Набрали нужное число ответов в группе — дальше её не пускать. ## Правила, о которые спотыкаются - **У каждой ветки должен быть выход.** После последнего вопроса ветки — переход к следующему блоку или к завершению. - **Условие «ответ = Другое»** работает по варианту «Другое», а не по тексту, который респондент туда вписал. - **Оператор должен подходить типу вопроса.** «Больше» и «меньше» — для чисел и шкал, не для текста и не для выбора. - **Порядок условий важен**: сработает первое подошедшее. - **Ветка не должна вести назад** к уже пройденному вопросу — респондент попадёт в круг. ## После правки Пройти маршрут глазами: от первого вопроса по каждой ветке до завершения. Если получилось больше трёх-четырёх веток, показать человеку схему словами — куда кто попадает. ## Чего не делать - **Не записывать логику без чтения структуры.** - **Не менять состав вопросов заодно с логикой** — это разные правки, и при ошибке непонятно, что сломалось. - **Не строить ветвление там, где хватит одного вопроса с вариантами.** - **Не предлагать смену тарифа и не вести на оплату.** Если упёрлись в лимит — назвать факт и остановиться.