Параметры сеанса в 1С 8.3

Курс

Параметры сеанса

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

Параметры сеанса находятся в узле метаданных Общие — Параметры сеанса:

При создании нового параметра сеанса для него нужно указать имя и тип. Перечень возможных типов ограничен:

Помимо ссылочных типов, примитивных типов и других типов, можно указывать такие типы как: ФиксированныйМассив, ФиксированноеСоответствие и ФиксированнаяСтруктура.

Значения параметров сеанса хранятся отдельно для каждого пользователя, в течении всего сеанса пользователя.

Значения параметров сеанса сохраняются в сеансовых данных, на сервере. Изменять и читать значения параметров сеанса можно только на сервере. Если попытаться обратиться к параметрам сеанса на клиенте будет вызвана ошибка «Переменная не определена (ПараметрыСеанса)».

Для параметров сеанса можно назначать права доступа: на получение и на установку.

Если у пользователя нет права «Установка» для параметра сеанса, то установить параметр можно только в привилегированном общем модуле или в модуле сеанса (который всегда выполняется в привилегированном режиме).

Модуль сеанса

Данный модуль выполняется самым первым при загрузке конфигурации. Он всегда выполняется без контроля прав доступа (в привилегированном режиме).

В модуле сеанса есть только один обработчик УстановкаПараметровСеанса с одним параметром ТребуемыеПараметры (при этом ничто не мешает переименовать данный параметр). Данный обработчик предназначен для инициализации параметров сеанса.

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

Работа с параметрами сеанса из встроенного языка

К параметрам сеанса можно обращаться только на сервере. Причем, можно как получать значения параметров, так и изменять. Обращение выполняется через свойство ПараметрыСеанса, после которого указывается имя параметра:

Все параметры сеанса можно перебрать в цикле:

Можно очистить все значения параметров сеанса методом Очистить:

Или только выбранные, передав в метод Очистить массив с именами параметров сеанса:

Желательно инициализировать параметры сеанса при первом обращении к ним, а не при запуске приложения:

Использование параметров сеанса

Не рекомендуется использовать параметры сеанса как глобальные серверные переменные или как результат вычисления какого-либо значения на сервере, чтобы не вычислять его повторно. Хотя чисто технически так можно делать. Например в БСП (библиотека стандартных подсистем) есть параметр БуферОбмена, который используется для копирования строк табличной части.

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


Подписывайтесь на группу ВКонтакте , где я публикую ссылки на новые статьи с данного сайта, а также интересные материалы с других ресурсов по программированию в 1С
Понравилась статья? Поделиться с друзьями:
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!:

Используя этот сайт, Вы даете согласие на использование cookies. На данном этапе Вы можете отказаться от использования cookies, настроив необходимые параметры в своем браузере.
ok