Имя: Пароль:
1C
1С v8
Управляемые формы
0 adawa3
 
12.04.17
12:19
1С 8.3, формы управляемые.
Есть табличная часть в документе, в ней есть реквизит.
В обработчике начала выбора этого реквизита устанавливаю ложь для стандартной обработки и открываю модально нужную форму, где выбирается значение (нужно это для отбора).
Затем это значение нужно вернуть в тот реквизит табличной части, из которого форма и вызывалась. Но как узнать куда возвращать выбранное значение? Допустим если модальная форма вызвана из строки 3, как узнать, что надо вернуть в строку 3?
Код:

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

КонецПроцедуры
1 Mankubus
 
12.04.17
12:26
Элементы.ТвойЭлемент.ТекущиеДанные
2 DrShad
 
12.04.17
12:27
Элемент нужно передавать в качестве владельца открываемой формы
3 1Снеговик
 
гуру
12.04.17
12:28
Какие модальные вызовы в управляемых формах??
4 lodger
 
12.04.17
12:30
(0) вы все делаете неправильно. вернитесь в обычные формы, или почитайте гайды\посмотрите в типовых как работать с блокирующими окнами, форма - форма.владелец.