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

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

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

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

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

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

Как понять, кто сейчас работает в базе

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

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

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

Клиент-серверная базаЕсть консоль кластера

Сеансы завершаются централизованно из консоли

Файловая базаНет кластера серверов

Нужна блокировка базы или завершение процессов на ПК

Сеанс висит, но пользователь ушёл«Спящий» сеанс

Безопасно завершать — данные не потеряются

Активная запись данныхСеанс проводит документы

Риск обрыва транзакции — лучше дождаться завершения

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

Это основной и самый надёжный способ для клиент-серверных баз. Консоль кластера устанавливается вместе с сервером 1С:Предприятия и запускается через ярлык «Администрирование серверов 1С Предприятия» либо файлом 1CV8 Servers.msc в каталоге установки.

Порядок действий в консоли кластера
  1. 1
    Откройте консоль кластера и разверните нужный кластер с именем сервера и портом (по умолчанию 1541)
  2. 2
    Перейдите в ветку «Сеансы» — отобразится список всех активных сеансов всех баз кластера
  3. 3
    При необходимости отфильтруйте список по информационной базе, чтобы не затронуть другие базы
  4. 4
    Выделите нужные сеансы (Ctrl+A — все, Ctrl+клик — выборочно)
  5. 5
    Нажмите Delete или выберите «Удалить» в контекстном меню и подтвердите действие
  6. 6
    Проверьте, что список пуст или остались только нужные сеансы

Учтите: если в консоли зарегистрировано несколько кластеров или баз, список сеансов будет общим. Фильтруйте по колонке «Информационная база», чтобы случайно не завершить сеансы соседней рабочей базы — это одна из самых неприятных ошибок администратора.

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

Блокировка информационной базы, чтобы пользователи не заходили снова

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

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

Код разрешения указывается в строке запуска клиентского приложения через параметр /UC — это позволяет администратору зайти в заблокированную базу, например, для обновления конфигурации.

bash
"C:\Program Files\1cv8\8.3.24.1467\bin\1cv8.exe" ENTERPRISE /S"Server1C\BaseName" /UC"12345"

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

Как выкинуть пользователей из файловой базы

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

Если база открывается напрямую по сетевому пути, единственный способ выгнать конкретного пользователя — завершить процесс 1cv8.exe на его компьютере. Это делается удалённо через диспетчер задач терминального сервера, PowerShell (Stop-Process) или путём личного обращения к пользователю. Грубое завершение процесса на удалённой машине допустимо только как крайняя мера: незавершённые транзакции в файловой базе повышают риск повреждения файла 1Cv8.1CD.

На терминальном сервере (RDS) задача проще: администратор видит все сессии пользователей и может завершить процесс 1cv8.exe конкретного пользователя через диспетчер задач на вкладке «Пользователи» или командой taskkill.

bash
taskkill /S ServerName /F /IM 1cv8.exe /FI "USERNAME eq ivanov"

Завершение сеансов штатными средствами конфигурации

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

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

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

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

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

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

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

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

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

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

Сеансов целевой базы нет или остался только ваш

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

Сеансы появляются снова — блокировка не включена

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

Появляется сообщение о блокировке базы

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

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

Регламентные задания после работ
Норма

Задания выполняются по расписанию

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

Задания не запускаются — забыли снять блокировку

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

Все входят штатно

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

Ошибка входа — проверьте срок действия блокировки и код разрешения

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

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

Ответы на частые вопросы

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

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

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

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

Как зайти в базу, когда включена блокировка соединений?

Нужно запустить клиентское приложение с параметром /UC и кодом разрешения, который задан при установке блокировки. Например: 1cv8.exe ENTERPRISE /S"Сервер\База" /UC"КодДоступа". Без кода войти сможет только тот, кто снимет блокировку через консоль кластера или конфигуратор.

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

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

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

Сеансы веб-клиента тоже видны в консоли кластера и завершаются так же, как обычные. Дополнительно можно перезапустить пул приложений IIS или службу Apache — это разорвёт все веб-подключения. Для файловой базы, опубликованной через веб-сервер, перезапуск веб-сервера — основной способ сброса подключений.

Опасно ли завершать сеансы для целостности базы?

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

Итог

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

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