Открыть форму справочника можно несколькими способами:
А. По имени формы
Если требуется открыть основную форму нового элемента справочника или форму списка, достаточно написать следующий код:
Где ФормаОбъекта — имя основной формы открываемого справочника. Вместо нее можно указать другую основную форму, которую требуется открыть:
ФормаОбъекта | основная форма элемента справочника |
ФормаГруппы | основная форма группы справочника |
ФормаСписка | основная форма списка справочника |
ФормаВыбора | основная форма выбора справочника |
ФормаВыбораГруппы | основная форма выбора группы |
Чтобы открыть любую другую форму, необходимо указать ее имя после ключевого слова Форма (точно так, как оно задано в конфигураторе):
Б. По ссылке
Если в контексте вызова доступна ссылка на элемент или группу справочника, можно воспользоваться параметрами формы:
а можно воспользоваться универсальными методами и просто открыть значение:
При открытии формы существующего объекта необходимо кроме имени формы указать также и на тот объект, форма которого должна быть открыта. Для этого используется параметр формы Ключ и ссылка на интересующий нас объект.
Например, если из формы списка организаций нужно открыть форму той организации, на которой находится курсор, сделать это можно следующим способом:
Ссылку на интересующий элемент справочника мы получаем через текущую строку списка:
Параметры формы передаем в виде структуры, где имя элемента структуры соответствует имени параметра формы, а значение — это то значение, в которое мы хотим установить параметр формы.
Если требуется открыть не основную, а произвольную форму объекта, созданную в конфигураторе, вместо стандартного имени основной формы ( ФормаОбъекта ) указывается слово Форма и через точку за ним — имя формы, созданной в конфигураторе.
Следует заметить, что в том случае, когда кроме ссылки на объект никакие параметры в открываемую форму передавать не нужно и нужна именно основная форма существующего объекта, можно использовать более простой способ – открывать форму с помощью процедуры ОткрытьЗначение() :
Такой способ обладает меньшей универсальностью, но в некоторых случаях он экономит время и силы. Например, в рассмотренном случае одна такая строка может заменить всю написанную нами ранее процедуру из трех строк.
Однако нужно внимательно относиться к использованию этой процедуры. В некоторых случаях она может вызывать дополнительные обращения к серверу, например, когда нужно открыть форму элемента иерархического справочника. При использовании этой процедуры платформа будет выполнять дополнительное обращение к серверу для того, чтобы определить, является ли элемент группой или нет, так как для элемента и для группы нужно открывать разные формы.
В то же время эта информация может быть заранее известна разработчику внутри его алгоритма, и, используя функцию ОткрытьФорму() , разработчик может открывать нужную форму без дополнительных обращений к серверу, сразу же указывая стандартное имя основной формы.
Очень часто при 1С разработке возникает необходимость программным способом открыть форму какого-нибудь существующего объекта. Например, нужно открыть какой-нибудь документ, или какой-нибудь справочник.
Для того чтобы открыть управляемую форму какого-то уже существующего объекта используется параметр формы Ключ.
О простом открытии формы, и об открытии формы с передачей параметров, читайте в моей статье:
Открыть форму имеющегося объекта с использованием параметра формы Ключ достаточно просто: создаем структуру, у которой будет связка КлючИЗначение с названием ключа «Ключ», а со значением – ссылкой на открываемый объект. И эту структуру в качестве параметра указываем в методе ОткрытьФорму.
Пример кода с открытием формы документа:
ПараметрыФормы = Новый Структура ;
ПараметрыФормы . Вставить ( «Ключ» , ДокументСсылка );
ОткрытьФорму ( «Документ.Заказ.Форма.ФормаДокумента» , ПараметрыФормы );
Открытие формы элемента справочника аналогично:
ПараметрыФормы = Новый Структура ;
ПараметрыФормы . Вставить ( «Ключ» , СправочникСсылка );
ОткрытьФорму ( «Справочник.Контрагенты.Форма.ФормаЭлемента» , ПараметрыФормы );
Причем, заметьте, непосредственно не на форме справочника, и не на форме документа нет такого параметра как Ключ.
Параметр Ключ является параметром расширения управляемой формы 1С для документа или справочника и существует всегда у формы справочника или документа. Причем этот параметр не заполнен, если мы открыли форму нового документа или справочника, что очень отлично может помочь, когда нужно проверить создаем мы новый документ или редактируем имеющийся.
Например, вот как можно проверить в обработчике формы ПриОткрытии, открываем форму существующего документа или нового.
&НаКлиенте
Процедура ПриОткрытии ( Отказ )
Если Параметры . Ключ . Пустая () тогда
//действия для формы нового объекта
иначе
//действия для формы существующего объекта
КонецЕсли;
Подробно вопросы работы с управляемыми формами в частности и с управляемым приложением в целом рассмотрены в книге «Основы разработки в 1С: Такси. Разработка управляемого приложения за 12 шагов». Эта книга станет настоящим подспорьем для тех, кто только начал знакомится с разработкой управляемого приложения.
Книга «Основы разработки в 1С: Такси» отлично подойдёт тем, кто уже начал программировать и испытывает определенные сложности с этой темой и тем, кто уже давно программирует, но ни разу еще не работал с управляемыми формами 1С
- Очень доступный и понятный язык изложения
- Книга посылается на электронную почту в формате PDF. Можно открыть на любом устройстве!
- Поймете идеологию управляемого приложения 1С
- Узнаете, как разрабатывать управляемое приложение;
- Научитесь разрабатывать управляемые формы 1С;
- Сможете работать с основными и нужными элементами управляемых форм
- Программирование под управляемым приложением станет понятным
Промо-код на скидку в 15% — 48PVXHeYu
Изучайте основы конфигурирования в 1С и учитесь программировать в «1С: Предприятии» с помощью моих книг: «Программировать в 1С за 11 шагов» и «Основы разработки в 1С: Такси»
Изучайте программирование в 1С в месте с моей книги «Программировать в 1С за 11 шагов»
- Книга написана понятным и простым языком — для новичка.
- Книга посылается на электронную почту в формате PDF. Можно открыть на любом устройстве!
- Научитесь понимать архитектуру 1С;
- Станете писать код на языке 1С;
- Освоите основные приемы программирования;
- Закрепите полученные знания при помощи задачника;
Если Вам понравился этот урок, был полезен или помог решить какую-нибудь проблему, то Вы можете поддержать мой проект, перечислив любую сумму:
можно оплатить вручную:
Яндекс.Деньги — 410012882996301
Web Money — R955262494655
Вступайте в мои группы в соцсетях, и будьте в курсе всех новостей