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

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

Как выгнать активных пользователей из базы 1С

Как завершить сеансы активных пользователей в 1С: консоль кластера, конфигуратор, «Активные пользователи», регламентные блокировки. Безопасные способы и риски.

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

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

Определите режим работы базы и кого нужно отключить

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

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

Файловый режимБаза — файл 1Cv8.1CD в общей папке

Консоль кластера недоступна, используйте «Активные пользователи» и блокировку через код или типовые механизмы

Клиент-серверный режимЕсть сервер 1С:Предприятия

Все сеансы видны в консоли кластера, доступно централизованное завершение

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

Проверьте колонку «Время вызова СУБД» и текущую активность в консоли, возможен спящий сеанс

Нужно обновить конфигурациюОбновление требует монопольного доступа

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

Просмотр активных пользователей через конфигуратор

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

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

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

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

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

Чтобы завершить конкретный сеанс, выделите его в списке и выберите в контекстном меню «Удалить». Сеанс будет завершён сервером: у пользователя появится сообщение о разрыве соединения, несохранённые данные пропадут. Фоновые задания и регламентные задания отображаются в том же списке — их тоже нужно завершить, если требуется монопольный доступ.

Порядок действий в консоли кластера
  1. 1
    Откройте оснастку «Администрирование серверов 1С Предприятия» и подключитесь к нужному кластеру
  2. 2
    Разверните кластер → «Информационные базы» → выберите базу → вкладка «Сеансы»
  3. 3
    Убедитесь, что пользователи предупреждены и сохранили данные
  4. 4
    Установите блокировку сеансов: свойства базы → «Блокировка сеансов установлена», задайте сообщение и код разблокировки
  5. 5
    Дождитесь выхода пользователей или завершите оставшиеся сеансы через «Удалить»
  6. 6
    Проверьте, что список сеансов пуст, включая фоновые задания
  7. 7
    Выполните регламентные работы, затем снимите блокировку сеансов

Обратите внимание на различие «Сеансы» и «Соединения» в консоли. Соединение — это сетевое подключение к рабочему процессу, сеанс — логическая сессия пользователя. Для «выгона» пользователя удаляют именно сеанс; удаление соединения без сеанса обычно не требуется.

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

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

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

Файловый режим: как завершить работу пользователей

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

Если пользователь оставил 1С открытой и ушёл, а база нужна монопольно, допустим вариант завершить процесс 1cv8.exe на его компьютере (например, через диспетчер задач по RDP или удалённо). Это грубый способ: несохранённые данные будут потеряны, а при активной записи в момент обрыва есть риск повреждения файловой базы. Используйте его только когда штатные способы недоступны, и после этого прогоните «Тестирование и исправление» базы.

Программное завершение сеансов через встроенный язык

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

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

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

Зависшие сеансы и блокировки: что делать, если сеанс не удаляется

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

Если зависший сеанс держит управляемые блокировки и мешает работе других, после удаления сеанса блокировки снимаются автоматически. Хуже ситуация с блокировками на уровне СУБД: их видно в консоли кластера в разделе «Блокировки» либо средствами СУБД (например, Activity Monitor в MS SQL Server). Снимать блокировки на уровне СУБД вручную стоит только понимая, какой процесс вы завершаете.

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

Проверка результата и возврат к работе

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

По окончании работ снимите блокировку сеансов и убедитесь, что пользователи могут войти: попросите кого-то подключиться или проверьте сами под тестовой учётной записью. Если блокировка снимается через типовую обработку, проверьте, что расписание блокировки не перезапишет ваши изменения.

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

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

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

Сеансов нет или только ваш административный

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

Остались пользовательские или фоновые сеансы

Блокировка сеансов
Норма

Флаг установлен, задан код разблокировки

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

Блокировки нет — пользователи заходят во время работ

Вход после снятия блокировки
Норма

Пользователь входит штатно, без сообщения о блокировке

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

Появляется сообщение о блокировке или ошибка соединения

Файловая база после принудительного обрыва
Норма

База открывается, тестирование без ошибок

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

Ошибки открытия или сообщения о нарушении целостности

Итог

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

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

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

Можно ли выгнать только одного пользователя, не трогая остальных?

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

Пользователь вышел, а сеанс в консоли остался. Это нормально?

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

Как выгнать пользователей, если нет доступа к консоли кластера?

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

Что будет с несохранёнными данными пользователя при удалении сеанса?

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

Обновление конфигурации пишет, что база занята, хотя все вышли. Что проверить?

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

Опасно ли завершать процесс rphost на сервере?

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