Добрый день.
Сделала обработку, на форме есть табличная часть, тип указан как ссылка на справочник. Мне необходимо, чтобы пользователь выбирал несколько элементов справочника сразу, а не по одному. Для этого добавила процедуру:

```1c
    &НаКлиенте
    Процедура ПроектыПередНачаломДобавления(Элемент, Отказ, Копирование, Родитель, Группа, Параметр)
    результат = ПолучитьФорму("Справочник.Проекты.ФормаВыбора", Новый Структура("МножественныйВыбор", Истина));
    результат.Открыть();
    КонецПроцедуры
```

Форма открывается, но я не могу понять как мне получить выбранные значения. Подскажите пожалуйста.

P.S.
ОткрытьМодально нельзя.
---
Можно попробовать использовать функцию

```1c
    ОткрытьФорму(<ИмяФормы>, <Параметры>, <Владелец>, <Уникальность>, <Окно>, <НавигационнаяСсылка>, <ОписаниеОповещенияОЗакрытии>, <РежимОткрытияОкна>)
```

В параметр ОписаниеОповещенияОЗакрытии передать имя процедуры, которая будет вызываться при закрытии формы выбора.
Из синтакс-помощника:

<ОписаниеОповещенияОЗакрытии> (необязательный)
Тип: ОписаниеОповещения.
Содержит описание процедуры, которая будет вызвана при закрытии формы со следующими параметрами:
<РезультатЗакрытия> - значение, переданное при вызове метода Закрыть открываемой формы,
<ДополнительныеПараметры> - значение, которое было указано при создании объекта ОписаниеОповещения.
---
Можно попробовать использовать функцию

```1c
    ОткрытьФорму(<ИмяФормы>, <Параметры>, <Владелец>, <Уникальность>, <Окно>, <НавигационнаяСсылка>, <ОписаниеОповещенияОЗакрытии>, <РежимОткрытияОкна>)
```

В параметр ОписаниеОповещенияОЗакрытии передать имя процедуры, которая будет вызываться при закрытии формы выбора.
Из синтакс-помощника:

<ОписаниеОповещенияОЗакрытии> (необязательный)
Тип: ОписаниеОповещения.
Содержит описание процедуры, которая будет вызвана при закрытии формы со следующими параметрами:
<РезультатЗакрытия> - значение, переданное при вызове метода Закрыть открываемой формы,
<ДополнительныеПараметры> - значение, которое было указано при создании объекта ОписаниеОповещения.
---
есть такое событие у начальной формы обработка выбора - весь выбор тут
---
Не указан владелец формы открываемой
Форма.ВладелецФормы = ЭтаФорма.Элементы.ИмяРеквизита;
И вообще 1С рекомендует вместо "ПолучитьФорму" использовать "ОткрытьФорму"
---
...
Суть метода в том, чтобы в формах хранить ссылки друг на друга. Назовем форму, из которой вызываем другие: "ОсновнаяФорма". Вызываемую форму назовем "ДопФорма". Неважно, будут формы одного объекта или разных, т.е. ОсновнаяФорма может быть формой документа, а ДопФорма - формой внешней обработки, формой справочника или общей формой.

В ОсновнойФорме создаем реквизит произвольного типа "СсылкаНаДопФорму", в котором будет храниться ссылка на дополнительную форму. В ДопФорме создаем реквизит произвольного типа "СсылкаНаОсновнуюФорму", в котором, соответственно, будет храниться ссылка на основную форму.

При вызове дополнительной формы прописываем код:

```1c
    ДопФорма=Обработка.ПолучитьФорму("ДопФорма");
    СсылкаНаДопФорму=ДопФорма; //Сохраняем у себя ссылку на дополнительную форму
    ДопФорма.СсылкаНаОсновнуюФорму=ЭтаФорма; //В дополнительной форме сохраняем ссылку на себя
    ДопФорма.Открыть();
```

Вот и всё, перекрестные ссылки между формами прописаны. Теперь можно можно манипулировать одной формой из другой как угодно. Например, если на кнопке в дополнительной форме прописать код:

```1c
    СсылкаНаОсновнуюФорму.Заголовок="Новый загловок основной формы";
```

то заголовок поменяется.

Более того, можно управлять всеми объектами, вложенными в другую форму, а так же вызывать экспортные процедуры и функции формы. Как из ОсновнойФормы, так и из ДопФормы.
...

Это описание для обычных форм.
Для УФ необходимо создавать в модуле форм экспортные переменные, в которых будут храниться ссылки на другую форму, чтобы к этим переменным можно было обращаться из другой формы
---
Спасибо большое за советы.
Сделала вот так:

```1c
    &НаКлиенте
    Процедура ПроектыПередНачаломДобавления(Элемент, Отказ, Копирование, Родитель, Группа, Параметр)
    Оп = Новый ОписаниеОповещения("ВыполнитьПослеЗакрытияВопроса", ЭтотОбъект, Параметр);

    ФормаСпискаПоступлений = ОткрытьФорму("Справочник.Проекты.ФормаВыбора", Новый Структура("МножественныйВыбор", Истина),,,,,Оп);
    КонецПроцедуры

    &НаСервере
    Процедура ВыполнитьПослеЗакрытияВопроса(ЗначенияВыбора, Параметр)
    // удаляю строку перед добавлением, т.к. в процедуре ПроектыПередНачаломДобавления автоматически добавляется пустая строка
    КоличествоЭлементовВТЧ = Объект.Проекты.Количество();
    Объект.Проекты.Удалить(КоличествоЭлементовВТЧ-1);

    Для каждого СтрокаМассива Из ЗначенияВыбора Цикл

    НоваяСтрока = Объект.Проекты.Добавить();
    НоваяСтрока.Проект = СтрокаМассива.Ссылка;

    КонецЦикла;

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

Не знаю насколько криво, но пока решение устроило.
---
криво, т.к. метод ВыполнитьПослеЗакрытияВопроса() должен быть &НаКлиенте и с опцией Экспорт