Получить параметры передаваемые при открытии формы если форма уже открыта
Мобильная платформа 8.3.16.142
Если я открываю форму с помощью команды
ОткрытьФорму(ФормаДействия, ПараметрыФормы)
То в форме в обработчике ПриСозданииНаСервере() я могу получить значение передаваемое в параметре ПараметрыФормы
Но если форма уже открыта и я снова ее открываю, то обработчик ПриСозданииНаСервере не срабатывает.
А в обработчике ПриПовторномОткрытии() реквизит Параметры не содержит передаваемое при открытии формы значение.
Как можно получить ПараметрыФормы при повтороном открытии?
Если я открываю форму с помощью команды
ОткрытьФорму(ФормаДействия, ПараметрыФормы)
То в форме в обработчике ПриСозданииНаСервере() я могу получить значение передаваемое в параметре ПараметрыФормы
Но если форма уже открыта и я снова ее открываю, то обработчик ПриСозданииНаСервере не срабатывает.
А в обработчике ПриПовторномОткрытии() реквизит Параметры не содержит передаваемое при открытии формы значение.
Как можно получить ПараметрыФормы при повтороном открытии?
По теме из базы знаний
- Вывод печатных форм с запросом данных в форму "Печать документов" из подсистемы БСП "Печать".
- Полное копирование одной формы в другую
- Одна ККТ для розничного магазина и Интернет-сайта
- Встраивание форм 1С на страницы сайта
- Библиотека процедур и функций для технологической платформы "1С: Предприятие 7.7"
Найденные решения
Делаете проверку на открытость формы. Далее если форма открыта то создается оповещение. А в форме уже обработчик оповещения и работаете с параметрами. Как вариант в обработчике оповещения записывать параметры в реквизит и уже с ними работать.
(2)Примерно к такому решению я и пришел. Только без оповещения
One Ass: Per anus ad astra!
ПараметрыФормы = Новый Структура("МойРеквизитФормы", ЛяЛя);
Форма = ПолучитьФорму(ФормаДействия, ПараметрыФормы);
Если Форма.Открыта() Тогда
Форма.МойРеквизитФормы =ЛяЛя;
Форма.Открыть();
Иначе
Форма = Неопределено; // Потому как если форма не была открыта, то при получении сработает ПриСозданииНаСервере()
ОткрытьФорму(ФормаДействия, ПараметрыФормы);
КонецЕсли;
ПоказатьOne Ass: Per anus ad astra!
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Делаете проверку на открытость формы. Далее если форма открыта то создается оповещение. А в форме уже обработчик оповещения и работаете с параметрами. Как вариант в обработчике оповещения записывать параметры в реквизит и уже с ними работать.
(2)Примерно к такому решению я и пришел. Только без оповещения
One Ass: Per anus ad astra!
ПараметрыФормы = Новый Структура("МойРеквизитФормы", ЛяЛя);
Форма = ПолучитьФорму(ФормаДействия, ПараметрыФормы);
Если Форма.Открыта() Тогда
Форма.МойРеквизитФормы =ЛяЛя;
Форма.Открыть();
Иначе
Форма = Неопределено; // Потому как если форма не была открыта, то при получении сработает ПриСозданииНаСервере()
ОткрытьФорму(ФормаДействия, ПараметрыФормы);
КонецЕсли;
ПоказатьOne Ass: Per anus ad astra!
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот