Статья решает задачи:
- Как передать параметр в открываемую программно форму;
- Как вернуть параметр из открываемой программно формы;
Исходные данные:
- Имеется общая форма — «НашаФорма», с реквизитами:
- «МножительА» — заполняется при открытии формы, по значению переданного параметра;
- «МножительБ» — заполняется вручную;
1. Пишем процедуру по открытию «НашаФорма» и передаче в нее параметра «МножительА»
2. Пишем процедуру, которая при открытии «Наша форма» (в обработчике ПриСозданииНаСервере) будет заполнять реквизит «МножительА» по полученному значению
3. Пишем процедуру по вычислению результата умножения и возврату значения
По теме открытия формы с параметрами, часто возникают вопросы, надеюсь данная статья поможет кому-либо.
Обычные формы
Для передачи параметра в обычную форму существует два способа.
Первый, менее распространенный, заключается в создании реквизита формы (этот реквизит, при необходимости, можно отобразить визуальным элементом).
Реквизит на обычной форме
Второй вариант используется значительно чаще. Его суть заключается в том, что в модуле открываемой формы нужно объявить экспортную переменную, а обработка этой переменной производится в событии «ПередОткрытием» открываемой формы:
Все параметры формы можно разделить на две группы: стандартные и заданные разработчиком. Большим плюсом стандартных параметров является отсутствие необходимости какой-либо обработки: задал параметр — получил результат. Список этих параметров, определяется типом объекта.
Например, параметр «ТекущееЗначение», позволяет позиционировать форму выбора справочника на определенном элементе. Большим плюсом является, что в самой форме не требуется писать обработчиков для предопределенных параметров, сокращает количество кода.
Также у разработчика есть возможность определять свои параметры на вкладке «Параметры» конструктора управляемой формы. Время жизни параметров ограничено обработчиком ПриСозданииНаСервере() , что логично т.к. параметры требуются только при создании формы. Но, если данный параметр определяет уникальность формы (установлен флаг «ключевой параметр» в свойствах параметра), он будет доступен и в других обработчиках.
Передача параметров при открытии формы:
Обработка передаваемого параметра в модуле открываемой формы:
Стандартные параметры
Стандартные параметры формы динамического списка
- ВыборГруппИЭлементов . Тип: ИспользованиеГруппИЭлементов . По данному параметру устанавливается свойство ВыборГруппИЭлементов таблицы основного реквизита формы.
- ДополнительныеПараметры . Тип: Структура . Дополнительные параметры формы, открываемой при нажатии кнопки «Создать».
- КлючПользовательскихНастроек . Тип: Произвольный . Содержит ключ пользовательских настроек, которые нужно использовать для основного динамического списка формы. Если не установлен параметр ПользовательскиеНастройки , то будут загружены пользовательские настройки по указанному ключу.
- МножественныйВыбор . Тип: Булево . Устанавливает для основной таблицы свойства МножественныйВыбор и РежимВыделения .
- Отбор . Тип: Структура . Используется для установки отбора в динамическом списке. Ключ структуры — имя поля основной таблицы. Значение элемента структуры содержит значение отбора. Если значение является массивом, фиксированным массивом или списком значений с не одним элементом, то отбор будет применяться с видом сравнения ВСписке .
- ПользовательскиеНастройки . Тип: ПользовательскиеНастройкиКомпоновкиДанных . Пользовательские настройки, которые будут использоваться в основном динамическом списке формы.
- РазрешитьВыборКорня . Тип: Булево . Определяет возможность выбора корня в форме с динамическим списком, отображаемом в виде дерева.
- РежимВыбора . Тип: Булево . Открывать форму в режиме выбора.
- ТекущаяСтрока . Строка динамического списка, на которую будет установлен курсор после открытия формы. В качестве значения для параметра используются значения ссылок на объекты, которые содержит главная таблица динамического списка. Например, СправочникСсылка.Товары .
- ФиксированныеНастройки . Тип : НастройкиКомпоновкиДанных. Настройки, помещаемые в фиксированные настройки отчета.
Стандартные параметры формы документа
- ДополнительныеПараметры . Тип: Структура . Дополнительные параметры формы, открываемой при нажатии кнопки «Создать».
- ЗначениеКопирования . Значение для копирования. Тип параметра соответствует типу объекта, копия которого будет создана.
- ЗначенияЗаполнения . Тип: Структура . Параметры заполнения нового объекта. Ключ структуры — имя реквизита формы, значение — заполняемое значение.
- Ключ . Тип: ДокументСсылка.ИмяДокумента . Ключ объекта. В случае отсутствия или неверного значения создается новый объект с использованием остальных параметров.
- Основание . Тип: Произвольный . Объект, являющийся основанием для создания нового объекта.
- ПараметрыВыбора . Тип: Структура . Содержит значения, по которым проверяется возможность выбора для форм, находящихся в режиме выбора.
- РежимВыбора . Тип: Булево . Позволяет открывать форму в режиме выбора.
- ТекстЗаполнения . Тип: Строка . Текст, введенный в поле ввода, при открытии формы в режиме выбора.
Стандартные параметры формы справочника
- ДополнительныеПараметры . Тип: Структура . Дополнительные параметры формы, открываемой при нажатии кнопки «Создать».
- ЗначениеКопирования . Значение для копирования. Тип параметра соответствует типу объекта, копия которого будет создана.
- ЗначенияЗаполнения . Тип: Структура . Параметры заполнения нового объекта.
- Ключ . Тип: СправочникСсылка.ИмяСправочника . Ключ объекта. В случае отсутствия или неверного значения создается новый объект с использованием остальных параметров.
- Основание . Тип: Произвольный . Объект, являющийся основанием для создания нового объекта.
- ПараметрыВыбора . Тип: Структура . Содержит значения, по которым проверяется возможность выбора для форм, находящихся в режиме выбора.
- РежимВыбора . Тип: Булево . Позволяет открывать форму в режиме выбора.
- ТекстЗаполнения . Тип: Строка . Текст, введенный в поле ввода, при открытии формы в режиме выбора.
- ЭтоГруппа . Тип: Булево . Определяет вид нового объекта — группа или элемент.
Стандартные параметры формы плана видов характеристик
- ДополнительныеПараметры . Тип: Структура . Дополнительные параметры формы, открываемой при нажатии кнопки «Создать».
- ЗначениеКопирования . Значение для копирования. Тип параметра соответствует типу объекта, копия которого будет создана.
- ЗначенияЗаполнения . Тип: Структура . Параметры заполнения нового объекта.
- Ключ . Тип: ПланВидовХарактеристикСсылка.ИмяПВХ . Ключ объекта. В случае отсутствия или неверного значения создается новый объект с использованием остальных параметров.
- ОбъектОтбораВидовХарактеристик . Тип: Произвольный . Содержит объект отбора видов характеристик. Если значение данного параметра не равно Неопределено , то определяется тип значения.
- Основание . Тип: Произвольный . Объект, являющийся основанием для создания нового объекта.
- ПараметрыВыбора . Тип: Структура . Содержит значения, по которым проверяется возможность выбора для форм, находящихся в режиме выбора.
- РежимВыбора . Тип: Булево . Позволяет открывать форму в режиме выбора.
- ТекстЗаполнения . Тип: Строка . Текст, введенный в поле ввода, при открытии формы в режиме выбора.
- ЭтоГруппа . Тип: Булево . Определяет вид нового объекта — группа или элемент.
Справка
- ИмяФормы (обязательный, тип: Строка ). Образуется как полный путь к объекту метаданных Форма (например, "Справочник.Контрагенты.Форма.ФормаОбъекта" , "ОбщаяФорма.ФормаСохраненияФайла" ) или как полный путь к прикладному объекту, дополненный именем формы по умолчанию (например, "Справочник.Товары.ФормаВыбора" ).
- Параметры (необязательный, тип: Структура ). Ключ структуры — имя параметра, а значение — значение параметра формы. Имя элемента должно совпадать с именем параметра структуры.
- Владелец (необязательный). Форма или элемент управления другой формы.
- Уникальность (необязательный, тип: Произвольный ). В данном параметре может быть задан некоторый ключ, значение которого будет использоваться для поиска уже открытых форм. Если будет найдена форма с таким же ключом уникальности, вместо открытия новой формы будет активизирована найденная форма.
- Ложь — искать форму с ключом уникальности по умолчанию
- Истина — не искать форму вообще, любое другое значение устанавливает ключ уникальности, по которому будет произведен поиск
- Значение по умолчанию: Ложь
- Тип: Форма ; УправляемаяФорма ; Неопределено . Неопределено — если в обработчике ПриСозданииНаСервере установлен признак отказа от создания формы.
- Получает форму или управляемую форму. Перед получением осуществляется поиск уже открытой такой же формы. Поиск осуществляется по типу формы, значениям ключевых параметров формы, владельцу формы, пользовательскому ключу уникальности. Если в параметре Уникальность передано значение Истина , то поиск уже открытых форм не осуществляется.
- Тонкий клиент, веб-клиент, толстый клиент, мобильное приложение (клиент). Вызов метода выполняет обращение к серверу.
- Отказ (Тип: Булево ). Признак отказа от создания формы. Если в теле процедуры-обработчика установить данному параметру значение Истина , то форма создана не будет. Значение по умолчанию: Ложь .
- СтандартнаяОбработка (Тип: Булево ). В данный параметр передается признак выполнения стандартной (системной) обработки события. Если в теле процедуры-обработчика установить данному параметру значение Ложь , стандартная обработка события производиться не будет. Значение по умолчанию: Истина .
- Возникает на сервере при создании формы.