Нужно после выбора файла xml на клиенте, открыть форму выбора номенклатуры столько раз, сколько номенклатуры в xml. Подскажите пожалуйста как это сделать (алгоритм) или как вызвать форму выбора номенклатуры с сервера?
---
Имхо, изменить алгоритм.
Прочитать файл, загрузить таблицу и в таблице уже выбрать номенклатуру.
После того как выбрали номенклатуру - нажать на кнопку для продолжения обработки.
---
Используйте 7 параметр метода ОткрытьФорму, ОписаниеОповещенияОЗакрытии

```1c
    &НаКлиенте
    Процедура ОткрытьФормуКоманда(Команда)
    Инд = 0;
    ОткрытьМоюФорму(Неопределено,Инд);
    КонецПроцедуры

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

    КонецПроцедуры // ОткрытьМоюФорму()
```
---
Дополнение: формы выбора нужно каждый раз открывать и ждать выбора номенклатуры пользователем.
---
Из xml берется просто число для цикла. Самой номенклатуры в xml нет.
---
Из xml берется просто число для цикла. И в чем проблема? Создаете цикл, а в нем что-нибудь отсюда: https://its.1c.ru/db/metod8dev/content/2403/hdoc

P.S. Подозреваю, что нам тут обрисовали задачу весьма приблизительно и далеко не полностью. Так что вряд ли автор быстро получит такой ответ, который его устроит. Ждем-с!
---
далеко не полностью. Так что вряд ли автор быстро получит такой ответ, который его устроит. Ждем-с!

Все хорошо , только как не показывать сообщение "Использование модальных окон в данном режиме запрещено!"? Потому как дело происходит в УТ 11.4 , а она против модальных окон.
---
Потому как дело происходит в УТ 11.4 , а она против модальных окон. Ну, на эту тему можно много чего найти в Инете, например:

https://forum.mista.ru/topic.php?id=746956
https://pro1c.org.ua/topic/vybrannyjelement-formavybora-otkryt-pochemu-ne-rabotaet-44445/
https://forum.infostart.ru/forum9/topic133231/
---
отлично. все получается
но как переделать так, чтоб не сразу все пять окон открывались? А 1С ждала выбора пользователя в одном окне выбора , а затем открывала бы следующее.

Мой вариант с 5ю окнами:

```1c
    &НаКлиенте
    Процедура ВыбратьЭлементОткрытьФорму(Команда)

    Для Инд = 1 По 5 Цикл
    ФормаВыбора = ПолучитьФорму("Справочник.Номенклатура.ФормаВыбора", , ЭтаФорма);
    ФормаВыбора.Открыть();
    КонецЦикла;

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

    &НаКлиенте
    Процедура ОбработкаВыбора(ВыбранноеЗначение, ИсточникВыбора)

    Если ВыбранноеЗначение <> Неопределено Тогда
    Сообщить(ВыбранноеЗначение);
    КонецЕсли;

    КонецПроцедуры
```
---
как переделать так, чтоб не сразу все пять окон открывались? А 1С ждала выбора пользователя в одном окне выбора , а затем открывала бы следующее. Как-то так: https://its.1c.ru/db/pubv8devui#content:185:hdoc
---
Используйте 7 параметр метода ОткрытьФорму, ОписаниеОповещенияОЗакрытии

```1c
    &НаКлиенте
    Процедура ОткрытьФормуКоманда(Команда)
    Инд = 0;
    ОткрытьМоюФорму(Неопределено,Инд);
    КонецПроцедуры

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

    КонецПроцедуры // ОткрытьМоюФорму()
```
---
В обработке оповещения диалога выбора файла вызвать серверную процедуру с параметром, на сервере параметр заполнить номенклатурой, потом на клиенте для каждого из параметра открыть форму
---
Имхо, изменить алгоритм.
Прочитать файл, загрузить таблицу и в таблице уже выбрать номенклатуру.
После того как выбрали номенклатуру - нажать на кнопку для продолжения обработки.
---
1) Создать обработку где будете открывать XML;
2) Пропарсить XML
3) Из результатов парсинга открыть форму столько раз - сколько необходимо
---
После чтения XML нужно на сервере найти ссылки по элементам XML, после на клиенте

```1c
    Процедура Команда1(Команда)
    Параметр=новый структура;
    Параметр.Вставить("Ключ", НайтиС());
    ОткрытьФорму("Справочник.Контрагенты.ФормаОбъекта",Параметр);
    КонецПроцедуры
```
---
А чо такое НайтиС() ?