
Презентация 03
.pdf
Модули прикладных объектов
Набор прикладных объектов имеет собственные модули. К таким объектам относятся:
Менеджеры значения константы, Справочники, Документы, Отчеты, Обработки, Планы видов характеристик, Планы счетов, Планы видов расчетов, Планы обмена, Бизнес-процессы, Задачи, Регистры.
21

Расположение модулей прикладных объектов, их доступ к объектам
Модули располагаются в ветках конфигурации, в которых содержатся сами объекты, и являются свойствами объектов. Каждый объект имеет свой индивидуальный модуль. В этих модулях возможно объявление переменных, процедур и функций, которые будут доступны при работе с объектом извне во встроенном языке, дополняя контекст объекта.
Вконтексте модуля прикладного объекта имеется доступ к реквизитам и табличным частям объекта, а также его методам и событиям.
22

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

Контекст модуля менеджера
Контекст модуля менеджера образуется:
из глобального контекста, в том числе экспортируемых функций общих модулей (если для модулей установлен флажок Клиент (управляемое приложение) или Сервер);
экспортируемых переменных, процедур и функций модуля приложения;
локальных и экспортируемых функций самого модуля.
Модуль менеджера не может иметь переменных и тела модуля.
Если функции или процедуры модуля менеджера объявлены как экспортируемые, к ним можно будет
24получить доступ через менеджер объекта.

Пример функции модуля менеджера
Например, опишем функцию в модуле менеджера справочника Контрагенты:
Функция ПолучитьСписокДебиторов() Экспорт КонецФункции
Тогда вызов этой функции из прикладного кода будет выглядеть следующим образом:
Дебиторы = Справочники.Контрагенты.ПолучитьСписокДебиторов(
);
25

Модули форм
Эти модули содержатся в формах конфигурации. Каждая форма имеет свой индивидуальный модуль.
Вэтих модулях возможно объявление переменных, процедур и функций, которые будут доступны при работе с формой извне во встроенном языке, дополняя контекст формы.
26

Контекст формы
Контекст формы будет образован:
локальным контекстом самого модуля формы, реквизитами формы, которой «принадлежит» модуль;
свойствами и методами объекта УправляемаяФорма встроенного языка;
свойствами и методами расширения формы, определяемого типом того объекта, данные которого содержатся в основном реквизите формы;
глобальным контекстом, в том числе неглобальными общими модулями и экспортируемыми функциями и процедурами глобальных общих модулей, при этом нужно обеспечивать согласованность того, как описана процедура в модуле формы (&НаКлиенте, &НаСервере и т. д.), и того, какие свойства установлены у общего модуля (Клиент (управляемое приложение), Сервер и т. д.);
экспортируемыми переменными, процедурами и функциями модуля
управляемого приложения.
27

Модули команд
Модуль команды предназначен для того, чтобы описать в нем на встроенном языке те действия, которые должна выполнить система при вызове команды. Модуль команды может содержать только описание процедур и функций. Модуль команды не может иметь переменных и тела модуля.
Обработчик ОбработкаКоманды () обязательно должна предваряться директивой препроцессора &НаКлиенте, т. к. именно там начинается исполнение команды.
28

Контекст клиентских процедур модуля команды
Контекст клиентских процедур модуля команды образуется:
глобальным контекстом, в том числе неглобальными общими модулями и экспортируемыми функциями и процедурами глобальных общих модулей, при этом
нужно обеспечивать согласованность того, как описана процедура в модуле формы (&НаКлиенте, &НаСервере и т. д.), и того, какие свойства установлены у общего модуля (Клиент (управляемое приложение), Сервер и т. д.).
локальным контекстом самого модуля команды.
29

Контекст серверных процедур модуля команды
Контекст серверных процедур модуля команды образуется:
свойствами и методами глобального контекста;
экспортными процедурами и функциями глобальных общих модулей, если эти модули компилируются на сервере;
неглобальными общими модулями, если эти модули компилируются на сервере; доступны экспортные методы таких модулей;
серверными методами модуля команды.
30