Имя: Пароль:
1C
1С v8
Из формы внешней обработки открыть другую форму этой обработки и вернуть параметр обратно
0 grumpi
 
16.03.20
10:09
Подскажите где затупил из одной формы внешней обработки открываю другую? потом пытаюсь возвратить в исходную параметры, но не срабатывает ОбработкаОповещения в исходной форме

В первой форме такой код:

Процедура ЗаполнитьСтатьиСписания(Команда)
    СтруктураПараметров = ЗаполнитьСписокПараметров();
ОткрытьФорму("ВнешняяОбработка.ЗагрузкаСписанийМатериалов.Форма.ФормаСтатейЗатрат",СтруктураПараметров,Этаформа);
КонецПроцедуры

Процедура ОбработкаОповещения(ИмяСобытия, Параметры, Источник);
    Если ИмяСобытия = "ПеренестиСтатьиЗатрат" Тогда
        ОповещениеНасервере(Параметры);
    КонецЕсли;
КонецПроцедуры

Во второй форме

&НаКлиенте
Процедура Перенести(Команда)
    ИмяСобытия = "ПеренестиСтатьиЗатрат";
    Параметрвызова = ПеренестиНаСервере();
    ФормаИсточник = Этаформа.ВладелецФормы;
    Оповестить(ИмяСобытия,Параметрвызова,ФормаИсточник);
    Закрыть();
КонецПроцедуры
1 grumpi
 
16.03.20
10:13
Прошу прощения за сумбурность, бьюсь уже час.
Из формы внешней обработки открываю другую форму этой же обработки. Форма открывается. Там делаю манипуляции и возвращаю результат в исходную форму.
Но в исходной форме не срабатывает обработка ожидания
2 Ц_У
 
16.03.20
10:15
ОткрытьФорму(<ИмяФормы>, <Параметры>, <Владелец>, <Уникальность>, <Окно>, <НавигационнаяСсылка>, <ОписаниеОповещенияОЗакрытии>, <РежимОткрытияОкна>)
ОписаниеОповещения
3 Serg_1960
 
16.03.20
10:25
"бьюсь уже час.." - я тоже "уже бьюсь" минуту: зачем "ФормаИсточник = Этаформа.ВладелецФормы;"?
Компьютер — устройство, разработанное для ускорения и автоматизации человеческих ошибок.