Объект 1С "Параметры сеанса"

Объект "Параметры сеанса" предназначен для хранения значений определенных типов для каждого клиентского сеанса на время работы этого сеанса. По сути, это некая глобальная (???) переменная, привязанная к сеансу текущего пользователя.

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

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

Открытие модуля сеанса выполняется с помощью контекстного меню в окне конфигурации:

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

Примеры параметров сеанса 1С:

  • ТекущийПользователь (тип СправочникСсылка.Пользователи);
  • ОбменДаннымиВключен (тип Булево);
  • РабочееМестоКлиента (тип СправочникСсылка.РабочиеМеста).

Параметры сеанса доступны из встроенного языка 1С:Предприятия, например:

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

Также они могут использоваться в текстах ограничений доступа, например:

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

Особенности использования параметров сеанса 1С:

  1. Не рекомендуется использовать параметры сеанса для хранения значений, используемых исключительно в клиентской логике. Поскольку в клиент-серверном варианте 1С:Предприятия параметры сеанса хранятся на сервере, то любое их считывание или изменение в процессе работы на клиенте потребует дополнительного серверного вызова и увеличит объем передаваемых данных с клиента на сервер и обратно. В таких случаях следует использовать глобальные переменные модуля управляемого приложения (и обычного приложения – для режима обычного приложения, соответственно).
  2. Не рекомендуется использовать параметры сеанса для кеширования вычисленных значений, которые многократно используются в серверной бизнес-логике. В таких случаях следует определять функцию в серверном общем модуле с повторным использованием возвращаемых значений. Исключение составляют случаи, когда время вычисления результата функции модуля с повторным использованием возвращаемых значений соизмеримо с периодом сброса платформенного кеша.
  3. Не следует производить инициализацию параметров сеанса при запуске программы, так как:
    • не все параметры сеанса запрашиваются из кода конфигурации при запуске программы;
    • при работе программы возможно намеренное обнуление значений параметров сеанса из кода на встроенном языке.

Установка параметров сеанса 1С по требованию

Материал с сайта https://its.1c.ru/db/v8std#content:-2145783234:hdoc

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

Пример установки параметров сеанса "по требованию":

Пример установки текущего пользователя 1С:

  1. В дереве метаданных создадим новый параметр сеанса — ТекущийПользователь, назначим ему тип — СправочникСсылка.Сотрудники.
  2. В модуле сеанса создадим процедуру, в которой будет определяться текущий параметр сеанса:

Процедура модуля сеанса 1С

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

Добавить комментарий

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