|
Обычная форма, как прочитать параметр переданный при открытии? |
☑ |
0
pvase
12.04.21
✎
09:22
|
Пишу так в форме при начале выбора элемента:
СтандартнаяОбработка = Ложь;
ЗначениеОтбора = Новый Структура("ГруппаОС", ГруппаОС);
ОткрытьФорму("Справочник.ПодгруппыОС.ФормаВыбора",ЗначениеОтбора,Элемент);
Как теперь в форме, которую открыл прочитать этот параметр?
p.s. Извините за может очень простой вопрос, с обычными формами практически не работал, а тут вдруг надо доделать.
|
|
1
Garykom
гуру
12.04.21
✎
09:28
|
(0) ты 7-чник?
|
|
2
Garykom
гуру
12.04.21
✎
09:29
|
(1)+ Как бы в 8-ке УФ принято было форму создавать в переменную и хреначь параметря а потом открывай
|
|
3
программистище
12.04.21
✎
09:58
|
(0) в присоздании
Параметры.Свойство("ГруппаОС", ГруппаОС)
|
|
4
pvase
12.04.21
✎
10:12
|
(2) С УФ - все понятно, а вот с обычными формами получилась проблемка.
(1) Я сразу стал разрабатывать в УФ после 7-ки, минуя ввесь этот ужас в обычными формами.
(3) Спасибо, но в обычной форме нет процедуры ПриСоздании, также ругается:
{Справочник.ПодгруппыОС.Форма.ФормаВыбора.Форма(4,2)}: Переменная не определена (Параметры)
|
|
5
pvase
12.04.21
✎
10:14
|
Написал так:
Процедура ПриОткрытии()
Перем ГруппаОСОтбор;
Если Параметры.Свойство("ГруппаОС") тогда
Параметры.Свойство("ГруппаОС", ГруппаОСОтбор);
СправочникСписок.Отбор.ГруппаОС.УстановитьЗначение(ГруппаОСОтбор);
КонецЕсли;
КонецПроцедуры
В интернете нарыл, что надо реквизит создавать или глобальную переменную. Неужели в обычным форма все так сложно?
|
|
6
youalex
12.04.21
✎
10:47
|
В ОФ ты можешь получить форму, установить отбор в списке напрямую, и уже потом ее открыть
Как-то так:
ФормаВыбора = Справочник.ПодгруппыОС.ПолучитьФорму(Элемент);
ФормаВыбора.СправочникСписок.Отбор.ГруппаОС.Установить(ЗначениеОтбора);
ФормаВыбора.ОткрытьМодально()
|
|
7
youalex
12.04.21
✎
10:48
|
(6) * Справочник.ПодгруппыОС.ПолучитьФормуВыбора(Элемент)
|
|
8
pvase
12.04.21
✎
10:53
|
Спасибо. Решил так:
Процедура ПодгруппаОСНачалоВыбора(Элемент, СтандартнаяОбработка)
СтандартнаяОбработка = Ложь;
Форма = ПолучитьФорму("Справочник.ПодгруппыОС.ФормаВыбора",,Элемент);
Форма.ГруппаОСОтбор = ГруппаОС;
Форма.НачальноеЗначениеВыбора = ПодгруппаОС;
Форма.Открыть();
КонецПроцедуры
А Форме создал реквизит и использую его:
Процедура ПриОткрытии()
Если ЗначениеЗаполнено(ГруппаОСОтбор) Тогда
СправочникСписок.Отбор.ГруппаОС.Использование = Истина;
СправочникСписок.Отбор.ГруппаОС.Значение = ГруппаОСОтбор;
КонецЕсли;
КонецПроцедуры
|
|