Книга: Разработка интерфейса прикладных решений на платформе "1С:Предприятие 8"
Назад: Передача параметров в произвольный запрос динамического списка
Дальше: Открытие формы в блокирующем режиме без использования модальности

Метод «ПолучитьФорму()»

Кроме метода ОткрытьФорму() существует и другой метод глобального контекста, который может быть использован для открытия форм, – ПолучитьФорму().

По составу параметров этот метод очень похож на ОткрытьФорму(). Разница заключается в том, что ПолучитьФорму() лишь возвращает форму, не открывая ее. В дальнейшем эта форма может быть открыта с помощью своего метода Открыть().

Такой способ открытия формы можно использовать в тех случаях, когда должны выполняться различные сложные действия в зависимости от того, из какого фрагмента кода открывается форма. В этом случае после получения формы может быть, например, вызвана ее экспортируемая процедура, выполняющая настройку формы в зависимости от «контекста» ее вызова (листинг 3.13).

Листинг 3.13. Получение и открытие формы

Перем СсылкаНаТаблицуСтилей;

 

ФормаРедактора = ПолучитьФорму("Обработка.УниверсальныйРедактор.Форма");

ФормаРедактора.РедактироватьHTMLТекст("Пример HTML-текста", СсылкаНаТаблицуСтилей);

ФормаРедактора.Открыть();

Примечание

Пример можно посмотреть в демонстрационной базе «Открытие форм», панель функций текущего раздела, группа команд Сервис, глобальная команда Открыть текст в редакторе.

В данном примере используется форма обработки УниверсальныйРедактор. Подразумевается, что обработка может редактировать как обычный текст, так и HTML-текст. Также подразумевается, что в зависимости от того, какой текст передается для редактирования, в самой обработке он определенным образом оформляется и подготавливается для редактирования.

Так как эта подготовка текста к редактированию не зависит от контекста, в котором вызван редактор, а определяется лишь видом редактируемого текста, в модуле формы этой обработки существуют две экспортируемые процедуры, позволяющие получить и подготовить к редактированию обычный текст (РедактироватьОбычныйТекст()) и HTML-текст (РедактироватьHTMLТекст()).

В приведенном примере как раз получается форма этой обработки, и с помощью экспортируемой процедуры РедактироватьHTMLТекст() ей передается текст, который нужно подготовить к редактированию. После этого форма обработки открывается.

Однако надо помнить, что использовать метод ПолучитьФорму() надо только в том случае, если это действительно необходимо. В остальных случаях рекомендуется использовать метод ОткрытьФорму(), передавая необходимые данные при открытии формы в качестве параметров. Такая рекомендация продиктована соображениями повышения устойчивости выполнения кода, а также сохранения единой стилистики кода прикладных решений.

Назад: Передача параметров в произвольный запрос динамического списка
Дальше: Открытие формы в блокирующем режиме без использования модальности