В контексте сервера выполняется процедура по созданию документов, и идет поиск контрагентов в справочнике.
Есть условие - Если контрагент найден но ИНН у него отсутствует или отличается от ИНН в файле данных, нужно выдать вопрос о замене ИНН.
Если да, то меняем и записываем элемент справочника Контрагенты, иначе ругаемся и не создаем документ с этим контрагентом.
Далее..
Условие : Если контрагент вообще не найден, нужно выдать вопрос "Создать контрагента?"
Если Да Тогда
Создаем
Иначе
Пропускам этот документ.
Все вроде бы просто, но как быть с оператором Вопрос?
Он не работает на Сервере.
С каждым контрагентом который удовлетворил условия на несовпадение или отсутствие делать Возврат на клиента, обрабатывать вопрос и снова на сервер? Но в точку выхода ведь не вернуться и придется лопатить все сначала?
Какой выход есть?
(0) Выход очень прост. Сделать на сервере все проверки. Результат отдать клиенту. На клиенте спросить за все нескладушки. Отдать все назад серверу для обработки.
Не по каждой строчке файла. А по всему. Сразу.
(1) Только вот отдать снова серверу - это по новой запускать процедуру, т.е она начнет шарашить весь список вновь. Или еще создавать таблицу с документами которые уже созданы и при запуске серверной процедуры сверяться с этой таблицей. Если он уже создан то пропускаем
(3) Если задавать вопрос только про строки для принятия решений. то и передавать массив ответов решений, и выбирать уже только те объекты, по которым приняты решения.
Пользователь не знает, чего он хочет, пока не увидит то, что он получил. Эдвард Йодан