Администрирование · 11 мин
Как посмотреть параметры сеанса в 1С
Как посмотреть параметры сеанса в 1С: через конфигуратор, встроенный язык, отладчик и консоль кода. Примеры кода, типичные ошибки и проверка результата.
Параметры сеанса в 1С — это значения, которые платформа хранит в течение всего сеанса работы пользователя: текущий пользователь, период проведения документов, настройки отбора данных, служебные флаги. Они задаются при запуске сеанса и влияют на поведение прикладного решения, поэтому умение их посмотреть нужно и разработчику, и администратору.
Универсальной кнопки «показать параметры сеанса» в типовом интерфейсе нет: состав параметров определяется конкретной конфигурацией, а их значения живут в памяти сеанса. Поэтому просмотр выполняется либо через конфигуратор, либо программно — через встроенный язык, отладчик или внешнюю обработку.
Ниже разобраны рабочие способы: где в метаданных найти список параметров, как прочитать их значения кодом, как посмотреть значения в отладчике и какие ограничения стоит учитывать, чтобы не «сломать» сеанс при проверке.
Где в конфигураторе найти список параметров сеанса
Откройте конфигурацию на редактирование (Конфигурация → Открыть конфигурацию) и в дереве метаданных разверните ветку Общие → Параметры сеанса. Здесь перечислены все параметры, объявленные в конфигурации: их имена, типы и длина для строковых значений.
Двойной клик по параметру открывает палитру свойств, где видно тип значения — например, «СправочникСсылка.Пользователи», «ПеречислениеСсылка», «Булево» или «ФиксированныйМассив». Тип важен: он подсказывает, какое значение ожидать при чтении и как его корректно вывести.
Обратите внимание: конфигуратор показывает только описание параметров, но не их текущие значения. Значения существуют внутри запущенного сеанса и устанавливаются обработчиком УстановкаПараметровСеанса в модуле сеанса — именно там стоит искать логику, каким образом параметр получает своё значение.
Как прочитать значения параметров программно
Встроенный язык предоставляет глобальный объект ПараметрыСеанса, через который доступно чтение и установка значений. Простейший способ увидеть значение конкретного параметра — вывести его через Сообщить():
Сообщить("Текущий пользователь: " + ПараметрыСеанса.ТекущийПользователь);
Если нужно просмотреть все параметры разом, переберите их через метаданные и прочитайте каждое значение по имени:
Для Каждого Параметр Из Метаданные.ПараметрыСеанса Цикл
Попытка
Значение = ПараметрыСеанса[Параметр.Имя];
Сообщить(Параметр.Имя + " = " + Значение);
Исключение
Сообщить(Параметр.Имя + " — значение не установлено");
КонецПопытки;
КонецЦикла;
Конструкция Попытка...Исключение обязательна: если параметр не был установлен при запуске сеанса, обращение к нему вызывает исключение. Это частая причина ошибок «Параметр сеанса не установлен» — параметр объявлен, но обработчик его не заполнил (например, сеанс запущен без аутентификации или обработчик завершился с ошибкой).
Для сложных типов (ссылки на справочники, фиксированные массивы) прямой вывод даст строковое представление. Если нужна детализация, проверяйте тип через ТипЗнч() и обрабатывайте значение соответствующим образом.
Для Каждого Параметр Из Метаданные.ПараметрыСеанса Цикл
Попытка
Сообщить(Параметр.Имя + " = " + ПараметрыСеанса[Параметр.Имя]);
Исключение
Сообщить(Параметр.Имя + " — не установлен");
КонецПопытки;
КонецЦикла;Как посмотреть параметры в отладчике
Отладчик — самый наглядный инструмент, когда нужно посмотреть значения «здесь и сейчас», в том числе в чужом сеансе на сервере. Включите отладку (Отладка → Подключение, либо запуск сеанса из конфигуратора), поставьте точку останова в нужном месте кода и дождитесь остановки.
После остановки откройте окно «Вычислить выражение» (Ctrl+F9 или контекстное меню) и введите ПараметрыСеанса.ИмяПараметра. Отладчик покажет текущее значение, тип и для ссылочных типов — представление объекта. Через «Табло» можно закрепить несколько выражений и наблюдать их одновременно.
Для клиент-серверного режима убедитесь, что отладка включена на сервере (ключ -debug в параметрах запуска службы агента или включение через консоль кластера). Без этого серверные вызовы не остановятся на точках останова, и параметры, устанавливаемые на сервере, посмотреть не получится.
- 1Включите отладку: Отладка → Подключение или запуск из конфигуратора
- 2Поставьте точку останова в коде, где параметр уже установлен
- 3Дождитесь остановки и откройте «Вычислить выражение» (Ctrl+F9)
- 4Введите ПараметрыСеанса.ИмяПараметра и нажмите «Вычислить»
- 5Проверьте значение и тип; при необходимости добавьте выражение в табло
Просмотр через внешнюю обработку и консоль кода
Если конфигуратор недоступен (например, у вас только пользовательский режим с правами администратора), параметры можно посмотреть через любую обработку, выполняющую произвольный код: «Консоль кода», «Инструменты разработчика» и аналогичные решения. Вставьте туда цикл перебора параметров из раздела выше — результат появится в окне сообщений или в таблице значений.
Во многих типовых конфигурациях на базе БСП есть встроенные механизмы просмотра настроек: например, раздел «Администрирование» показывает часть значений, косвенно связанных с параметрами сеанса (текущий пользователь, функциональные опции). Это не полная замена, но для быстрой проверки «под кем я работаю» достаточно.
Учитывайте, что выполнение произвольного кода требует права «Администрирование» или «Толстый клиент» в зависимости от настроек. В файловой базе проще: откройте обработку через Файл → Открыть в режиме предприятия.
Чем параметры сеанса отличаются от других хранилищ настроек
Параметры сеанса часто путают с константами, настройками пользователя и функциональными опциями. Разница принципиальна: параметр сеанса живёт только в памяти текущего сеанса и не сохраняется в базе — при перезапуске он устанавливается заново обработчиком УстановкаПараметровСеанса.
Константа хранится в базе и общая для всех пользователей. Пользовательские настройки (ХранилищеОбщихНастроек) сохраняются между сеансами, но индивидуальны для пользователя. Функциональная опция — это механизм включения/отключения возможностей конфигурации, который может использовать параметр сеанса как носитель значения.
Где хранится значение
Только в памяти сеанса, не сохраняется в базе. Подходит для временных значений: текущий пользователь, отборы RLS
Хранится в базе, общая для всех. Подходит для глобальных настроек: валюта учёта, наименование организации
Сохраняется между сеансами, индивидуально для пользователя. Подходит для личных настроек интерфейса и отчётов
Типичные ошибки и ограничения
Самая частая проблема — ошибка «Параметр сеанса не установлен» при попытке чтения. Причины: обработчик установки параметров завершился с исключением, параметр устанавливается по требованию и ещё не был запрошен, либо сеанс запущен в режиме, где часть логики не выполняется (фоновое задание, внешнее соединение).
Вторая ошибка — попытка посмотреть параметры чужого сеанса. Платформа не даёт штатного способа прочитать параметры другого сеанса: в консоли кластера видны только технические сведения (пользователь, компьютер, время начала, спящий сеанс), но не значения параметров прикладного решения. Для диагностики чужого сеанса подключайте отладку к нему или добавляйте логирование в код.
Третья ошибка — использование параметров сеанса для хранения больших данных (таблиц значений, массивов с тысячами элементов). Это раздувает память каждого сеанса и замедляет работу сервера. Параметры предназначены для небольших скалярных значений и ссылок.
Как проверить, что параметр установлен корректно
После чтения значения сверьте его с ожидаемым источником. Например, параметр «ТекущийПользователь» должен совпадать с элементом справочника «Пользователи», привязанным к вашей учётной записи: откройте справочник и сравните представление. Параметры, связанные с функциональными опциями, сверяйте со значениями самих опций в разделе настроек.
Если значение пустое при том, что параметр установлен, проверьте логику обработчика УстановкаПараметровСеанса в модуле сеанса: возможно, ветка кода для вашего режима запуска не заполняет параметр. Пройдите обработчик отладчиком — точка останова в модуле сеанса срабатывает при старте сеанса.
Как проверить результат
Возвращается значение ожидаемого типа
Исключение «параметр не установлен» или пустое значение
Значение совпадает с элементом базы (пользователь, организация)
Представление не найдено в базе — параметр устарел или установлен ошибочно
Отборы и права работают как ожидается
RLS скрывает нужные данные или открывает лишние
При диагностике полезно выводить параметры в журнал регистрации через ЗаписьЖурналаРегистрации() при старте сеанса — тогда историю значений можно посмотреть задним числом, не подключая отладку к боевому серверу.
Частые вопросы
Можно ли посмотреть параметры сеанса без конфигуратора?
Да, если есть права на выполнение произвольного кода: откройте в режиме предприятия обработку типа «Консоль кода» и выполните цикл перебора Метаданные.ПараметрыСеанса с выводом значений. Без такой обработки и без прав разработчика посмотреть значения штатными средствами интерфейса нельзя.
Почему при чтении параметра возникает ошибка «не установлен»?
Значит, обработчик УстановкаПараметровСеанса не присвоил значение: либо завершился с ошибкой, либо не предусмотрел ваш режим запуска (фоновое задание, внешнее соединение, сеанс без пользователя). Всегда оборачивайте чтение в Попытка...Исключение и проверяйте логику модуля сеанса.
Видны ли параметры сеанса в консоли кластера серверов 1С?
Нет. Консоль кластера показывает технические сведения о сеансах: пользователь, имя компьютера, время начала, активность, признак спящего сеанса. Значения прикладных параметров сеанса там недоступны — их можно увидеть только через отладку или код внутри самого сеанса.
Можно ли изменить параметр сеанса вручную во время работы?
Технически да: ПараметрыСеанса.ИмяПараметра = НовоеЗначение. Но делать это в рабочей базе опасно — от параметров зависят ограничения доступа и отборы данных, и изменение действует до конца сеанса. Для экспериментов используйте тестовую копию базы.
Чем параметр сеанса отличается от функциональной опции?
Функциональная опция — механизм включения возможностей конфигурации, а параметр сеанса — хранилище значения в памяти сеанса. Опция может хранить своё значение в параметре сеанса: тогда при старте сеанса платформа автоматически заполняет параметр значением опции, и его можно прочитать обычным способом.
Что важно запомнить
Список параметров смотрите в конфигураторе (Общие → Параметры сеанса), значения — кодом через ПараметрыСеанса.Имя, в отладчике или консоли кода. Чтение безопасно, изменение — только в тестовой базе. Ошибка «не установлен» означает проблему в обработчике УстановкаПараметровСеанса.