К статье
Практический материал

Администрирование · 11 мин

Как посмотреть параметры сеанса в 1С

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

Параметры сеанса в 1С — это значения, которые платформа хранит в течение всего сеанса работы пользователя: текущий пользователь, период проведения документов, настройки отбора данных, служебные флаги. Они задаются при запуске сеанса и влияют на поведение прикладного решения, поэтому умение их посмотреть нужно и разработчику, и администратору.

Универсальной кнопки «показать параметры сеанса» в типовом интерфейсе нет: состав параметров определяется конкретной конфигурацией, а их значения живут в памяти сеанса. Поэтому просмотр выполняется либо через конфигуратор, либо программно — через встроенный язык, отладчик или внешнюю обработку.

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

Где в конфигураторе найти список параметров сеанса

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

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

Обратите внимание: конфигуратор показывает только описание параметров, но не их текущие значения. Значения существуют внутри запущенного сеанса и устанавливаются обработчиком УстановкаПараметровСеанса в модуле сеанса — именно там стоит искать логику, каким образом параметр получает своё значение.

Как прочитать значения параметров программно

Встроенный язык предоставляет глобальный объект ПараметрыСеанса, через который доступно чтение и установка значений. Простейший способ увидеть значение конкретного параметра — вывести его через Сообщить():

Сообщить("Текущий пользователь: " + ПараметрыСеанса.ТекущийПользователь);

Если нужно просмотреть все параметры разом, переберите их через метаданные и прочитайте каждое значение по имени:

Для Каждого Параметр Из Метаданные.ПараметрыСеанса Цикл

Попытка

Значение = ПараметрыСеанса[Параметр.Имя];

Сообщить(Параметр.Имя + " = " + Значение);

Исключение

Сообщить(Параметр.Имя + " — значение не установлено");

КонецПопытки;

КонецЦикла;

Конструкция Попытка...Исключение обязательна: если параметр не был установлен при запуске сеанса, обращение к нему вызывает исключение. Это частая причина ошибок «Параметр сеанса не установлен» — параметр объявлен, но обработчик его не заполнил (например, сеанс запущен без аутентификации или обработчик завершился с ошибкой).

Для сложных типов (ссылки на справочники, фиксированные массивы) прямой вывод даст строковое представление. Если нужна детализация, проверяйте тип через ТипЗнч() и обрабатывайте значение соответствующим образом.

bsl
Для Каждого Параметр Из Метаданные.ПараметрыСеанса Цикл
	Попытка
		Сообщить(Параметр.Имя + " = " + ПараметрыСеанса[Параметр.Имя]);
	Исключение
		Сообщить(Параметр.Имя + " — не установлен");
	КонецПопытки;
КонецЦикла;

Как посмотреть параметры в отладчике

Отладчик — самый наглядный инструмент, когда нужно посмотреть значения «здесь и сейчас», в том числе в чужом сеансе на сервере. Включите отладку (Отладка → Подключение, либо запуск сеанса из конфигуратора), поставьте точку останова в нужном месте кода и дождитесь остановки.

После остановки откройте окно «Вычислить выражение» (Ctrl+F9 или контекстное меню) и введите ПараметрыСеанса.ИмяПараметра. Отладчик покажет текущее значение, тип и для ссылочных типов — представление объекта. Через «Табло» можно закрепить несколько выражений и наблюдать их одновременно.

Для клиент-серверного режима убедитесь, что отладка включена на сервере (ключ -debug в параметрах запуска службы агента или включение через консоль кластера). Без этого серверные вызовы не остановятся на точках останова, и параметры, устанавливаемые на сервере, посмотреть не получится.

Просмотр параметра через отладчик
  1. 1
    Включите отладку: Отладка → Подключение или запуск из конфигуратора
  2. 2
    Поставьте точку останова в коде, где параметр уже установлен
  3. 3
    Дождитесь остановки и откройте «Вычислить выражение» (Ctrl+F9)
  4. 4
    Введите ПараметрыСеанса.ИмяПараметра и нажмите «Вычислить»
  5. 5
    Проверьте значение и тип; при необходимости добавьте выражение в табло

Просмотр через внешнюю обработку и консоль кода

Если конфигуратор недоступен (например, у вас только пользовательский режим с правами администратора), параметры можно посмотреть через любую обработку, выполняющую произвольный код: «Консоль кода», «Инструменты разработчика» и аналогичные решения. Вставьте туда цикл перебора параметров из раздела выше — результат появится в окне сообщений или в таблице значений.

Во многих типовых конфигурациях на базе БСП есть встроенные механизмы просмотра настроек: например, раздел «Администрирование» показывает часть значений, косвенно связанных с параметрами сеанса (текущий пользователь, функциональные опции). Это не полная замена, но для быстрой проверки «под кем я работаю» достаточно.

Учитывайте, что выполнение произвольного кода требует права «Администрирование» или «Толстый клиент» в зависимости от настроек. В файловой базе проще: откройте обработку через Файл → Открыть в режиме предприятия.

Чем параметры сеанса отличаются от других хранилищ настроек

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

Константа хранится в базе и общая для всех пользователей. Пользовательские настройки (ХранилищеОбщихНастроек) сохраняются между сеансами, но индивидуальны для пользователя. Функциональная опция — это механизм включения/отключения возможностей конфигурации, который может использовать параметр сеанса как носитель значения.

Где хранится значение

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

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

Константа

Хранится в базе, общая для всех. Подходит для глобальных настроек: валюта учёта, наименование организации

Хранилище настроек

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

Типичные ошибки и ограничения

Самая частая проблема — ошибка «Параметр сеанса не установлен» при попытке чтения. Причины: обработчик установки параметров завершился с исключением, параметр устанавливается по требованию и ещё не был запрошен, либо сеанс запущен в режиме, где часть логики не выполняется (фоновое задание, внешнее соединение).

Вторая ошибка — попытка посмотреть параметры чужого сеанса. Платформа не даёт штатного способа прочитать параметры другого сеанса: в консоли кластера видны только технические сведения (пользователь, компьютер, время начала, спящий сеанс), но не значения параметров прикладного решения. Для диагностики чужого сеанса подключайте отладку к нему или добавляйте логирование в код.

Третья ошибка — использование параметров сеанса для хранения больших данных (таблиц значений, массивов с тысячами элементов). Это раздувает память каждого сеанса и замедляет работу сервера. Параметры предназначены для небольших скалярных значений и ссылок.

Типичные ошибки
01
Чтение параметра без обработки исключения — сеанс падает с ошибкой «не установлен»
02
Попытка увидеть параметры чужого сеанса через консоль кластера — там их нет, нужна отладка
03
Хранение в параметрах больших коллекций — рост потребления памяти на каждый сеанс
04
Изменение параметра в рабочей базе для «теста» — нарушается работа RLS и отборов до конца сеанса

Как проверить, что параметр установлен корректно

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

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

Контрольные точки

Как проверить результат

Чтение параметра кодом
Норма

Возвращается значение ожидаемого типа

Тревожный признак

Исключение «параметр не установлен» или пустое значение

Соответствие справочнику
Норма

Значение совпадает с элементом базы (пользователь, организация)

Тревожный признак

Представление не найдено в базе — параметр устарел или установлен ошибочно

Поведение прикладного кода
Норма

Отборы и права работают как ожидается

Тревожный признак

RLS скрывает нужные данные или открывает лишние

При диагностике полезно выводить параметры в журнал регистрации через ЗаписьЖурналаРегистрации() при старте сеанса — тогда историю значений можно посмотреть задним числом, не подключая отладку к боевому серверу.
ПЗ
Практическое замечание

Частые вопросы

Можно ли посмотреть параметры сеанса без конфигуратора?

Да, если есть права на выполнение произвольного кода: откройте в режиме предприятия обработку типа «Консоль кода» и выполните цикл перебора Метаданные.ПараметрыСеанса с выводом значений. Без такой обработки и без прав разработчика посмотреть значения штатными средствами интерфейса нельзя.

Почему при чтении параметра возникает ошибка «не установлен»?

Значит, обработчик УстановкаПараметровСеанса не присвоил значение: либо завершился с ошибкой, либо не предусмотрел ваш режим запуска (фоновое задание, внешнее соединение, сеанс без пользователя). Всегда оборачивайте чтение в Попытка...Исключение и проверяйте логику модуля сеанса.

Видны ли параметры сеанса в консоли кластера серверов 1С?

Нет. Консоль кластера показывает технические сведения о сеансах: пользователь, имя компьютера, время начала, активность, признак спящего сеанса. Значения прикладных параметров сеанса там недоступны — их можно увидеть только через отладку или код внутри самого сеанса.

Можно ли изменить параметр сеанса вручную во время работы?

Технически да: ПараметрыСеанса.ИмяПараметра = НовоеЗначение. Но делать это в рабочей базе опасно — от параметров зависят ограничения доступа и отборы данных, и изменение действует до конца сеанса. Для экспериментов используйте тестовую копию базы.

Чем параметр сеанса отличается от функциональной опции?

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

Итог

Что важно запомнить

Список параметров смотрите в конфигураторе (Общие → Параметры сеанса), значения — кодом через ПараметрыСеанса.Имя, в отладчике или консоли кода. Чтение безопасно, изменение — только в тестовой базе. Ошибка «не установлен» означает проблему в обработчике УстановкаПараметровСеанса.