Кроме метода ОткрытьФорму() существует и другой метод глобального контекста, который может быть использован для открытия форм, – ПолучитьФорму().
По составу параметров этот метод очень похож на ОткрытьФорму(). Разница заключается в том, что ПолучитьФорму() лишь возвращает форму, не открывая ее. В дальнейшем эта форма может быть открыта с помощью своего метода Открыть().
Такой способ открытия формы можно использовать в тех случаях, когда должны выполняться различные сложные действия в зависимости от того, из какого фрагмента кода открывается форма. В этом случае после получения формы может быть, например, вызвана ее экспортируемая процедура, выполняющая настройку формы в зависимости от «контекста» ее вызова (листинг 3.13).
Листинг 3.13. Получение и открытие формы
Перем СсылкаНаТаблицуСтилей;
ФормаРедактора = ПолучитьФорму("Обработка.УниверсальныйРедактор.Форма");
ФормаРедактора.РедактироватьHTMLТекст("Пример HTML-текста", СсылкаНаТаблицуСтилей);
ФормаРедактора.Открыть();
Примечание
Пример можно посмотреть в демонстрационной базе «Открытие форм», панель функций текущего раздела, группа команд Сервис, глобальная команда Открыть текст в редакторе.
В данном примере используется форма обработки УниверсальныйРедактор. Подразумевается, что обработка может редактировать как обычный текст, так и HTML-текст. Также подразумевается, что в зависимости от того, какой текст передается для редактирования, в самой обработке он определенным образом оформляется и подготавливается для редактирования.
Так как эта подготовка текста к редактированию не зависит от контекста, в котором вызван редактор, а определяется лишь видом редактируемого текста, в модуле формы этой обработки существуют две экспортируемые процедуры, позволяющие получить и подготовить к редактированию обычный текст (РедактироватьОбычныйТекст()) и HTML-текст (РедактироватьHTMLТекст()).
В приведенном примере как раз получается форма этой обработки, и с помощью экспортируемой процедуры РедактироватьHTMLТекст() ей передается текст, который нужно подготовить к редактированию. После этого форма обработки открывается.
Однако надо помнить, что использовать метод ПолучитьФорму() надо только в том случае, если это действительно необходимо. В остальных случаях рекомендуется использовать метод ОткрытьФорму(), передавая необходимые данные при открытии формы в качестве параметров. Такая рекомендация продиктована соображениями повышения устойчивости выполнения кода, а также сохранения единой стилистики кода прикладных решений.