Использование метода ПолучитьФорму()
Для открытия форм следует применять методы глобального контекста ОткрытьФорму или ОткрытьФормуМодально. Применение альтернативного способа, с получением формы и ее последующим открытием с помощью метода ПолучитьФорму, не рекомендуется.
Исключения из этого правила возможны только в особых случаях (см. раздел ниже «Особые случаи использования форм»).
Рекомендация обусловлена соображениями:
- повышения устойчивости кода, работающего с формой, за счет разделения программного интерфейса для работы с формой и деталей ее внутренней реализации,
 - а также сохранения единой стилистики кода прикладных решений.
 
Кроме того, применение глобальных методов ОткрытьФорму и ОткрытьФормуМодально гарантирует выполнение инициализации формы на сервере в обработчике ПриСозданииНаСервере.
Этот подход помогает сосредоточить весь код инициализации формы в одном месте и исключает "случайное" обращение к серверу, связанное с инициализацией формы, между строками кода
Форма = ПолучитьФорму(...)
 и
Форма.ОткрытьФорму(...)
 В случаях когда форма требует параметризации при открытии, все ее параметры следует указывать в наборе параметров формы. Таким образом, набор параметров формы декларативно описывает возможности формы по ее параметризации. Параметры формы из этого набора могут быть указаны в вызывающем коде при получении формы (ПолучитьФорму) или при открытии (ОткрытьФорму,ОткрытьФормуМодально).
Не следует применять другие способы параметризации формы при открытии. Например, нужно избегать обращения к методам и свойствам формы после ее открытия.
Например, вместо
МояФорма = Форма.ОткрытьФорму("ОбщаяФорма.ПутеводительПоСистеме");
МояФорма.Элементы.ГруппаШаг.ТекущаяСтраница = МойФорма.Элементы.ГруппаШаг.Страницы.Приветствие;
 следует по той же причине использовать параметры формы:
Форма.ОткрытьФорму("ОбщаяФорма.ПутеводительПоСистеме", Новый Структура("РежимОткрытия", "Приветствие"));
 Для получения результата работы формы, открытой модально, вместо непосредственного обращения к элементам и реквизитам формы
ФормаВопроса = ПолучитьФорму("ОбщаяФорма.ФормаВопроса");
ФормаВопроса.ОткрытьМодально();
Если ФормаВопроса.БольшеНеПоказыватьНапоминание Тогда
// …
 следует использовать возвращаемое значение функции ОткрытьМодально:
БольшеНеПоказыватьНапоминание = ФормаВопроса.ОткрытьФормуМодально("ОбщаяФорма.ФормаВопроса");
Если БольшеНеПоказыватьНапоминание Тогда
// …
 Возвращаемое значение формы формируется в коде модуля формы с помощью метода формы Закрыть. Исключение могут составлять случаи, когда код вызываемой формы не может быть переписан с использованием метода формы Закрыть по технологическим соображениям. Например, когда программно открывается форма элемента, в которой размещена стандартная команда Записать и закрыть.
См. также
- Ограничения на использование экспортных процедур и функций
 - Раздел «Открытие управляемой формы» статьи - Минимизация количества серверных вызовов
 
Другие ограничения - Обработчик события формы ПриОткрытии не должен содержать код по открытию какой-либо другой формы вместо открываемой. - Не рекомендуется выполнять программное открытие и закрытие формы в одном обработчике. Такие действия должны быть разнесены по времени. Например, закрытие формы можно выполнять в обработчике ожидания.
Экранирование кода
// sonar:DeprecatedMethodGetForm:off
// sonar:DeprecatedMethodGetForm:on