1с подписка на событие после записи. Назначение обработчиков событий с помощью подписок на события

Механизм подписок на событие предназначен для назначения обработчика события для одного или нескольких объектов конфигурации платформы «1С:Предприятие». В статье рассматриваются несколько примеров применения данного механизма. Изучив статью, вы узнаете:

  • Что такое подписка на событие и как его применять на практике?
  • Как выполнить проверку дублирования наименования при записи элемента справочника без модификации модулей самого справочника?
  • Как, при помощи подписки на событие, обеспечить формирование движений по регистру накопления при проведении документа?
  • Как обеспечить подмену основной формы документа?

Применимость

В статье рассматривается платформа «1С:Предприятие» редакции 8.3. Представленная информация актуальна для текущих релизов платформы.

Подписки на события

В статье рассматриваются несколько примеров применения одного из вспомогательных объектов платформы «1С:Предприятие 8» – подписок на события .

Подписки на события позволяют размещать в общих модулях внешние обработчики, которые будут исполняться после выполнения определенного обработчика события в модуле объекта или модуле менеджера.

При этом не потребуется вносить изменения в модуль объекта или модуль менеджера. Таким образом, возникает возможность программного расширения модулей без их модификации – это очень полезный прием при изменении типовых решений.

Подписки на события описываются в ветке Общие окна объектов конфигурации (Рис.1).

Если в конфигурации создана подписка на событие некоторого объекта, например событие ПередЗаписью() объекта документа, то при возникновении этого события платформа выполняет следующую последовательность действий.

  1. Выполняется обработчик события ПередЗаписью() в модуле объекта документа.
  2. Если в ходе выполнения обработчика параметр Отказ принимает значение Истина или вызывается исключение, то обработка события прерывается.
  3. Если на втором шаге обработка события не прерывалась, то выполняются внешние обработчики (подписки на события), определенные для события ПередЗаписью() .
  4. Если в ходе выполнения внешнего обработчика параметр Отказ принимает значение Истина или вызывается исключение, то выполнение внешнего обработчика прерывается.

С помощью подписок на события можно организовать выполнение различных проверок , выполняющихся при записи объектов в базу данных.

Задача 1

Выполнить проверку дублирования наименования при записи элемента справочника “Контрагенты” – без модификации модулей самого справочника.

Для решения задачи нужно создать общий модуль ОбработчикиПодписокНаСобытия . В палитре свойств модуля установить флаг Сервер и Клиент (обычное приложение) . Второй флаг нужен для того, чтобы подписка на событие работала в обычном приложении.

Флаг Клиент (обычное приложение) доступен, если в параметрах конфигуратора установлен режим редактирования Управляемое приложение и обычное приложение .

В ветке Общие окна объектов конфигурации создать новую подписку на событие. В палитре свойств ввести имя подписки ПроверкаНаименованияСправочника . В поле выбора Источник отметить тип данных СправочникОбъект.Контрагенты . В поле выбора Событие выбрать событие ПередЗаписью() . После отработки этого события будет срабатывать процедура обработки подписки на событие (Рис. 2).

В поле выбора Обработчик указывается общий модуль, в котором располагается обработчик подписки на событие. Нажать в этом поле кнопку Открыть, выбрать модуль ОбработчикиПодписокНаСобытия и нажать ОК . Система автоматически создаст в общем модуле процедуру с параметрами Источник и Отказ . В параметре Источник передается объект, для которого создана подписка на события – СправочникОбъект . . В параметре Отказ передается признак отказа от записи элемента.

В процедуре ПроверкаНаименованияСправочникаПередЗаписью() выполняется запрос к справочнику Контрагенты . В качестве параметра запроса передается наименование записываемого элемента справочника Контрагенты . Если элемент с таким названием уже есть в базе данных, то параметр Отказ устанавливается в значение Истина (запись элемента отменяется) и выводится соответствующее диагностическое сообщение.

Листинг процедуры ПроверкаНаименованияСправочникаПередЗаписью()

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

Задача 2

Создать оборотный регистр накопления “Выбытия денежных средств” и обеспечить формирование движений по этому регистру при проведении документа “Расходный кассовый ордер”, используя механизм подписок на события.

Создать новый оборотный регистр с именем ВыбытияДенежныхСредств . Выбрать регистратор “Расходный кассовый ордер”. Добавить измерения регистра:

Создать ресурс регистра:

Сумма , тип Число , Длина – 15, Точность – 2.

В документе “Расходный кассовый ордер” создать реквизит СтатьяДвижения с типом данных СправочникСсылка.СтатьиДвиженияДенежныхСредств .

Имя – ДвиженияПоВыбытиюДенежныхСредств ;
Источник – ДокументОбъект.РКО ;
Событие – ОбработкаПроведения .

В общем модуле ОбработчикиПодписокНаСобытия создать обработчик . В обработчике осуществляется обход табличной части документа “Расходный кассовый ордер” и формируются движения в регистре накопления ВыбытияДенежныхСредств .

Листинг процедуры ДвиженияПоВыбытиюДенежныхСредствОбработкаПроведения()

В типовых конфигурациях может возникнуть необходимость доработки основной формы некоторого объекта, например документа. Эту задачу можно решить с помощью подписок на события. При этом создается копия основной формы документа. В новую форму вносятся необходимые изменения. С помощью механизма подписок на события обеспечивается открытие новой формы вместо основной формы. При этом основная форма, находящаяся на поддержке, остается без изменения.

Задача 3

Обеспечить подмену основной формы документа “Расходный кассовый ордер”.

Создать новую форму документа “Расходный кассовый ордер” с именем ФормаДокументаКлиентская . Внести в форму произвольные изменения, например, поменять порядок элементов управления. Для вызова этой формы необходимо использовать подписку на событие ОбработкаПолученияФормы() в модуле менеджера документа “Расходный кассовый ордер”.

Создать новую подписку на событие:

Имя – ОсновнаяФормаРКО;
Источник – ДокументМенеджер.РКО;
Событие – ОбработкаПолученияФормы.

В общем модуле ОбработчикиПодписокНаСобытия создать обработчик . В обработчик в качестве параметра ВыбраннаяФорма передается имя открываемой формы.
Параметр СтандартнаяОбработка устанавливается в значении Ложь для отключения открытия основной формы.

Листинг процедуры ОсновнаяФормаРКООбработкаПолученияФормы()

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

Таким образом, подписки на события предоставляют возможность добавления нового функционала, не изменяя существующие модули объектов. К недостаткам подписок на события можно отнести:

  • Увеличение сложности алгоритмов.
  • Подписаться можно только на события объектов и менеджеров объектов.

Если необходимо модифицировать какое-либо событие формы, то механизм подписок на события не доступен. В этом случае, необходимо вносить изменения в саму форму или копировать форму и вносить изменения в новый объект.

Подписка на событие 1С 8.3 и 8.2 — объект конфигурации, позволяющий назначить обработчик на определенное событие объекта. Такой обработчик можно назначить сразу на несколько объектов конфигурации, например, сразу на все документы.

Рассмотрим этот объект метаданных подробнее.

  • ПриУстановкеНовогоНомера
  • ПриКопировании
  • ОбработкаЗаполнения
  • ПередЗаписью
  • ПриЗаписи
  • ПередУдалением
  • ОбработкаПроведения
  • ОбработкаУдаленияПроведения
  • ОбработкаПроверкиЗаполнения

Подписку на событие можно установить только на объект, а не на форму.

Очередность вызова обработчиков в 1С 8

Обработчики подписки на события вызываются после обработчика объекта, т.е. если подписка на события установлена на событие «ОбработкаПроведение», то вначале отработает обработчик из модуля объекта, а потом уже обработчик из подписки.

Получите 267 видеоуроков по 1С бесплатно:

Если подписок на одно событие несколько, то, судя по опыту, сначала вызывается вышестоящая в древе конфигурации подписка. Хотя и сама фирма 1С сообщает, что эта очередность не определена.

Использование подписок на событие в 1С

Использовать подписки очень удобно, например, для регистрации изменений для . Или какое-то другое действие, которое одинаковое для различных объектов конфигурации.

Я часто использую подписки на событие для того, чтобы не менять обработчики типовых . Это очень удобно, например, мы в подписке можем корректировать движения документа или добавлять движения по новым регистрам, не меняя при этом конфигурацию.

Настройка подписки на событие

Настроить подписку очень просто:

  • Источник — типы данных, для которых устанавливается обработчик;
  • Событие — событие, для которого установлен обработчик;
  • Обработчик — указывается процедура из , в которой будет расположен обработчик события.

При работе с информационной базой 1С нередко возникает необходимость привязать новый алгоритм к событию, связанному с изменением объекта. В 7 версии программы для запуска обработчика приходилось переписывать исходный код программы, что приводило к проблемам при обновлении конфигурации.

Проанализировав отзывы пользователей, разработчики в восьмерке реализовали новый объект, получивший название «Подписка на событие». В этой статье мы постараемся раскрыть:

  • Настройку подписок;
  • Создание;
  • Особенности функционирования.

Создание новой подписки

Как и любой другой объект метаданных, подписка на событие в 1С добавляется из конфигуратора.

Находится эти элементы в ветке дерева «Общие» (Рис.1).

Для добавления нового обработчика необходимо:


Рис.3

Во избежание проблем с обновлением, для собственных разработок лучше всего завести собственный общий модуль, который будет содержать только Ваши процедуры и функции.

Особенности функционирования подписок

Одним из главных вопросов, возникающих у пользователей начинающих работать с объектом «Подписка на события», является вопрос о порядке вызова процедур. Зачастую именно здесь кроются ошибки, связанные с тем, что процедура не срабатывает или срабатывает через раз.

На примере процедуры ПриЗаписи() для любого документа можно увидеть порядок вызова обработчиков.

Так, если в модуле объекта документ, существует эта процедура и параллельно с ней существует обработка, вызываемая из подписки и обрабатывающая то же самое событие, в первую очередь будет отработан модуль документа. Если в ходе выполнения ПриЗаписи() в модуле документа, параметр Отказ по каким-либо причинам примет значение Истина, подписка гарантировано не сработает.

В случае, когда существует несколько объектов-подписок, одинаковых для одного источника и одного события, отследить порядок выполнения очень сложно. И, если в ходе выполнения, хотя бы одного обработчика, будет вызвана исключительная ситуация, часть процедур останется не выполненной.

Таким образом, последовательность обработок можно задать следующей схемой:

  1. Обрабатываются события модуля объекта;
  2. Обрабатываются подписки, связанные непосредственно с текущим типом данных;
  3. Отрабатывается код, привязанный к общему типу.

Очень важно запомнить, что ни в коем случае в процедуры, исполняемые при записи, при проведении нельзя вставлять код, меняющий данные объекта-источника, это может привести к ненужному зацикливанию. Лучше подобный код использовать в процедурах ПередЗаписью.

Обработчик события открытия формы

Возрастающая популярность управляемых форм, используемых в 8 версии программы, а так же проблемы связанные с обновлением этих объектов с сохранением собственных изменений, привели к тому, что, начиная с платформы 8.2.15, в программе появилось событие ОбработкаПолученияФормы. Именно сюда можно вставлять код, изменяющий и заменяющий типовые формы.

Некоторые особенности данного обработчика:

  • Событие не сработает в случае, если в конфигурации открываемая типовая форма прописана строго;
  • Событие может быть реализовано только для управляемых форм;
  • Общий модуль, содержащий этот обработчик должен не только иметь признак «Сервер», но и содержать установленный флажок в поле «Вызов сервера».

Важно учитывать, что эта подписка вызывается не для конкретного объекта, а для его менеджера, то есть поле источник должно содержать это слово (Рис.4)

Рис.4

Подводя итог вышесказанному, хочется сказать, что «Подписка на событие» крайне полезный и нужный для разработчика инструмент, позволяющий без серьезных вмешательств в конфигурацию реализовывать собственные цели и задачи.

Модули объектов существуют у прикладных объектов (документы, справочники, планы счетов и т.д.), и предназначены в основном для обработки стандартных событий типа записи. Тут же можно располагать условия типа проверки корректности данных. Важно понимать, что обработка события записи могут располагаться также и в модуле формы , но отрабатывать она будет только при интерактивной работе с объектом. Если же объект записывается программно , то будет выполняться обработчик события именно из модуля объекта.
Модуль объекта может быть открыт по соответствующей кнопке на закладке Прочее:
Перечень предопределенных процедур - обработчиков событий модулей объектов:

  • Модуль объекта справочника:
    • ПриУстановкеНовогоКода
    • ПриКопировании
    • ОбработкаЗаполнения
    • ПередЗаписью
    • ПриЗаписи
    • ПередУдалением
    • ОбработкаПроверкиЗаполнения
  • Модуль объекта документа:
    • ОбработкаПроведения
    • ОбработкаЗаполнения
    • ПриУстановкеНовогоНомера
    • ПриКопировании
    • ПередЗаписью
    • ПриЗаписи
    • ПередУдалением
    • ОбработкаУдаленияПроведения
    • ОбработкаПроверкиЗаполнения
  • Модуль объекта отчета:
    • ОбработкаПроверкиЗаполнения
    • ПриКомпоновкеРезультата
    • УстановитьЗаголовкиПолей
  • Модуль объекта обработки:
    • ОбработкаПроверкиЗаполнения
  • Модуль объекта плана вида характеристик:
    • ПриУстановкеНовогоКода
    • ПриКопировании
    • ОбработкаЗаполнения
    • ПередЗаписью
    • ПриЗаписи
    • ПередУдалением
    • ОбработкаПроверкиЗаполнения
  • Модуль объекта плана счетов:
    • ПриКопировании
    • ОбработкаЗаполнения
    • ПередЗаписью
    • ПриЗаписи
    • ПередУдалением
    • ОбработкаПроверкиЗаполнения
  • Модуль объекта плана видов расчетов:
    • ПриКопировании
    • ОбработкаЗаполнения
    • ПередЗаписью
    • ПриЗаписи
    • ПередУдалением
    • ОбработкаПроверкиЗаполнения
  • Модуль объекта бизнес-процесса:
    • ПриУстановкеНовогоНомера
    • ПриКопировании
    • ОбработкаЗаполнения
    • ПередЗаписью
    • ПриЗаписи
    • ПередУдалением
    • ОбработкаПроверкиЗаполнения
  • Модуль объекта задачи:
    • ПриУстановкеНовогоНомера
    • ПриКопировании
    • ОбработкаЗаполнения
    • ПередЗаписью
    • ПриЗаписи
    • ПередУдалением
    • ОбработкаИнтерактивнойАктивации
    • ОбработкаПроверкиВыполнения
    • ПередВыполнением
    • ПередИнтерактивнымВыполнением
    • ПриВыполнении
    • ОбработкаПроверкиВыполнения

Вопрос 06.18 экзамена 1С:Профессионал по платформе. Где располагаются процедуры-обработчики событий прикладных объектов, например, ПриЗаписи, ПередУдалением?

  1. В модуле формы
  2. В модуле объекта
  3. В модуле приложения
  4. Таких событий у прикладных объектов нет

Разбор выше.

Вопрос 06.41 экзамена 1С:Профессионал по платформе. С помощью команды "ДобавитьОбработчик" можно назначить обработчик события на:

  1. COM объект
  2. экземпляр объекта 1С:Предприятие (назначать на события модуля объекта)
  3. экземпляр объекта "Форма"
  4. верны 1,2 ответы
  5. верны 1,2,3 ответы

Обратимся к синтакс-помощнику. В примерах разобраны экземпляры объектов, и COM объекты.

ДобавитьОбработчик (AddHandler)

Синтаксис:

ДобавитьОбработчик <Событие>, <ОбработчикСобытия>;

Параметры:

<Событие>

Событие, которому добавляется обработчик.

Событие задается в форме <Выражение>.<Имя_события>, где:


<Выражение> - произвольное выражение на встроенном языке, результатом которого должен быть объект, к событию которого добавляется обработчик;

<Имя_события> - идентификатор (имя) события.


<ОбработчикСобытия>

Процедура/функция-обработчик события.

Обработчиком события может являться метод объекта встроенного языка. Тогда <ОбработчикСобытия> задается как <Выражение>.<Имя_обработчика>, где:


<Выражение> - произвольное выражение на встроенном языке, результатом которого должен быть объект, метод которого служит обработчиком события;

<Имя_обработчика> - имя метода обработчика события.


Также в качестве обработчика события может быть задана процедура/функция, находящаяся в области видимости. В этом случае обработчик события задается как имя процедуры/функции.

Описание:

Добавляет обработчик события.

При добавлении обработчика события производится проверка соответствия числа параметров события числу параметров метода, назначаемого в качестве обработчика.

Пример:


Обработка = Обработки . КонтрольДокумента . Создать () ; Накладная = Документы . Накладная . СоздатьДокумент () ; ДобавитьОбработчик Накладная . ПриЗаписи , Обработка . ПриЗаписиДокумента ; msword = Новый COMОбъект ("Word.Application" ) ; ДобавитьОбработчик msword . DocumentChange , ПриИзмененииДокумента ;

Процедура ПриИзмененииДокумента () Сообщить ("Документ изменен" ) ; КонецПроцедуры


***

Вопрос 06.36 экзамена 1С:Профессионал по платформе. При определении обработчика события на COM объект количество параметров в процедуре - обработчике:

  1. равно количеству параметров соответствующего события объекта
  2. на один параметр больше, чем у соответствующего события объекта (первый параметр содержит сам COM объект)
  3. на один параметр больше, чем у соответствующего события объекта (последний параметр содержит сам COM объект)
  4. всегда один параметр (сам COM объект)

Правильный ответ первый, При добавлении обработчика события производится проверка соответствия числа параметров события числу параметров метода, назначаемого в качестве обработчика.

Вопрос 06.37 экзамена 1С:Профессионал по платформе. При определении подписки на событие количество параметров в процедуре - обработчике:

  1. у такой процедуры не будет параметров

Правильный ответ первый. Пример кода в обработчике события:

Процедура ПриИзмененииДокумента (Отказ )
КонецПроцедуры

Пример кода процедуры-обработчика:

Процедура ПриИзмененииДокумента (Источник, Отказ )

КонецПроцедуры


Вопрос 06.38 экзамена 1С:Профессионал по платформе. При определении обработчика события на экземпляр объекта 1С:Предприятие количество параметров в процедуре - обработчике:

  1. равно количеству параметров соответствующего обработчика события, располагаемого в модуле объекта
  2. на один параметр больше, чем у соответствующего обработчика события, располагаемого в модуле объекта (первый параметр содержит сам объект)
  3. на один параметр больше, чем у соответствующего обработчика события, располагаемого в модуле объекта (последний параметр содержит сам объект)
  4. у такой процедуры не будет параметров
  5. всегда один параметр (сам объект, для которого определялась подписка)

Правильный ответ второй, аналогично прошлому вопросу.

Вопрос 06.40 экзамена 1С:Профессионал по платформе. При назначении обработчика события на объект (экземпляр объекта 1С:Предприятие, COM объект) процедура, отвечающая за отработку данного события должна быть расположена:

  1. обязательно в глобальном общем модуле
  2. обязательно в не глобальном общем модуле
  3. обязательно в модуле приложения
  4. выбор модуля не важен, в "пределах видимости"

Правильный ответ четвертый, см. выдержку из синтакс-помощника.

На предыдущем занятии мы создали форму документа Приходная накладная и назначили эту форму основной. Что это значит? У всех прикладных объектов конфигурации существует некоторое количество основных форм. Они служат для отображения данных объекта в том или ином виде. Если разработчик не назначит в качестве основных форм объекта свои собственные, система будет генерировать необходимые формы объекта самостоятельно, в те моменты, когда к ним происходит обращение. Наличие такого механизма позволяет разработчику не тратить время на создание форм для тестирования своей разработки, а воспользо­ваться тем, что платформа создаст по умолчанию. Создание этих форм происходит динамически, в процессе работы системы. Форма создается в тот момент, когда к ней происходит обращение. Причем не важно, интерактивное это обращение или программное. Также примечательным фактом является то, что состав основных форм, определенных для объекта конфигурации, может не совпадать с перечнем тех форм, которые вообще можно создать для данного объекта, используя конструктор формы. Например, для большинства регистров в конфигураторе можно задать основную форму списка. Однако если открыть конструктор форм для регистра, вы увидите, что кроме формы списка предлага­ется создать и форму набора записей регистра, которая отсутствует в перечне основных форм.

Обработчики событий

При работе с событиями в платформе 1С:Предприятие 8 следует различать два типа событий: события, связанные с формой и ее элементами, и все остальные. Разница заключается в том, что обработчики событий, связанных с формой и ее элементами, - назначаемые, а обработчики всех остальных событий - фиксированные. Фиксированный обработчик события должен иметь имя, совпада­ющие с именем события. Только в этом случае он будет вызываться при возникновении соответствующего события. Назначаемый обработчик может иметь произвольное имя. Если имя процедуры совпадает с именем события формы или ее элемента, этого совсем недостаточно для вызова процедуры обработки события с таким именем. Требуется явное назначение процедуры обработчиком этого события в палитре свойств, в соответствующем событии. Назначение обработчика может выполняться интерактивно, при работе с формой в конфигураторе, или программно, используя методы формы и ее элементов - УстановитьДействие().

Модули

Виды модулей:

    Модуль управляемого приложения. Модуль управляемого прило­жения выполняется при старте системы 1С:Предприятие в режимах тонкого клиента и веб-клиента.

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

    Общие модули. В общих модулях хранятся процедуры и функции, которые вызываются из других модулей системы. Сам по себе общий модуль не исполняется. Исполняются отдельные его процедуры/ функции в момент их вызова из других модулей. Чтобы открыть общий модуль, нужно раскрыть ветвь Общие в дереве объектов конфигурации, затем раскрыть ветвь Общие модули и дважды щелкнуть мышью на нужном модуле.

    Модули объектов. Модули объектов - это, например, модуль элемента справочника или модуль документа. Эти модули вызываются тогда, когда либо программно создается этот объект средствами встроенного языка, например, методами Соз-датьЭлемент() у менеджеров справочников или СоздатьДокумент() менеджеров документов, либо когда пользователь создает новый элемент справочника или документ интерактивно. Чтобы открыть модуль объекта, нужно в окне редактирования объекта конфигурации перейти на закладку Прочее и нажать кнопку Модуль объекта. Или, выделив нужный объект в дереве объектов конфигурации, вызвать из контекстного меню команду Открыть модуль объекта.

Рис.5.1. Открытие модуля объекта

    Модули форм. Каждая форма, определенная в конфигурации, имеет свой собственный модуль. Этот модуль исполняется при создании объекта УправляемаяФорма встроенного языка. Этот объект создается системой в режиме 1С предприятие в тот момент, когда мы программно (методами ПолучитьФорму() или ОткрытьФорму()). Чтобы открыть модуль формы, нужно открыть нужный объект конфигурации Форма объекта и в окне редактора форм перейти на закладку Модуль.

Листинг 5.1. Открытие модуля формы

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

    Модуль внешнего соединения предназначен для размещения в нем текстов функций и процедур, которые могут вызываться в сессии внешнего соединения. Чтобы открыть модуль сеанса, нужно выделить корень дерева объектов конфигурации (строку ПособиеДляНачинающих) и вызвать из контекстного меню команду Открыть модуль внешнего соединения.

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

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

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

    локальным контекстом самого модуля формы;

    реквизитами формы, которой;принадлежит; модуль;

    свойствами и методами объекта УправляемаяФорма встроенного языка;

    свойствами и методами расширения формы, определяемого типом того объекта, данные которого содержатся в основном реквизите формы;

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

    экспортируемыми переменными, процедурами и функциями модуля управляемого приложения;