Я правильно понял, что рекомендуется просто организовать рекурсию в методе "ПоказатьВопрос", а фишка в том, что все это запихали именно в один метод?
Если, да, то мне кажется более структурированным решение, приводимое в
https://forum.infostart.ru/forum9/topic213234/. Там, правда, не один метод, а два, но так , по-моему, правильнее, все-таки убираем анализ запросов в свой метод..
P.S.
А метод ПоказатьВопросАсинх не рассматривается, или я неверно понимаю как он работает?
(1) Да, цель была запихнуть именно в один метод и вызывать эту же процедуру в процедуре для компактности. Вариант с двумя методами аналогичный. Этот пример как вариант использования в разных ситуациях и на свой вкус.
А метод ПоказатьВопросАсинх не рассматривается, или я неверно понимаю как он работает?
Что касается этого метода - это хорошо, но не у всех платформа выше 8.3.18.1128. Я даже не сталкивался с асинхронными методами. Но вы мне дали подсказку разобраться с асинхронными методами и попробовать их в деле. Спасибо.
(2) Что вы имеете ввиду "Не мучайте пользователей"? Цель была именно отдать решение пользователю по вопросу возникновение отрицательных остатков по каждому такому товару, оприходовать или разукомплектовать, а так же пропустить (ответив Нет) или прервать цикл (ответив Отменить) и разобраться с остатками.
(4) Имеется в виду, что вместо того, чтобы заставлять пользователя нажимать кнопки по каждой строке (а если таких строк 10, 20 и т.д.?), лучше собрать проблемные товары все вместе, вывести отдельную форму с этими товарами с возможностью выделения строк и кнопками, что нужно сделать сразу со всеми выделенными строками. А ваша реализация - это реальное мучение для пользователей. По несколько раз нажимать "Да/Нет/Отмена".
(5) Это, конечно, все правильно, но вопросы не обязаны быть взаимонезависимыми.
Иногда от ответа пользователя на один вопрос меняется текст следующего и сама необходимость в нем.
- Вам больше 18 лет?
- Да.
- Сколько бутылок водки хотите взять?
- Вам больше 18 лет?
- Нет.
- Иди, девочка, отсюда!
Или, в примере близком к авторскому:
- Разукомплектовать товар N?
- Да
- Образовались зап. части, доукомплектовать товар N1?
(7) К самой реализации показа нескольких вопросов подряд претензий, по сути, нет. Действительно, бывают ситуации, когда это необходимо. Вопросы вызвало то, для чего такая возможность была использована автором. Как правильно написал malikov_pro - это мучение пользователей ))
(5) Я согласен с тем когда 10, 20 и т.д. - это не лучший вариант реализации обходом, но в данной ситуации таких строк 1-5 и то редкость, больше сделано для проверки и быстрого решения, не пересматривать и сопоставлять колонки количество и остаток (в голове вычислять, сколько не хватает), а потом еще и самому делать и заполнять документы оприходования и комплектации.
(4) Сразу представил некую Марь Ивановну, которая так подтверждает список из 100 позиций и где-то на второй половине её отвлекают каким-то вопросом... В этом плане, ИМХО, лучше сделать список с пометками.