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

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

Как выкинуть пользователя из базы 1С

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

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

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

Ниже разобраны все рабочие способы: от консоли кластера серверов 1С до программного кода, а также проверка результата и типичные ошибки администраторов.

Определяем режим работы базы

Первый шаг — понять, как развёрнута база. Откройте «Сервис» → «О программе» или строку подключения в списке информационных баз. Если путь выглядит как Srvr="Server1";Ref="Base1" — база клиент-серверная, и сеансами управляет кластер 1С. Если путь ведёт в сетевую папку вида \\server\share\base — база файловая.

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

Отключение через консоль кластера серверов 1С

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

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

Порядок действий в консоли кластера
  1. 1
    Откройте оснастку «Администрирование серверов 1С:Предприятия»
  2. 2
    Раскройте кластер и перейдите в раздел «Сеансы»
  3. 3
    Найдите пользователя по имени или компьютеру
  4. 4
    Щёлкните правой кнопкой → «Удалить» и подтвердите
  5. 5
    Обновите список и убедитесь, что сеанс исчез

Если сеансов много, удобнее отсортировать список по колонке «Пользователь» или «Компьютер». Обратите внимание на колонку «Приложение»: там может быть не только тонкий или толстый клиент, но и фоновые задания, COM-соединения, веб-сервисы. Удаление фонового сеанса прервёт выполняющуюся обработку — делайте это осознанно.

Завершение сеансов из конфигуратора и предприятия

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

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

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

Отключение пользователя в файловой базе

В файловой базе нет сервера приложений, поэтому единственный способ принудительно завершить чужую работу — воздействовать на процесс на компьютере пользователя. Если у вас есть административный доступ к его машине, можно удалённо завершить процесс 1cv8.exe через диспетчер задач (вкладка «Пользователи») или командой taskkill.

cmd
taskkill /S PC-USER /IM 1cv8.exe /F

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

Более безопасная практика для файловых баз — договориться о регламенте: пользователи сами выходят по запросу, а для обновлений используется скрипт, проверяющий наличие файла блокировки 1Cv8.1CL и активных подключений.

Программное завершение сеансов через код

Для автоматизации (например, выгонять всех перед ночным обновлением) используется COM-объект «V83.COMConnector» и административный интерфейс кластера: скрипт подключается к агенту сервера, получает список сеансов рабочего процесса и вызывает метод завершения. Такие скрипты пишут на встроенном языке 1С, PowerShell или через пакетный режим конфигуратора с обработкой.

Альтернатива — утилита RAC из состава сервера 1С. Она позволяет управлять кластером из командной строки, включая завершение сеансов по фильтру. Это удобно для планировщика задач: скрипт ставит блокировку, ждёт несколько минут, затем завершает оставшиеся сеансы и запускает обновление.

Перед автоматическим отключением добавьте в скрипт паузу 5–10 минут после установки блокировки сеансов. Большинство пользователей за это время успевают сохранить работу и выйти сами, а принудительно завершать придётся единицы.
ПЗ
Практическое замечание

Проверка результата и типичные ошибки

После завершения сеанса обновите список в консоли кластера — строка пользователя должна исчезнуть. Если сеанс появился снова через несколько секунд, у пользователя включено автоматическое переподключение или работает обработка, восстанавливающая соединение. В этом случае сначала установите блокировку сеансов, иначе борьба будет бесконечной.

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

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

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

Сеанса пользователя нет после обновления списка

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

Сеанс появился вновь — работает переподключение, нужна блокировка

Монопольный режим в конфигураторе
Норма

Устанавливается без ошибок

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

Ошибка «Информационная база используется» — остались активные сеансы

Экран пользователя
Норма

Сообщение о разрыве соединения, 1С закрыта

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

Программа зависла — завершить процесс локально

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

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

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

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

Можно ли выкинуть пользователя, не имея доступа к серверу 1С?

Нет. Завершение сеансов — административная операция, требующая прав администратора кластера (для клиент-серверной базы) или доступа к компьютеру пользователя (для файловой). Из обычного сеанса «Предприятия» отключить коллегу нельзя — только попросить его выйти.

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

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

Почему после удаления сеанса лицензия не освободилась сразу?

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

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

Установите блокировку сеансов в параметрах информационной базы (с сообщением и временем), подождите 5–10 минут, затем в консоли кластера удалите оставшиеся сеансы. Для регулярных обновлений удобнее автоматизировать это скриптом через утилиту RAC или COM-соединение.

Что делать, если сеанс «завис» и не удаляется из консоли?

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

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

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