Администрирование · 10 мин
Как выкинуть пользователей из базы 1С
Как принудительно завершить сеансы пользователей в 1С: консоль кластера, администрирование в конфигураторе, блокировка базы, команды и типичные ошибки администраторов.
Завершить сеансы пользователей в 1С нужно перед обновлением конфигурации, восстановлением из архива, обслуживанием SQL-базы или при зависшем сеансе, который держит блокировки. Способ зависит от режима работы: файловая база или клиент-серверный вариант на сервере 1С:Предприятия.
Главное различие: в клиент-серверном режиме сеансами управляет кластер серверов, и выгонять пользователей можно централизованно через консоль. В файловом режиме централизованного механизма нет — приходится использовать программные средства, например функцию блокировки сеансов из типовых конфигураций.
Независимо от способа действует одно правило: сначала предупредить пользователей и дать им сохранить данные, потом установить блокировку новых входов, и только затем завершать оставшиеся сеансы. Так вы не потеряете несохранённые документы и не получите конфликты при обновлении.
Когда и зачем завершать сеансы пользователей
Обновление конфигурации базы данных в конфигураторе невозможно, пока к базе подключены другие пользователи — платформа выдаст ошибку монопольного доступа. То же относится к загрузке выгрузки .dt, тестированию и исправлению, очистке ссылок на удалённые объекты.
Вторая частая ситуация — зависший сеанс. Пользователь давно закрыл программу, но сеанс в кластере остался и держит блокировки регистров или просто занимает лицензию. Такие «фантомы» выявляют по длительному времени бездействия и завершают точечно, не трогая остальных.
Третий сценарий — аварийное обслуживание: перезапуск SQL-сервера, регламентные работы с дисками, восстановление после сбоя. Здесь важна скорость, но и здесь нельзя пропускать этап блокировки входа, иначе пользователи будут переподключаться быстрее, чем вы их отключаете.
Консоль кластера серверов: основной способ для клиент-серверной 1С
Консоль администрирования серверов 1С:Предприятия устанавливается вместе с сервером и доступна администратору. Откройте её, разверните нужный кластер, найдите информационную базу и перейдите на вкладку «Сеансы». Здесь видно всех подключённых пользователей: имя, компьютер, время начала сеанса, длительность простоя.
Выделите один сеанс или несколько (через Ctrl или Shift) и нажмите «Удалить» в контекстном меню. Сеанс завершается принудительно — несохранённые данные пользователя теряются, поэтому предварительное предупреждение обязательно. Отдельно проверьте вкладку «Соединения»: иногда соединение остаётся после удаления сеанса, и его тоже нужно снять.
- 1Откройте консоль администрирования серверов 1С и найдите нужный кластер
- 2В свойствах информационной базы включите блокировку начала сеансов с сообщением для пользователей
- 3Подождите 5–10 минут, пока пользователи завершат работу
- 4Откройте вкладку «Сеансы», выделите оставшиеся сеансы и удалите их
- 5Проверьте вкладку «Соединения» и завершите висящие соединения
- 6Выполните обслуживание, затем снимите блокировку сеансов
Блокировка сеансов в свойствах базы
В консоли кластера откройте свойства информационной базы. Установите флаг «Блокировка начала сеансов включена», задайте сообщение, которое увидят пользователи при попытке входа, и при необходимости — код разрешения. Код разрешения позволяет администратору зайти в заблокированную базу, указав его в параметре /UC при запуске.
Блокировка действует только на новые сеансы: уже подключённые пользователи продолжают работать. Поэтому блокировка — первый шаг, а не замена завершению сеансов.
Блокировка работы пользователей из типовой конфигурации
В конфигурациях на базе Библиотеки стандартных подсистем (БСП) — это практически все типовые решения: Бухгалтерия, Зарплата и управление персоналом, Управление торговлей, ERP — есть штатный механизм блокировки. Он находится в разделе «Администрирование» → «Обслуживание» → «Блокировка работы пользователей» (в некоторых версиях путь слегка отличается).
При установке блокировки активным пользователям автоматически приходит сообщение с просьбой завершить работу, а по истечении заданного времени их сеансы завершаются принудительно. Это самый безопасный способ для файловых баз, где консоли кластера нет.
Файловая база: как выкинуть пользователей без консоли кластера
В файловом режиме все подключения видны в конфигураторе: «Администрирование» → «Активные пользователи». Список показывает пользователей и их компьютеры, но кнопки «отключить» здесь нет — платформа в файловом режиме не даёт принудительно снять чужой сеанс из этого окна.
Рабочие варианты: блокировка работы пользователей из типовой конфигурации, договорённость с пользователями по внутреннему каналу связи, либо завершение процесса 1cv8.exe на компьютере пользователя — удалённо через диспетчер задач, PsExec или групповые политики, если у вас есть права администратора домена.
Крайняя мера — перезапуск службы агента сервера или перезагрузка компьютера, где открыт файл базы, если база лежит на файловом сервере. Это грубый способ: открытые транзакции оборвутся, возможна необходимость тестирования и исправления базы. Применяйте его только когда файловый сервер можно обслуживать.
Программные способы и скрипты
Для автоматизации обслуживания удобно завершать сеансы через административный интерфейс. В клиент-серверном режиме можно использовать COM-коннектор V83.COMConnector либо утилиту RAC (Remote Administration Client) из состава сервера — она позволяет из командной строки получить список сеансов и снять их, а также включить блокировку.
Типовая последовательность скрипта обслуживания: rac session terminate для нужной базы с фильтром по всем сеансам, затем запуск конфигураторного обновления пакетным режимом, затем снятие блокировки. Такой скрипт обычно ставят в планировщик для ночных регламентных работ.
Внутри кода 1С для клиент-серверного режима доступен объект «БлокировкаСеансов» и методы работы с сеансами через СоединенияИБ — типовые обработчики БСП используют именно его. Самописные решения на этой базе требуют права «Администрирование» и тестирования на копии базы.
rac session terminate --cluster=<ид_кластера> --infobase=<ид_базы> --session=<ид_сеанса>Типичные ошибки и как их избежать
Самая частая ошибка — удалить сеансы, но забыть включить блокировку. Пользователи тут же заходят обратно, и обновление конфигурации снова упирается в занятую базу. Правильный порядок всегда один: блокировка → ожидание → завершение оставшихся сеансов → обслуживание → снятие блокировки.
Вторая ошибка — завершать сеансы без предупреждения в рабочее время. Пользователь теряет непроведённый документ или заполненную форму, а администратор получает конфликт с бухгалтерией. Даже при аварийной ситуации потратьте минуту на рассылку сообщения.
Третья ошибка — путать сеанс и соединение. После удаления сеанса на вкладке «Соединения» может остаться запись, которая продолжает держать соединение с СУБД. Если после завершения всех сеансов база всё ещё «занята», проверьте именно соединения и фоновые задания — регламентные задания тоже создают сеансы типа «Фоновое задание».
Как проверить результат
Сеансов нет либо остался только ваш сеанс администратора
Остаются сеансы пользователей или фоновых заданий
Нет активных соединений с базой
Есть соединения без сеансов — их нужно завершить
Конфигуратор открывается и позволяет обновление
Ошибка монопольного доступа — база ещё занята
Пользователь входит и работает штатно
Сообщение о блокировке — флаг не снят
Часто задаваемые вопросы
Можно ли выкинуть пользователя из файловой базы удалённо?
Штатной кнопки в платформе для этого нет. Используйте блокировку работы пользователей из типовой конфигурации, а если сеанс завис — завершите процесс 1cv8.exe на компьютере пользователя удалённо через диспетчер задач, PsExec или средства удалённого администрирования с правами администратора.
Почему после удаления всех сеансов база всё равно занята?
Проверьте три места: вкладку «Соединения» в консоли кластера, фоновые и регламентные задания (они создают собственные сеансы) и не забыт ли открытым конфигуратор у другого администратора. Также убедитесь, что блокировка входа включена, иначе кто-то мог успеть переподключиться.
Что такое код разрешения при блокировке сеансов?
Это строка, которая задаётся в свойствах базы при включении блокировки. Администратор может войти в заблокированную базу, добавив параметр /UC с этим кодом в командную строку запуска. Это удобно для проверки базы после обслуживания до открытия доступа всем.
Потеряются ли данные пользователей при принудительном завершении сеанса?
Да, всё несохранённое — непроведённые документы, открытые заполненные формы — будет потеряно. Записанные в базу данные не пострадают, но оборванная посередине транзакция откатится. Поэтому всегда предупреждайте пользователей и давайте время на завершение работы.
Как автоматически выгонять пользователей ночью для регламентных работ?
Настройте скрипт с утилитой RAC: включение блокировки, пауза, завершение всех сеансов базы, обслуживание, снятие блокировки. Поставьте скрипт в планировщик задач Windows. В типовых конфигурациях дополнительно можно запланировать блокировку через настройку завершения работы пользователей.
Может ли обычный пользователь завершить чужой сеанс?
Нет. Завершение сеансов через консоль кластера требует прав администратора кластера или информационной базы, а установка блокировки в типовой конфигурации — права «Администрирование». Обычный пользователь может завершить только свой собственный сеанс.
Что важно запомнить
В клиент-серверной 1С пользователей выгоняют через консоль кластера: вкладка «Сеансы» → удалить, предварительно включив блокировку входа. В файловой базе работает блокировка из типовой конфигурации и завершение процессов на компьютерах пользователей. Порядок всегда один: предупредить, заблокировать вход, завершить сеансы, проверить соединения и фоновые задания, после обслуживания снять блокировку.