Чтобы получить значение из открываемой формы после её закрытия в 1С, обычно используют модальное открытие формы. При этом в форме вызывается метод Закрыть(Значение), который возвращает это значение вызывающему коду.
Пример на языке 1С:
1С (Код)
1
2
3
4
5
6
7
8
9
10
11
12
13
1C
// Открываем форму модально и получаем результат
Форма= Справочники.Номенклатура.ПолучитьФормуОбъекта();// или ПолучитьФормуСписка(), в зависимости от задачи
// Открываем форму модально и ждем закрытия
Результат= Форма.ОткрытьМодально();
// После закрытия формы в переменной Результат будет значение, переданное в методе Закрыть() формы
Если РезультатНеопределено Тогда
Сообщить("Полученное значение: "+Результат);
Иначе
Сообщить("Форма была закрыта без выбора значения");
КонецЕсли;
В модуле самой формы, например, при нажатии кнопки «ОК» или в другом событии, нужно вызвать:
1С (Код)
1
2
3
4
5
6
1C
// Передать значение обратно вызывающему коду и закрыть форму
Процедура КнопкаОКНажатие(Кнопка)
// Например, передаем значение реквизита формы
Закрыть(Элементы.ПолеВводаЗначение.Значение);
КонецПроцедуры
Таким образом, вызывающий код получает значение из формы после её закрытия.