Контекст модуля формы образуется:
- локальным контекстом самого модуля формы;
- реквизитами формы, которой «принадлежит» модуль;
- свойствами и методами объекта УправляемаяФорма встроенного языка;
- свойствами и методами расширения формы, определяемого типом того объекта, данные которого содержатся в основном реквизите формы;
- глобальным контекстом, в том числе неглобальными общими модулями и экспортируемыми функциями и процедурами глобальных общих модулей;
- экспортируемыми переменными, процедурами и функциями модуля управляемого приложения.
1. Локальный контекст модуля формы.
Локальный контекст модуля формы – это переменные, процедуры и функции, объявленные в этом модуле.
2. Реквизиты формы, которой «принадлежит» модуль.
Например, если у формы существует реквизит СлужебныйРеквизит, то к нему можно непосредственно обращаться по имени.
3. Свойства и методы объекта «УправляемаяФорма».
Свойства и методы объекта встроенного языка УправляемаяФорма описаны в синтакс-помощнике: Интерфейс (управляемый) > УправляемаяФорма
4. Свойства и методы расширения формы, определяемого типом того объекта, данные которого содержатся в основном реквизите формы.
Один из реквизитов формы может быть основным, в списке реквизитов он выделяется жирным. Как правило, основной реквизит формы содержит данные того объекта, который отображается в форме. Например, если это форма справочника, то основной реквизит будет содержать данные объекта СправочникОбъект.<имя> . Тип основного реквизита указывается в скобках, но настоящий тип в данном случае будет ДанныеФормыСтруктура.
Но ДанныеФормыСтруктура – это универсальный тип, который может содержать данные различных прикладных объектов. Поэтому, чтобы в редакторе формы можно было «ориентироваться», данные какого же именно прикладного объекта отображает эта форма, в колонке Тип редактора показывается не тип реквизита формы (ДанныеФормыСтруктура), а тип того объекта, данные которого содержатся в этом реквизите. И этот «ненастоящий» тип показывается в скобках.
От типа объекта, данные которого содержатся в основном реквизите формы, зависят некоторые особенности в поведении формы.
В зависимости от того, какой тип имеет объект, данные которого содержатся в основном реквизите, к контексту программного объекта УправляемаяФорма добавляется контекст соответствующего расширения.
Расширение представляет собой набор дополнительных свойств, методов и событий, появляющихся у формы или у элемента формы.
Например, если основной реквизит – СправочникОбъект.<имя>, то в модуле формы становятся доступны свойства, методы объекта встроенного языка Расширение управляемой формы для справочника (синтакс-помощник – Интерфейс (управляемый) > Управляемая форма > Расширение справочника)
Если основной реквизит – ДинамическийСписок, то в модуле формы становятся доступны свойства, методы объекта встроенного языка Расширение управляемой формы для динамического списка (синтакс-помощник – Интерфейс (управляемый) > Управляемая форма > Расширение динамического списка)
Расширение динамического списка так же может быть применено к элементу формы Таблица, если путь к данным этой таблице ссылается на динамический список
Если элемент формы является полем ввода, то свойствам, методам и событиям объекта встроенного языка ПолеФормы добавляется Расширение поля ввода
Посмотреть все свойства формы с учетом примененных расширений можно в отладчике, поставив точку останова в форме и рассчитав выражение "ЭтотОбъект".
5. Глобальный контекст, в том числе неглобальные общие модули и экспортируемые функции и процедуры глобальных общих модулей.
Если в глобальном общем модуле определена экспортная процедура, то в модуле формы можно обращаться к ней по имени без указания имени модуля.
Если общий модуль – неглобальный, то при обращении к процедуре ее имя нужно указывать через точку от имени модуля.
6. Экспортируемые переменные, процедуры и функции модуля управляемого приложения.
Если в модуле приложения определена экспортная процедура, то в модуле формы можно обращаться к ней по имени.
|