Здравствуйте, есть такой код:

```1c
    Идентификтор = ";
    Для Каждого Стр2 Из Идентификаторы Цикл
    НайдемСотрудника = ПоискПоИд(Стр2.Идентификатор);
    Если Не ЗначениеЗаполнено(НайдемСотрудника) Тогда
    ЗадатьВопросАсинх(Стр2.Идентификатор)
    Иначе
    Отбор = Новый Структура();
    Отбор.Вставить("Идентификатор", Стр2.Идентификатор);
    Резолт = ТаблицаНаФорме.НайтиСтроки(Отбор);
    Для Каждого Элем Из Резолт Цикл
    НСтр = Таб.Добавить();
    НСтр.Сотрудник = НайдемСотрудника;
    КонецЦикла;
    КонецЕсли;
    КонецЦикла;

    &НаКлиенте
    Процедура Демо_ЗадатьВопросАсинх(Стр)

    Парам = Новый Структура;
    Парам.Вставить("ИД", Стр);

    Отбор = Новый Структура();
    Отбор.Вставить("Идентификатор", Стр);
    Резолт = ТаблицаНаФорме.НайтиСтроки(Отбор);

    ПоказатьВопрос(Новый ОписаниеОповещения("ПередЗакрытиемЗавершение", ЭтотОбъект, Парам),
    "Идентификатор " + Стр + ", для сотрудника " + Резолт[0].Имя + " не найден. Назначить сотруднику идентификатор?", РежимДиалогаВопрос.ДаНет,,,,);

    КонецПроцедуры

    &НаКлиенте
    Процедура ПередЗакрытиемЗавершение(РезультатВопроса, Парам) Экспорт

    Если РезультатВопроса = КодВозвратаДиалога.Да Тогда
    Оповещение = Новый ОписаниеОповещения("ПриЗакрытииФормыВыбора", ЭтаФорма,Парам);
    ОткрытьФорму("Справочник.Сотрудники.Форма.ФормаВыбора", Парам, ЭтаФорма,,,,Оповещение );
    КонецЕсли;

    КонецПроцедуры
```

Как можно останавливать процесс, до обработки всего кода, а после продолжить цикл. В коде происходит поиск сотрудника по ИД, если находит, то просто добавляем данные в ТЧ, а если нет, нужно спросить пользователя, что привязать ли ИД к сотруднику, если да, то открываем форму справочника сотрудники, выбираем и записываем ид в доп реквизит, а если нет переходим к следующей итерации. Сейчас получается, что открываются сразу куча вопросов и уже потом их обрабатываю, через асинх тоже пробовал, да окно открывается и асинх ждет оповещения, но я нажимаю да, открывается окно справочника и сверху окно с вопросом, блокируя форму справочника сотрудника.
---
отдельную формуДа. Собираешь всех ненайденных, показываешь табличку с двумя колонками - идентификатор и пустой сотрудник. Они просто выбирают во второй колонке сотрудника и всё. По одной кнопке перезаписываешь сразу всех.

Только нужна будет еще одна проверка на уникальность содтрудников, что они один идентификатор двум сотрудникам не назначили
---
Набрать всех ненайденных, показать форму сопоставления сразу всех, связать или создать данные за один прием.

Пользователь будет тебе даже благодарен.
---
А как это примерно? Создать в обработке отдельную форму, добавить туда все ИД, а второй колонкой сотрудники? где поиском выбирать нужных?
---
отдельную формуДа. Собираешь всех ненайденных, показываешь табличку с двумя колонками - идентификатор и пустой сотрудник. Они просто выбирают во второй колонке сотрудника и всё. По одной кнопке перезаписываешь сразу всех.

Только нужна будет еще одна проверка на уникальность содтрудников, что они один идентификатор двум сотрудникам не назначили
---
Ок. Спасибо. Так и сделаю.
---
И еще.
Дай-ка догадаюсь: ПоискПоИд(Стр2.Идентификатор) делает запрос в базу? Не надо так, запросы в цикле это нехорошо =)
---
Здравствуйте. Это я знаю, пока ищу решение сделал так, чтобы далее продолжить код.