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