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