1с форма выбора используется для выбора варианта из справочника. Очень часто возникает необходимость программно открыть какую-то форму выбора (документа, справочника), выбрать нужное значение, и передать это значение на форму, которая инициализировала открытие формы выбора. Разберем создание и использование формы выбора 1с на примере.
Документ «Акт о приеме» имеет следующие реквизиты:

Открывать форму выбора будем при помощи команды ОткрытьФорму.

Создаем форму Выбора Справочника «Подразделения». Используем форму созданную по умолчанию.

Выберем в Свойствах формы Действие «ОбработкаВыбора».

Форма документа будет содержать следующий код:

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