Получить параметры передаваемые при открытии формы если форма уже открыта

1. user790708 14.02.22 20:26 Сейчас в теме
Мобильная платформа 8.3.16.142
Если я открываю форму с помощью команды
ОткрытьФорму(ФормаДействия, ПараметрыФормы)
То в форме в обработчике ПриСозданииНаСервере() я могу получить значение передаваемое в параметре ПараметрыФормы
Но если форма уже открыта и я снова ее открываю, то обработчик ПриСозданииНаСервере не срабатывает.
А в обработчике ПриПовторномОткрытии() реквизит Параметры не содержит передаваемое при открытии формы значение.
Как можно получить ПараметрыФормы при повтороном открытии?
По теме из базы знаний
Вознаграждение за ответ
Показать полностью
Найденные решения
2. vkholodnov 7 14.02.22 20:28 Сейчас в теме +0.15 $m
Делаете проверку на открытость формы. Далее если форма открыта то создается оповещение. А в форме уже обработчик оповещения и работаете с параметрами. Как вариант в обработчике оповещения записывать параметры в реквизит и уже с ними работать.
3. user790708 14.02.22 21:02 Сейчас в теме +0.1 $m
(2)Примерно к такому решению я и пришел. Только без оповещения
ПараметрыФормы = Новый Структура("МойРеквизитФормы", ЛяЛя);
Форма = ПолучитьФорму(ФормаДействия, ПараметрыФормы);
Если Форма.Открыта() Тогда
	Форма.МойРеквизитФормы =ЛяЛя;
	Форма.Открыть();
Иначе
	Форма = Неопределено; // Потому как если форма не была открыта, то при получении сработает ПриСозданииНаСервере()
	ОткрытьФорму(ФормаДействия, ПараметрыФормы);
КонецЕсли;
Показать


One Ass: Per anus ad astra!
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. vkholodnov 7 14.02.22 20:28 Сейчас в теме +0.15 $m
Делаете проверку на открытость формы. Далее если форма открыта то создается оповещение. А в форме уже обработчик оповещения и работаете с параметрами. Как вариант в обработчике оповещения записывать параметры в реквизит и уже с ними работать.
3. user790708 14.02.22 21:02 Сейчас в теме +0.1 $m
(2)Примерно к такому решению я и пришел. Только без оповещения
ПараметрыФормы = Новый Структура("МойРеквизитФормы", ЛяЛя);
Форма = ПолучитьФорму(ФормаДействия, ПараметрыФормы);
Если Форма.Открыта() Тогда
	Форма.МойРеквизитФормы =ЛяЛя;
	Форма.Открыть();
Иначе
	Форма = Неопределено; // Потому как если форма не была открыта, то при получении сработает ПриСозданииНаСервере()
	ОткрытьФорму(ФормаДействия, ПараметрыФормы);
КонецЕсли;
Показать


One Ass: Per anus ad astra!
Оставьте свое сообщение

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