Администрирование · 10 мин
Как выбросить пользователей из 1С без потери данных
Способы выбросить пользователей из 1С: консоль кластера, консольные команды, блокировка сеансов, код на встроенном языке. Риски, проверка результата, FAQ.
Завершить сеансы пользователей 1С требуется при обновлении конфигурации, регламентном обслуживании базы, восстановлении из резервной копии или когда «зависший» сеанс блокирует работу остальных. Способ зависит от режима работы базы: файловый или клиент-серверный, а также от того, есть ли у вас права администратора кластера и доступ к серверу.
Главное правило: принудительное завершение сеанса обрывает все незавершённые операции пользователя. Незаписанные документы, открытые формы с введёнными данными и незакрытые транзакции будут потеряны. Поэтому перед «выбросом» пользователей сначала попробуйте мягкий сценарий — предупреждение и блокировку новых подключений, а принудительное удаление сеансов оставьте как последний шаг.
Ниже разобраны рабочие способы для обоих режимов, команды для автоматизации и проверка результата, чтобы вы могли выбрать подходящий вариант и не потерять данные.
Определите режим работы базы и свои права
Прежде чем действовать, выясните, где физически находится база. Откройте список информационных баз в окне запуска 1С и посмотрите строку подключения: если путь выглядит как сетевая папка (\\server\base) — это файловый режим, если указаны сервер и имя базы — клиент-серверный. От этого зависит весь дальнейший инструментарий.
Для клиент-серверного режима вам понадобятся права администратора кластера серверов 1С или администратора информационной базы. Для файлового режима достаточно прав администратора в самой базе и доступа к каталогу с файлом 1Cv8.1CD по сети. Если прав нет, задачу придётся передать системному администратору — обойти ограничения штатными средствами нельзя.
Как выбрать действие
Клиент-серверный режим: консоль кластера серверов
Основной инструмент администратора — консоль кластера серверов 1С:Предприятия. Откройте её через «Пуск → 1С:Предприятие → Администрирование серверов 1С», раскройте нужный кластер, найдите информационную базу и перейдите на вкладку «Сеансы». Здесь видно всех подключённых пользователей, время начала сеанса, текущую активность и вызовы СУБД.
Чтобы выбросить конкретного пользователя, выделите его сеанс и нажмите «Удалить». Чтобы выбросить всех — выделите все сеансы (Ctrl+A) и удалите. Платформа завершит сеансы принудительно: пользователи увидят сообщение о разрыве соединения с сервером. Учтите, что активные фоновые задания и регламентные операции тоже будут прерваны.
Блокировка сеансов вместо удаления
Более безопасный вариант — сначала установить блокировку сеансов. В свойствах информационной базы в консоли кластера установите флаг «Блокировка начала сеансов включена», задайте время начала и окончания, код разрешения и сообщение для пользователей. Новые подключения будут запрещены, а действующие пользователи увидят предупреждение и смогут сохранить работу. Затем оставшиеся сеансы удаляют вручную или дожидаются самостоятельного выхода.
- 1Откройте консоль «Администрирование серверов 1С:Предприятия» и раскройте нужный кластер
- 2Выберите информационную базу, откройте вкладку «Сеансы» и оцените активность пользователей
- 3В свойствах базы включите блокировку начала сеансов с сообщением и кодом разрешения
- 4Дождитесь выхода пользователей или удалите оставшиеся сеансы вручную
- 5Выполните обслуживание, затем снимите блокировку и проверьте, что пользователи могут войти
Автоматизация через утилиту rac
Для регулярных операций — ночных обновлений, регламентных копий — удобнее командная строка. В составе сервера 1С поставляется утилита rac, которая умеет управлять кластером: получать список сеансов, удалять их и устанавливать блокировку. Скрипт на её основе легко поставить в планировщик задач.
rac session --cluster=<ID_кластера> terminate --infobase=<ID_базы> --session=<ID_сеанса>Типовой сценарий скрипта: получить список сеансов базы командой rac session list, затем в цикле завершить каждый сеанс, предварительно установив блокировку через rac infobase update с параметрами --sessions-deny=on и --permission-code. После обслуживания блокировка снимается той же командой с --sessions-deny=off. Храните логин и пароль администратора кластера в защищённом месте, а не в открытом виде в скрипте.
Файловый режим: блокировка и завершение работы
В файловой базе нет кластера серверов, поэтому инструменты другие. Самый простой путь — зайти в конфигуратор монопольно: при установке флага «Монопольный режим» платформа потребует, чтобы все пользователи вышли, и не пустит новых. Но если кто-то уже работает, монопольный доступ не установится, пока сеансы не завершатся.
В типовых конфигурациях (БСП) есть штатный механизм: раздел «Администрирование → Обслуживание → Блокировка работы пользователей» (в разных версиях путь может отличаться). Установите блокировку на нужное время — активные пользователи получат предупреждение и будут автоматически завершены по таймауту, а новые не смогут войти без кода разрешения. Это самый мягкий и безопасный способ для файлового режима.
Аварийный вариант: файл блокировки
Если файловая база «зависла» и сеансы не снимаются, иногда применяют удаление служебного файла 1Cv8.1CL.lck в каталоге базы. Это грубый приём: он снимает блокировки со стороны платформы, но не завершает реальные процессы пользователей корректно. Применяйте его только когда все пользователи фактически вышли или их клиенты закрыты, иначе возможны ошибки целостности данных.
Завершение сеансов из кода 1С
Если у вас есть права администратора и нужно завершать сеансы программно — например, из внешней обработки перед обменом данными, — используйте объект WSСоединения и административный интерфейс кластера через COM-объект V83.COMConnector, либо встроенные функции работы с сеансами в БСП. В типовых конфигурациях механизм «Завершение работы пользователей» уже реализован и вызывает принудительное закрытие клиентских приложений по расписанию блокировки.
Программный путь оправдан, когда администрирование встроено в бизнес-процесс: например, перед загрузкой данных из другой системы база автоматически блокируется и «выгоняет» всех. Для разовых задач проще консоль кластера или rac.
Сравнение способов
Подходит для клиент-серверных баз, полный контроль над сеансами; требует ручной работы и прав администратора кластера
Идеальна для регулярного обслуживания по расписанию; требует аккуратной работы с идентификаторами и паролями
Самый мягкий способ, пользователи получают предупреждение; не завершает сеансы мгновенно
Просто и надёжно для обновления; работает только если сеансов нет или их удаётся завершить
Аварийный вариант для файловой базы; риск повреждения данных при активных пользователях
Проверка результата и типичные ошибки
После завершения сеансов убедитесь, что база действительно свободна. В консоли кластера список сеансов должен быть пуст (кроме, возможно, вашего). В файловом режиме проверьте отсутствие открытых соединений: попробуйте установить монопольный режим в конфигураторе — если он установился, пользователей в базе нет.
Как проверить результат
Сеансов нет или остался только ваш
Сеансы появляются снова — кто-то переподключается, включите блокировку
Устанавливается без ошибок
Сообщение об активных соединениях — в базе остались пользователи
Пользователь входит и работает штатно
Сообщение о блокировке сеансов — блокировка не снята или время окончания в будущем
Отдельно отметьте фоновые задания: удаление пользовательских сеансов не всегда останавливает регламентные операции. В консоли кластера проверьте вкладку «Сеансы» на наличие фоновых процессов и при необходимости отключите расписание регламентных заданий на время обслуживания.
Что важно запомнить
Сначала блокировка и предупреждение, потом принудительное завершение. Клиент-серверные базы администрируются через консоль кластера и rac, файловые — через блокировку сеансов и монопольный режим. После обслуживания снимите блокировку и проверьте вход пользователя.
Частые вопросы
Что увидит пользователь, если удалить его сеанс?
Приложение 1С покажет сообщение о разрыве соединения с сервером и предложит завершить работу или перезапуститься. Все несохранённые данные в открытых формах будут потеряны, поэтому предупреждайте пользователей заранее.
Как выбросить пользователей, если нет прав администратора кластера?
Без прав администратора кластера или базы удалить чужие сеансы нельзя — это ограничение платформы. Обратитесь к администратору сервера 1С или запросите у него установку блокировки сеансов на нужное время.
Можно ли завершить сеансы автоматически каждую ночь?
Да. Напишите скрипт с утилитой rac: установка блокировки, пауза, завершение оставшихся сеансов, обслуживание, снятие блокировки. Запланируйте его в планировщике задач Windows на время минимальной активности пользователей.
Что делать, если сеанс «завис» и не удаляется?
Сначала попробуйте удалить его повторно через консоль кластера. Если не помогает, на сервере 1С перезапустите рабочий процесс rphost, обслуживающий сеанс, или службу агента сервера. Это штатная, но жёсткая мера — она затронет всех пользователей этого процесса.
Как не потерять данные при принудительном завершении?
Полностью гарантировать сохранность нельзя. Минимизируйте риски: установите блокировку заранее, отправьте пользователям сообщение, дождитесь добровольного выхода и только потом удаляйте оставшиеся сеансы. Перед обновлением всегда делайте резервную копию базы.
Чем отличается блокировка сеансов от удаления сеансов?
Блокировка запрещает новые подключения и предупреждает работающих, но не завершает текущие сеансы мгновенно. Удаление сеанса — принудительный обрыв соединения. На практике их комбинируют: сначала блокировка, затем удаление оставшихся.