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

❓ 6.10 Модуль сеанса и параметры сеанса


Модуль сеанса выполняется на сервере и предназначен для действий, связанных с началом и работой сеанса, прежде всего — для инициализации параметров сеанса.

Особенности:

  • выполняется в привилегированном режиме;
  • содержит только процедуры и функции;
  • не содержит переменных модуля и тела модуля.

Основной обработчик:

Процедура УстановкаПараметровСеанса(ИменаПараметровСеанса)
КонецПроцедуры

Когда вызывается УстановкаПараметровСеанса

Заголовок раздела «Когда вызывается УстановкаПараметровСеанса»

Обработчик вызывается платформой автоматически.

При начале сеанса:

Начало сеанса
УстановкаПараметровСеанса()
ПередНачаломРаботыСистемы()

Но УстановкаПараметровСеанса вызывается не только при начале сеанса.

Если код впервые обращается к параметру сеанса, который еще не инициализирован:

ПараметрыСеанса.ТекущийПользователь
параметр еще не установлен
УстановкаПараметровСеанса()
значение параметра установлено
чтение продолжается

Получается УстановкаПараметровСеанса может вызываться несколько раз за один сеанс.


При первом вызове обработчика
УстановкаПараметровСеанса(ИменаПараметровСеанса):

ИменаПараметровСеанса = Неопределено

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

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

👉 Такой подход — инициализацию параметров сеанса по требованию — рекомендуют стандарты разработки 1С.


Для каждого параметра существуют два права:

  • Получение — разрешает читать значение;
  • Установка — разрешает изменять значение.

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

ПараметрыСеанса.ТекущаяОрганизация = Организация;

Если право Установка снято, значение можно установить только:

  • в модуле сеанса;
  • в общем модуле со свойством Привилегированный.

👉 Это позволяет защитить параметры, значение которых пользователь не должен иметь возможность произвольно менять.


УстановкаПараметровСеанса — выполняется не только при запаске сеанса

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