Что такое программный модуль?
Программные модули в конфигурации системы 1С:Предприятие не являются самостоятельными программами в общепринятом понимании этого слова, поскольку они являются только частью всей конфигурации задачи. Программный модуль – это своего рода "контейнер" для размещения текстов процедур и функций, вызываемых системой во время исполнения задачи в определенные моменты работы. Поэтому программный модуль не имеет формальных границ своего описания типа: "Начало модуля" – "Конец модуля".
Место размещения конкретного программного модуля (тот самый "контейнер") предоставляется конфигуратором в тех точках конфигурации задачи, которые требуют описания специфических алгоритмов функционирования. Эти алгоритмы следует оформлять в виде процедур или функций, которые будут вызваны самой системой в заранее предусмотренных ситуациях (например, при нажатии кнопки в диалоговом окне).
Каждый отдельный программный модуль воспринимается системой как единое целое, поэтому все процедуры и функции программного модуля выполняются в едином контексте.
Контекст выполнения программного модуля
Каждый программный модуль связан с остальной частью конфигурации задачи. Эта связь называется контекстом выполнения модуля. Следует различать два вида контекста:
- глобальный контекст задачи;
- локальный контекст выполнения конкретного модуля.
Глобальный контекст образуется:
- значениями системных атрибутов, системными процедурами и функциями;
- значениями заданных в конфигураторе констант, перечислений, регистров, видов расчета, групп видов расчета;
- переменными, процедурами и функциями глобального программного модуля, объявленными с ключевым словом Экспорт.
Глобальный контекст виден всем программным модулям и определяет общую языковую среду конфигурации.
Локальный контекст модуля образуется тем конкретным местом конфигурации задачи, для которого использован программный модуль. Локальный контекст виден только конкретному программному модулю и определяет для модуля набор непосредственно доступных модулю значений агрегатных типов данных, их атрибутов и методов (см. "Виды программных модулей"). Однако, контекст модуля можно передать как объект в виде параметра при вызове процедур и функций (см. "Передача локального контекста программного модуля в качестве параметра"). Кроме того, контекст модуля определяет тот набор методов, которые доступны только в данном контексте (см. "Атрибуты и методы контекста Модуля формы", "Методы контекста Модуля формы элемента справочника" и т. п.). Локальный контекст предназначен для того, чтобы дать возможность управлять частными аспектами поведения задачи, присущими данному модулю.