Имя: Пароль:
1C
 
Открыть управляемую форму настроек из управляемой формы обработки.
,
0 SFilchakov
 
21.02.16
12:29
//Код открывает УФ настроек из УФ обработки.

СтруктураПараметров = Новый Структура;
    СтруктураПараметров.Вставить("ПроводитьСозданныеДокументы",ПроводитьСозданныеДокументы);
    СтруктураПараметров.Вставить("ОткрыватьДокументыПослеСоздания",ОткрыватьДокументыПослеСоздания);
    //
    Оповещение = Новый ОписаниеОповещения("ВыполнитьПослеЗакрытияФормыНастроек", ЭтотОбъект,СтруктураПараметров);
    //
    Попытка
        ОткрытьФорму("Обработка.КомплектацияЗаказа.Форма.ФормаНастроек", СтруктураПараметров, ЭтаФорма,,ВариантОткрытияОкна.ОтдельноеОкно,, Оповещение);
        
    Исключение
        Попытка
            ОткрытьФорму("ВнешняяОбработка.КомплектацияЗаказа.Форма.ФормаНастроек", СтруктураПараметров, ЭтаФорма,,ВариантОткрытияОкна.ОтдельноеОкно,, Оповещение);
        Исключение
        КонецПопытки;
    КонецПопытки;


///Форма открылась полет нормальный.
//После закрытия формы настроек, в форме обработки срабатывает процедура "ВыполнитьПослеЗакрытияФормыНастроек"
//В этой процедуре мне надо выполнить заполнение новых значений настроек и т.п.
//


Процедура ВыполнитьПослеЗакрытияФормыНастроек(Параметр1,Параметр2) Экспорт
    
КонецПроцедуры

//В параметр2 содержится структура с значениям которые я передал первоначально (не измененные в форме настроек).
//Я логически понимаю, что надо как то на стороне формы настроек получить структуру настроек и изменить перед закрытием, но не могу найти, где эта структура?

Помогите, кто в теме?
1 SFilchakov
 
21.02.16
13:13
Разобрался.
//
Параметры доступны из формы настроек на клиенте
&НаКлиенте
Процедура ПроводитьСозданныеДокументыПриИзменении(Элемент)
    Если ЭтаФорма.ОписаниеОповещенияОЗакрытии.ДополнительныеПараметры.Свойство(Элемент.Имя) Тогда
        ЗначениеРеквизита = ПолучитьЗначениеРеквизитаФормы(Элемент.Имя);
        //
        Если ЗначениеЗаполнено(ЗначениеРеквизита) Тогда
            ЭтаФорма.ОписаниеОповещенияОЗакрытии.ДополнительныеПараметры[Элемент.Имя] = ЗначениеРеквизита;
        КонецЕсли;
    КонецЕсли;
КонецПроцедуры
//