6.9 Только определения процедур и функций может содержать следующий вид модуля
❓ 6.9 Только определения процедур и функций может содержать следующий вид модуля:
📚 Документация
Заголовок раздела «📚 Документация»-
ИТС: Руководство разработчика — 4.2.3. Виды программных модулей https://its.1c.ru/db/v8327doc#bookmark:dev:TI000000123
-
ИТС: Руководство разработчика — 4.2.4. Формат программного модуля https://its.1c.ru/db/v8327doc#bookmark:dev:TI000000132
🧠 Краткая теория
Заголовок раздела «🧠 Краткая теория»В общем случае программный модуль может включать три раздела:
- раздел определения переменных;
- раздел процедур и функций;
- раздел основной программы — тело модуля.
Только раздел процедур и функций предусмотрен для следующих модулей:
- модуля сеанса;
- общего модуля;
- модуля менеджера объекта;
- модуля команды.
Назначение модулей
Заголовок раздела «Назначение модулей»| Вид модуля | Назначение |
|---|---|
| Модуль сеанса | Инициализация параметров сеанса и выполнение действий, связанных с началом сеанса |
| Общий модуль | Размещение общих алгоритмов конфигурации |
| Модуль менеджера | Расширение функциональности менеджера объекта конфигурации |
| Модуль команды | Выполнение действий при вызове команды |
Модуль сеанса
Заголовок раздела «Модуль сеанса»Основной обработчик модуля сеанса — УстановкаПараметровСеанса. Платформа вызывает его, когда требуется инициализировать параметры сеанса.
Код обработчика выполняется на сервере в привилегированном режиме. Модуль сеанса может содержать только неэкспортируемые процедуры и функции.
Процедура УстановкаПараметровСеанса( ТребуемыеПараметрыСеанса)
// Инициализация параметров сеанса
КонецПроцедурыВызов УстановкаПараметровСеанса выполняется до обработчика ПередНачаломРаботыСистемы модуля управляемого приложения и до ПриНачалеРаботыСистемы модуля внешнего соединения.
Общий модуль
Заголовок раздела «Общий модуль»Общие модули предназначены для размещения алгоритмов, которые используются из разных программных модулей конфигурации. Подробнее об общих модулях в 6.4
Модуль менеджера объекта
Заголовок раздела «Модуль менеджера объекта»Модуль менеджера позволяет добавлять методы, относящиеся не к отдельному экземпляру объекта, а ко всему виду объектов.
Например, метод модуля менеджера справочника Контрагенты может быть вызван через менеджер этого справочника:
Функция ПолучитьСписокДебиторов() Экспорт
// Формирование списка
КонецФункцииВызов метода:
Дебиторы = Справочники.Контрагенты.ПолучитьСписокДебиторов();Для обращения процедура или функция должна быть объявлена с ключевым словом Экспорт.
Модуль команды
Заголовок раздела «Модуль команды»Модуль команды описывает действия, выполняемые при вызове команды.
Точкой начала выполнения является клиентский обработчик ОбработкаКоманды:
&НаКлиентеПроцедура ОбработкаКоманды( ПараметрКоманды, ПараметрыВыполненияКоманды)
// Выполнение команды
КонецПроцедурыИз клиентского обработчика можно вызывать серверные процедуры этого же модуля:
&НаСервереПроцедура ВыполнитьНаСервере()
// Серверная часть команды
КонецПроцедурыВ модуле команды разрешено указывать ключевое слово Экспорт, но обратиться к такому методу из другого программного модуля нельзя.
🧠 Ключевая мысль
Заголовок раздела «🧠 Ключевая мысль»Модуль сеанса, общий модуль, модуль менеджера объекта и модуль команды имеют одинаковое ограничение по структуре: в них предусмотрен только раздел процедур и функций.