новое событие
Информационный поток
Задания вакансии материалы разработки сообщения форума

Открытие формы внутри другой формы

  • Добавить свою публикацию
  • для этого требуется регистрация

Предисловие

Управляемые формы позволяют достаточно гибко работать с открытием/переключением форм и окон приложения. В настоящей статье рассмотрим пример открытия одной управляемой формы внутри другой.

Пример

Для демонстрации напишем простую обработку, в которой будет единственный реквизит формы "ИмяФормыДляОткрытия" строкового типа и команда формы.

Изображение

Программный код обработчика команды следующий:

&НаКлиенте
Процедура ОткрытьФормуПоИмени(Команда)
	
	ОткрытьФорму(ИмяФормыДляОткрытия, // Имя формы, введенной в реквизит "ИмяФормыДляОткрытия"
	             ,                    // Параметры открытия формы (в нашем случае их нет)
				 ЭтаФорма,            // Владелец открываемой формы (текущая форма)
				 УникальныйИдентификатор, // GUID текущей формы
				 ЭтаФорма.Окно);      // Окно приложения, в котором будет открыта форма.
	                
КонецПроцедуры

Для открытия новой формы в текущем окне нам нужно в качестве пятого параметра метода "ОткрытьФорму" передать окно текущей формы. Так мы и сделали в примере выше.

Тестируем

В качестве примера имени формы введем путь основной формы объекта справочника "Номеклатура" (пример актуален для конфигурации "Управление торговлей" релиза 11):

 "Справочник.Номенклатура.Форма.ФормаЭлемента"

 Вот так это выглядит в режиме 1С:Предприятие:

Изображение

нажам на кнопку команды "ОткрытьФормуПоИмени" в текущем окне будет открыта форма элемента номенклатуры:

Изображение

Эта возможность повсеместно используется в типовых конфигурациях, например, при переходе от элемента справочника "Номенклатура" к списку присоединенных файлов по общей команде "Присоединенные файлы".

Изображение

Обработчик общей команды представлен на следующем листинге:

&НаКлиенте
Процедура ОбработкаКоманды(ПараметрКоманды, ПараметрыВыполненияКоманды)
	
	ПараметрыФормы = Новый Структура;
	ПараметрыФормы.Вставить("ВладелецФайла",  ПараметрКоманды);
	ПараметрыФормы.Вставить("ТолькоПросмотр", ПараметрыВыполненияКоманды.Источник.ТолькоПросмотр);
	
	ОткрытьФорму("ОбщаяФорма.ПрисоединенныеФайлы",
	             ПараметрыФормы,
	             ПараметрыВыполненияКоманды.Источник,
	             ПараметрыВыполненияКоманды.Уникальность,
	             ПараметрыВыполненияКоманды.Окно); // !!!!
                 // Параметр окна открываемой формы
	
КонецПроцедуры

 Обратите внимание, тут в качестве окна для открываемой формы указывается окно формы-владельца.

Таким образом, открытие формы в текущем окне позволяет экономно использовать экранное пространство и создавать удобный интерфейс для пользователей.

Скачать обработку с примером из статьи.

 
0
Читайте также
1С фрилансер
Когда есть возможность сделать работу удаленно появляются специалисты, которые могут сделать ее невыходя из дома, называются они 1C freelance. Чтобы работать 1С фрилансером необходимо отличное знание наиболее распространенных программ 1С версий 7 и 8
Управляемый интерфейс. Подсистемы 1с.
Статья про управляемый интерфейс
Разработки
Как из 1С правильно УКАЗАТЬ MS EXCEL как нужно печатать документы !
Как правильно из 1С печатать документы .xml в EXCEL
Удаленное управление с помощью нашего сервиса
Возможность удаленного управления
Табло для управляемого приложения, тонкий клиент
Обработка - табло управляемого приложения
Еще от автора
≡ к списку статей