Передача параметров из одной формы в другую

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


Во второй делаю так:

&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
	АктВыполненныхРабот = Параметры.АктВыполненныхРабот;
	РеализацияТоваровУслуг = Параметры.РеализацияТоваровУслуг;

КонецПроцедуры

&НаКлиенте
Процедура ОК(Команда)
	
	Структура = Новый Структура;
	Структура.Вставить("АктВыполненныхРабот",АктВыполненныхРабот);
	Структура.Вставить("РеализацияТоваровУслуг",РеализацияТоваровУслуг);
	Структура.Вставить("ЗаказПоставщику",ЗаказПоставщику);
	Структура.Вставить("ЗаказКлиента",ЗаказКлиента);

	ЭтаФорма.Закрыть(Структура);

КонецПроцедуры
Показать
Raideres; +1 Ответить
По теме из базы знаний
Найденные решения
5. Boneman 302 12.09.18 09:50 Сейчас в теме
(3)
примерно так
&НаКлиенте
Процедура Настройка(Команда)
    ПараметрыФормы = Новый Структура("АктВыполненныхРабот,РеализацияТоваровУслуг", Истина,Истина);
    Оповещение = Новый ОписаниеОповещения("ПослеЗакрытияФормыНастроек", ЭтаФорма, Параметры);
    ОткрытьФорму("Документ.Новый.Форма.ФормаНастроек",ПараметрыФормы,ЭтаФорма,,,,Оповещение,РежимОткрытияОкнаФормы.БлокироватьОкноВладельца);
КонецПроцедуры


&НаКлиенте
Процедура ПослеЗакрытияФормыНастроек(РезультатВыбора, ДопПараметры) Экспорт
   Если НЕ РезультатВыбора=неопределено и ТипЗнч(РезультатВыбора)=Тип("Структура") Тогда
     ///Делаем с возвернутой структорой все то что задумали
   КонецЕсли;
КонецПроцедуры

Показать
Nastya-chajkovskaya; +1 Ответить
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. Boneman 302 12.09.18 09:38 Сейчас в теме
(1)
Вопрос в том, что он не передает эти значение и я хочу понять почему.

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

изменить..
потому что ты форму настроек то открыл, а где получение результата ?
Там нужно описание оповещения сделать, и в нем проверку - что если вернулась структура, то установить свои отборы или что там
3. Nastya-chajkovskaya 12.09.18 09:40 Сейчас в теме
(2) а можете какой пример или ссылку скинуть,чтобы наглядно увидеть?
5. Boneman 302 12.09.18 09:50 Сейчас в теме
(3)
примерно так
&НаКлиенте
Процедура Настройка(Команда)
    ПараметрыФормы = Новый Структура("АктВыполненныхРабот,РеализацияТоваровУслуг", Истина,Истина);
    Оповещение = Новый ОписаниеОповещения("ПослеЗакрытияФормыНастроек", ЭтаФорма, Параметры);
    ОткрытьФорму("Документ.Новый.Форма.ФормаНастроек",ПараметрыФормы,ЭтаФорма,,,,Оповещение,РежимОткрытияОкнаФормы.БлокироватьОкноВладельца);
КонецПроцедуры


&НаКлиенте
Процедура ПослеЗакрытияФормыНастроек(РезультатВыбора, ДопПараметры) Экспорт
   Если НЕ РезультатВыбора=неопределено и ТипЗнч(РезультатВыбора)=Тип("Структура") Тогда
     ///Делаем с возвернутой структорой все то что задумали
   КонецЕсли;
КонецПроцедуры

Показать
Nastya-chajkovskaya; +1 Ответить
4. Docaru 1 12.09.18 09:46 Сейчас в теме
примерно так


в форме 2
&НаКлиенте
Процедура ПриЗакрытии(ЗавершениеРаботы)
		Оповестить("ПередатьЗначенияВФорму1", ТЗ, ЭтаФорма);
КонецПроцедуры


в форме 1
&НаКлиенте
Процедура ОбработкаОповещения(ИмяСобытия, Параметр, Источник)
	
	Если ИмяСобытия = "ПередатьЗначенияВФорму1" Тогда
		ПрименитьЗначенияФормы2();
	КонецЕсли;	
	
КонецПроцедуры
Nastya-chajkovskaya; +1 Ответить
6. herfis 515 12.09.18 09:56 Сейчас в теме
Если форму нужно открыть для выбора каких-то данных в главную форму, то есть еще более ранний механизм, связанный с работой форм выбора.
Он оптимизирован под предельно простой возврат выбранных из списков объектов, но возможен и возврат произвольных значений.
Для этого у форм есть метод "ОповеститьОВыборе()". Если вызвать этот метод, то в форме-владельце будет инициировано событие "ОбработкаВыбора" куда будет передано указанное значение. При открытии формы выбора владельцем можно устанавливать не только форму, но и элементы управления формы - у них обычно тоже есть событие ОбработкаВыбора, которое можно перехватить. При этом ценно, что будут штатно вызваны события, связанные с изменением данных элемента управления. Если у формы установлено свойство "ЗакрыватьПриВыборе", то при вызове "ОповеститьОВыборе" она закроется автоматом.
pm74; Nastya-chajkovskaya; +2 Ответить
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот