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

 
Одной из целей параметров сеанса является замена глобальных переменных из 7.7. Вот об этом и пойдет речь в данной статье.
 
Наша задача будет состоять в том, чтобы из любого места конфигурации можно было узнать имя пользователя. Например, при создании документа, неплохо было бы знать его автора.
 
Создаем новый параметр и задаем ему имя “ТекущийПользователь” и заполняем свойства параметра:
 
 
Теперь нам необходимо задать параметру имя текущего пользователя. Открываем модуль сеанса:
 
 
и вставляем предопределнную процедуру УстановкаПараметровСеанса:

Процедура УстановкаПараметровСеанса(ИменаПараметровСеанса)
 
       Перем ИДПользователя,СпрПользователейДляПоиска,СсылкаНаНайденногоПользователя;
 
       Если ИменаПараметровСеанса = Неопределено Тогда
       Иначе
               СпрПользователейДляПоиска Справочники.Пользователи;
               ИДПользователя ПользователиИнформационнойБазы.ТекущийПользователь().УникальныйИдентификатор;
               ПараметрыСеанса.ТекущийПользователь СпрПользователейДляПоиска.НайтиПоРеквизиту(“ИДПользователя”,ИДПользователя);
       КонецЕсли;
 
КонецПроцедуры

здесь мы из метаданных берем уникальный идентификатор пользователя, находим по этому реквизиту пользователя из справочника “Пользователи” и присваеваем ссылку пользователя нашему параметру “ТекущийПользователь”.
 
Теперь чтобы воспользоваться параметром “ТекущийПользователь” на клиенте, создадим процедуру обертку которую можно будет вызвать откуда угодно. Например в общий модуль “ОМПользователи”:

//Возвращает ссылку на текущего пользователя базы данных
Функция ТекущийПользователь () Экспорт
 
       Возврат ПараметрыСеанса.ТекущийПользователь;
 
КонецФункции

 
Осталось  только создать какой нибудь документ, добавить туда реквизит “Автор”:
 
заполнить свойства:
 
разместить реквизиты на форме и к ней добавить событие “ПриСозданииНаСервере“:

&НаСервере
ПроцедураПриСозданииНаСервере(Отказ,СтандартнаяОбработка)
 
       Если НЕ ЗначениеЗаполнено(Объект.Ссылка)Тогда
               Объект.Автор=ОМПользователи.ТекущийПользователь();
       КонецЕсли;
 
КонецПроцедуры

 
Результат:
 
 

Какие типы можно использовать для параметра сеанса:

  • Все ссылочные (cправочники, документы, планы счетов и другие)
  • Строка, Дата, Число
  • ФиксированныйМассив

При начале работы или при первом обращении параметры сеанса должны быть заполнены значением иначе будет ошибка “попытка получения неинициализированного значения параметра сеанса”.

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

На тонком клиенте или веб-клиенте ПараметрыСеанса недоступны:

Сервер, толстый клиент, внешнее соединение, мобильное приложение(сервер). Возможен обмен с сервером.

Закон рекламы: родившись, брэнд нуждается в рекламе для своего существования.

— Э. и Л. Райс