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