Перейти к содержимому

6.9 Только определения процедур и функций может содержать следующий вид модуля

Telegram → Просто о платформе 1С

❓ 6.9 Только определения процедур и функций может содержать следующий вид модуля:


В общем случае программный модуль может включать три раздела:

  1. раздел определения переменных;
  2. раздел процедур и функций;
  3. раздел основной программы — тело модуля.

Только раздел процедур и функций предусмотрен для следующих модулей:

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

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

Код обработчика выполняется на сервере в привилегированном режиме. Модуль сеанса может содержать только неэкспортируемые процедуры и функции.

Процедура УстановкаПараметровСеанса(
ТребуемыеПараметрыСеанса)
// Инициализация параметров сеанса
КонецПроцедуры

Вызов УстановкаПараметровСеанса выполняется до обработчика ПередНачаломРаботыСистемы модуля управляемого приложения и до ПриНачалеРаботыСистемы модуля внешнего соединения.

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

Модуль менеджера позволяет добавлять методы, относящиеся не к отдельному экземпляру объекта, а ко всему виду объектов.

Например, метод модуля менеджера справочника Контрагенты может быть вызван через менеджер этого справочника:

Функция ПолучитьСписокДебиторов() Экспорт
// Формирование списка
КонецФункции

Вызов метода:

Дебиторы =
Справочники.Контрагенты.ПолучитьСписокДебиторов();

Для обращения процедура или функция должна быть объявлена с ключевым словом Экспорт.

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

Точкой начала выполнения является клиентский обработчик ОбработкаКоманды:

&НаКлиенте
Процедура ОбработкаКоманды(
ПараметрКоманды,
ПараметрыВыполненияКоманды)
// Выполнение команды
КонецПроцедуры

Из клиентского обработчика можно вызывать серверные процедуры этого же модуля:

&НаСервере
Процедура ВыполнитьНаСервере()
// Серверная часть команды
КонецПроцедуры

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

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