Администрирование · 9 мин
Как выкинуть пользователя из базы 1С
Как принудительно завершить сеанс пользователя в 1С: через консоль кластера, конфигуратор, командную строку и код. Риски, проверка результата и типичные ошибки.
Принудительно завершить сеанс пользователя в 1С требуется, когда нужно установить монопольный доступ для обновления конфигурации, снять зависшее соединение, освободить лицензию или срочно заблокировать доступ уволенному сотруднику. Способ зависит от режима работы базы: файловая и клиент-серверная версии управляются по-разному, и инструмент, который работает в одном случае, бесполезен в другом.
Главный риск при отключении — потеря несохранённых данных пользователя и, в редких случаях, повреждение открытой транзакции. Поэтому перед принудительным завершением стоит попробовать штатные механизмы: предупреждение через «Активные пользователи» или мягкую блокировку сеансов. Жёсткое «выкидывание» — крайняя мера.
Ниже разобраны все рабочие способы: от консоли кластера серверов 1С до программного кода, а также проверка результата и типичные ошибки администраторов.
Определяем режим работы базы
Первый шаг — понять, как развёрнута база. Откройте «Сервис» → «О программе» или строку подключения в списке информационных баз. Если путь выглядит как Srvr="Server1";Ref="Base1" — база клиент-серверная, и сеансами управляет кластер 1С. Если путь ведёт в сетевую папку вида \\server\share\base — база файловая.
В файловом режиме централизованного механизма отключения нет: платформа не имеет консоли управления сеансами, поэтому приходится действовать либо уговорами, либо через операционную систему. В клиент-серверном режиме администратор кластера может завершить любой сеанс за несколько кликов.
Отключение через консоль кластера серверов 1С
Это основной способ для клиент-серверных баз. Откройте оснастку «Администрирование серверов 1С:Предприятия» на сервере или на своём компьютере, если консоль подключена к серверу по сети. Раскройте нужный кластер, затем ветку «Сеансы» — появится список всех активных подключений с указанием пользователя, компьютера, приложения и времени начала.
Найдите нужного пользователя в списке, щёлкните по строке правой кнопкой мыши и выберите «Удалить». Сеанс завершается немедленно, у пользователя на экране появится сообщение о разрыве соединения с сервером. Все несохранённые данные в открытых документах будут потеряны.
- 1Откройте оснастку «Администрирование серверов 1С:Предприятия»
- 2Раскройте кластер и перейдите в раздел «Сеансы»
- 3Найдите пользователя по имени или компьютеру
- 4Щёлкните правой кнопкой → «Удалить» и подтвердите
- 5Обновите список и убедитесь, что сеанс исчез
Если сеансов много, удобнее отсортировать список по колонке «Пользователь» или «Компьютер». Обратите внимание на колонку «Приложение»: там может быть не только тонкий или толстый клиент, но и фоновые задания, COM-соединения, веб-сервисы. Удаление фонового сеанса прервёт выполняющуюся обработку — делайте это осознанно.
Завершение сеансов из конфигуратора и предприятия
В конфигураторе откройте «Администрирование» → «Параметры информационной базы». Здесь можно установить блокировку сеансов: задать время начала и окончания блокировки, код разрешения и сообщение пользователям. Новые подключения будут отклонены, а действующим пользователям система покажет предупреждение с просьбой завершить работу.
Сама по себе блокировка не выкидывает уже подключённых — она лишь запрещает новые входы и «мягко» просит выйти. Чтобы выгнать всех принудительно, в клиент-серверном варианте в том же окне параметров есть возможность завершения сеансов (в типовых конфигурациях на БСП — обработка «Блокировка работы пользователей» в разделе «Администрирование» → «Обслуживание»).
В режиме «Предприятие» список подключённых пользователей виден через «Сервис» → «Активные пользователи» (в типовых — «Администрирование» → «Активные пользователи»). Отсюда можно увидеть, кто в базе, сколько сеансов открыто и когда человек вошёл, но напрямую отключить его из этого окна нельзя — только связаться и попросить выйти.
Отключение пользователя в файловой базе
В файловой базе нет сервера приложений, поэтому единственный способ принудительно завершить чужую работу — воздействовать на процесс на компьютере пользователя. Если у вас есть административный доступ к его машине, можно удалённо завершить процесс 1cv8.exe через диспетчер задач (вкладка «Пользователи») или командой taskkill.
taskkill /S PC-USER /IM 1cv8.exe /FКоманда завершит все процессы 1С на удалённом компьютере PC-USER. Это «грязное» отключение: файл базы при этом обычно остаётся целым, но несохранённые данные теряются, а при неудачном стечении обстоятельств (запись в момент разрыва) возможны ошибки базы, которые лечатся тестированием и исправлением.
Более безопасная практика для файловых баз — договориться о регламенте: пользователи сами выходят по запросу, а для обновлений используется скрипт, проверяющий наличие файла блокировки 1Cv8.1CL и активных подключений.
Программное завершение сеансов через код
Для автоматизации (например, выгонять всех перед ночным обновлением) используется COM-объект «V83.COMConnector» и административный интерфейс кластера: скрипт подключается к агенту сервера, получает список сеансов рабочего процесса и вызывает метод завершения. Такие скрипты пишут на встроенном языке 1С, PowerShell или через пакетный режим конфигуратора с обработкой.
Альтернатива — утилита RAC из состава сервера 1С. Она позволяет управлять кластером из командной строки, включая завершение сеансов по фильтру. Это удобно для планировщика задач: скрипт ставит блокировку, ждёт несколько минут, затем завершает оставшиеся сеансы и запускает обновление.
Перед автоматическим отключением добавьте в скрипт паузу 5–10 минут после установки блокировки сеансов. Большинство пользователей за это время успевают сохранить работу и выйти сами, а принудительно завершать придётся единицы.
Проверка результата и типичные ошибки
После завершения сеанса обновите список в консоли кластера — строка пользователя должна исчезнуть. Если сеанс появился снова через несколько секунд, у пользователя включено автоматическое переподключение или работает обработка, восстанавливающая соединение. В этом случае сначала установите блокировку сеансов, иначе борьба будет бесконечной.
Как проверить результат
Сеанса пользователя нет после обновления списка
Сеанс появился вновь — работает переподключение, нужна блокировка
Устанавливается без ошибок
Ошибка «Информационная база используется» — остались активные сеансы
Сообщение о разрыве соединения, 1С закрыта
Программа зависла — завершить процесс локально
Что важно запомнить
В клиент-серверной базе сеанс удаляется через консоль кластера, в файловой — через завершение процесса на компьютере пользователя. Сначала ставьте блокировку сеансов и предупреждайте людей, принудительное отключение — последний шаг. После завершения проверьте, что сеанс не восстановился.
Частые вопросы
Можно ли выкинуть пользователя, не имея доступа к серверу 1С?
Нет. Завершение сеансов — административная операция, требующая прав администратора кластера (для клиент-серверной базы) или доступа к компьютеру пользователя (для файловой). Из обычного сеанса «Предприятия» отключить коллегу нельзя — только попросить его выйти.
Потеряет ли пользователь данные при принудительном завершении сеанса?
Да, всё несохранённое будет потеряно: открытые незаписанные документы, введённые строки, настройки форм текущего сеанса. Записанные в базу данные не пострадают. Поэтому перед отключением дайте пользователям хотя бы несколько минут на сохранение.
Почему после удаления сеанса лицензия не освободилась сразу?
Кластер и сервер лицензирования могут удерживать лицензию некоторое время после разрыва соединения. Обычно она освобождается в течение нескольких минут. Если лицензия «зависла» надолго, проверьте список сеансов — возможно, пользователь переподключился, или остался «спящий» сеанс.
Как выгнать всех пользователей разом перед обновлением?
Установите блокировку сеансов в параметрах информационной базы (с сообщением и временем), подождите 5–10 минут, затем в консоли кластера удалите оставшиеся сеансы. Для регулярных обновлений удобнее автоматизировать это скриптом через утилиту RAC или COM-соединение.
Что делать, если сеанс «завис» и не удаляется из консоли?
Попробуйте удалить его повторно через пару минут — кластеру нужно время на разрыв. Если сеанс не исчезает, проверьте рабочие процессы кластера: иногда помогает перезапуск рабочего процесса, в котором завис сеанс. В крайнем случае перезапускается служба агента сервера 1С, но это отключит всех пользователей кластера.
Можно ли запретить пользователю вход навсегда, а не только выкинуть?
Да. Откройте список пользователей информационной базы (в конфигураторе — «Администрирование» → «Пользователи»), снимите у нужного флажок «Вход в программу разрешён» или удалите пользователя. После этого он не сможет войти даже после завершения текущего сеанса.