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