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

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

Как завершить сеанс в 1С

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

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

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

Ниже разобраны все основные сценарии: от штатного выхода до принудительного снятия зависших сеансов, а также проверка результата и типичные ошибки, которые приводят к потере несохранённых данных.

Что такое сеанс и почему он не всегда закрывается сам

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

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

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

Как пользователю завершить свой сеанс штатно

Штатный выход — самый безопасный способ: программа корректно закрывает открытые формы, предлагает записать незаписанные документы и освобождает лицензию сразу. В толстом и тонком клиенте используйте меню Файл → Завершить работу или просто закройте главное окно крестиком.

Если в базе есть незаписанные или изменённые объекты, 1С выдаст предупреждение. Не игнорируйте его: при подтверждении выхода без записи изменения будут потеряны. Перед закрытием проверьте открытые окна документов и отчётов.

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

Штатный выход пользователя
  1. 1
    Сохраните и запишите все открытые документы и отчёты.
  2. 2
    Откройте меню Файл → Завершить работу (или закройте главное окно).
  3. 3
    Подтвердите выход, если программа задаст вопрос.
  4. 4
    Проверьте, что процесс 1cv8.exe исчез из диспетчера задач.

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

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

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

Дополнительно полезен пункт Соединения в той же консоли: он показывает физические соединения с рабочими процессами сервера. Зависший сеанс часто виден именно там — соединение существует, но активности по нему нет.

Сеанс активен, пользователь работаетШтатная ситуация

Договоритесь о времени выхода, не завершайте сеанс без предупреждения

Пользователя нет, сеанс виситЗависший сеанс

Проверьте время последней активности в консоли кластера

Нужен монопольный режимМешают любые сеансы

Завершите все сеансы, включая фоновые задания

Завершение сеанса в клиент-серверном варианте через консоль кластера

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

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

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

Завершение сеансов в файловой базе

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

Практические способы принудительного завершения: отключить общий сетевой доступ к папке с базой на время, перезагрузить компьютер, на котором открыта база, или снять процесс 1cv8.exe на машине пользователя через диспетчер задач. Все эти методы грубые и чреваты потерей несохранённых данных.

Если файл-сервером служит отдельный компьютер, на нём в оснастке «Управление компьютером → Общие папки → Открытые файлы» можно увидеть и закрыть открытые файлы базы. Это разорвёт подключение, но у пользователя программа завершится с ошибкой.

Сравнение вариантов

Штатный выход пользователя

Безопасно, данные сохраняются; требует участия самого пользователя

Консоль кластера (клиент-сервер)

Быстро и точечно, но обрывает работу без сохранения; нужны права администратора сервера

Снятие процесса / разрыв сети (файловая база)

Крайняя мера при недоступности пользователя; риск потери данных и повреждения открытых таблиц при записи

Блокировка сеансов и завершение работы по расписанию

Чтобы не «выгонять» пользователей вручную перед регламентными операциями, в клиент-серверном варианте используйте блокировку соединений с информационной базой. В консоли кластера откройте свойства базы и установите флаг «Блокировка регламентных заданий включена» и параметры блокировки сеансов: время начала, сообщение пользователям и код разрешения для входа администратора.

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

После окончания работ не забудьте снять блокировку, иначе пользователи не смогут войти. Администратор заходит в базу с кодом разрешения (параметр запуска /UC или указание кода в диалоге блокировки).

Что делать с зависшим сеансом

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

Обычно сервер сам снимает такие сеансы по тайм-ауту, но ждать необязательно: зависший сеанс можно удалить вручную через консоль кластера, как описано выше. Это безопасно, поскольку реальной работы в сеансе нет.

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

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

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

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

Завершённый сеанс отсутствует в списке

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

Сеанс снова появляется — пользователь переподключается или работает регламентное задание

Установка монопольного режима
Норма

Режим устанавливается без ошибок

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

Ошибка о наличии активных соединений — остались сеансы или соединения

Занятые лицензии
Норма

Количество занятых лицензий соответствует реально работающим

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

Лицензии заняты при пустом списке пользователей — зависшие сеансы

Типичные ошибки при завершении сеансов

Типичные ошибки
01
Удаление сеанса без предупреждения — пользователь теряет несохранённые документы и результаты длительных операций
02
Завершение сеанса во время проведения большого пакета документов — риск промежуточного состояния данных
03
Попытка установить монопольный режим без проверки фоновых заданий — регламентные задания тоже держат соединения
04
Снятие процесса 1cv8.exe на клиенте вместо удаления сеанса на сервере — сеанс на сервере продолжает висеть
05
Забытая блокировка соединений после обновления — пользователи не могут войти в базу

Отдельная ошибка — путать сеансы и соединения. Удаление соединения в консоли не всегда сразу снимает сеанс, и наоборот. Для надёжного результата завершайте сеанс, а затем проверяйте список соединений.

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

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

Можно ли завершить сеанс другого пользователя без прав администратора?

Нет. Принудительное завершение чужих сеансов требует прав администратора кластера серверов (в клиент-серверном варианте) или полных прав в конфигурации. Обычный пользователь может завершить только свой собственный сеанс.

Пользователь вышел, но лицензия не освободилась. Что делать?

Это типичный зависший сеанс. Откройте консоль кластера, найдите сеанс этого пользователя и удалите его вручную. Если такое происходит постоянно, проверьте сетевые настройки и тайм-ауты кластера.

Чем отличается завершение сеанса от разрыва соединения?

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

Как завершить все сеансы перед обновлением конфигурации?

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

Потеряются ли данные при принудительном завершении сеанса?

Несохранённые данные (незаписанные документы, изменения в открытых формах) будут потеряны. Уже записанные в базу объекты не пострадают, но обрыв сеанса в момент транзакции может оставить операцию незавершённой — поэтому предупреждайте пользователей заранее.

Итог

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

Штатный выход — через Файл → Завершить работу. Чужие и зависшие сеансы снимаются через консоль кластера (клиент-сервер) или косвенными способами в файловой базе. Перед регламентными операциями используйте блокировку соединений, а принудительное завершение применяйте только после предупреждения пользователя — несохранённые данные будут потеряны.