Открыть форму с параметром (обычные формы)
2 способа передачи параметра в обычную форму.
- (Используется редко). Создаём реквизит формы (этот реквизит, при необходимости, отображаем визуально).
- (Используется часто). В модуле открываемой формы, объявляем экспортную переменную. А обрабатываем её, в событии «ПередОткрытием» открываемой формы:
1 |
Перем Тест Экспорт; |
И для первого и для второго способа, используем одинаковый код:
1 2 3 4 5 |
Форма = Объект.ПолучитьФорму("Форма1"); Форма.Тест = "Тестовая строка"; //"Форма.Тест" - это экспортная переменная или реквизит Если НЕ Форма.Открыта() Тогда Форма.Открыть(); КонецЕсли; |
Открыть форму с параметром (Управляемые формы)
В управляемых формах, есть возможность передачи параметров, сразу при получении формы. Дополнительно, в управляемых формах, присутствуют стандартные параметры для различных объектов (справочники , документы и т.д.). При использовании таких стандартных параметров, отсутствует необходимость какой-либо их обработки. То есть, задал параметр — получил результат. Список этих параметров, определяется типом объекта.
Например, параметр «ТекущееЗначение», позволяет позиционировать форму выбора справочника на определенном элементе.
1 2 3 |
Параметры = Новый Структура("ТекущееЗначение", ТекЭлемент); ФормаВыбора = ПолучитьФорму("Справочник.Номенклатура.ФормаВыбора", Параметры); ВыбЭлемент = ФормаВыбора.ОткрытьМодально(); |
Для собственных параметров, потребуется обработка, которая выполняется в событии «ПриСозданииНаСервере» открываемой формы, в остальном механизм передачи параметра, такой же.
Получение формы и передача параметра:
1 2 3 4 5 6 7 8 9 10 11 |
Параметры = Новый Структура("тПараметр", ТекЭлемент); ФормаВыбора = ПолучитьФорму("Справочник.Номенклатура.ФормаВыбора", Параметры); Обработка передаваемого параметра в модуле открываемой формы: &НаСервере Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) Если Параметры.Свойство("тПараметр") Тогда //обработка параметра КонецЕсли; КонецПроцедуры |