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

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

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

Способы выбросить пользователей из 1С: консоль кластера, консольные команды, блокировка сеансов, код на встроенном языке. Риски, проверка результата, FAQ.

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

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

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

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

Прежде чем действовать, выясните, где физически находится база. Откройте список информационных баз в окне запуска 1С и посмотрите строку подключения: если путь выглядит как сетевая папка (\\server\base) — это файловый режим, если указаны сервер и имя базы — клиент-серверный. От этого зависит весь дальнейший инструментарий.

Для клиент-серверного режима вам понадобятся права администратора кластера серверов 1С или администратора информационной базы. Для файлового режима достаточно прав администратора в самой базе и доступа к каталогу с файлом 1Cv8.1CD по сети. Если прав нет, задачу придётся передать системному администратору — обойти ограничения штатными средствами нельзя.

Маршрут решения

Как выбрать действие

База клиент-серверная, есть доступ к консоли кластераУдаляйте сеансы через консоль серверов 1С или установите блокировку сеансов
База файловая, нужно выгнать всех для обновленияУстановите блокировку сеансов через конфигуратор или типовую обработку завершения работы
Сеанс завис и не отвечаетУдалите конкретный сеанс в консоли кластера или завершите процесс rphost на сервере
Нужно регулярно выгонять пользователей по расписаниюНастройте скрипт с утилитой rac или плановую блокировку сеансов

Клиент-серверный режим: консоль кластера серверов

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

Чтобы выбросить конкретного пользователя, выделите его сеанс и нажмите «Удалить». Чтобы выбросить всех — выделите все сеансы (Ctrl+A) и удалите. Платформа завершит сеансы принудительно: пользователи увидят сообщение о разрыве соединения с сервером. Учтите, что активные фоновые задания и регламентные операции тоже будут прерваны.

Блокировка сеансов вместо удаления

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

Порядок действий в консоли кластера
  1. 1
    Откройте консоль «Администрирование серверов 1С:Предприятия» и раскройте нужный кластер
  2. 2
    Выберите информационную базу, откройте вкладку «Сеансы» и оцените активность пользователей
  3. 3
    В свойствах базы включите блокировку начала сеансов с сообщением и кодом разрешения
  4. 4
    Дождитесь выхода пользователей или удалите оставшиеся сеансы вручную
  5. 5
    Выполните обслуживание, затем снимите блокировку и проверьте, что пользователи могут войти

Автоматизация через утилиту rac

Для регулярных операций — ночных обновлений, регламентных копий — удобнее командная строка. В составе сервера 1С поставляется утилита rac, которая умеет управлять кластером: получать список сеансов, удалять их и устанавливать блокировку. Скрипт на её основе легко поставить в планировщик задач.

bash
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 в скрипте

Идеальна для регулярного обслуживания по расписанию; требует аккуратной работы с идентификаторами и паролями

Блокировка сеансов (БСП)

Самый мягкий способ, пользователи получают предупреждение; не завершает сеансы мгновенно

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

Просто и надёжно для обновления; работает только если сеансов нет или их удаётся завершить

Удаление файла блокировки

Аварийный вариант для файловой базы; риск повреждения данных при активных пользователях

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

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

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

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

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

Сеансов нет или остался только ваш

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

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

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

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

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

Сообщение об активных соединениях — в базе остались пользователи

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

Пользователь входит и работает штатно

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

Сообщение о блокировке сеансов — блокировка не снята или время окончания в будущем

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

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

Итог

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

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

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

Что увидит пользователь, если удалить его сеанс?

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

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

Без прав администратора кластера или базы удалить чужие сеансы нельзя — это ограничение платформы. Обратитесь к администратору сервера 1С или запросите у него установку блокировки сеансов на нужное время.

Можно ли завершить сеансы автоматически каждую ночь?

Да. Напишите скрипт с утилитой rac: установка блокировки, пауза, завершение оставшихся сеансов, обслуживание, снятие блокировки. Запланируйте его в планировщике задач Windows на время минимальной активности пользователей.

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

Сначала попробуйте удалить его повторно через консоль кластера. Если не помогает, на сервере 1С перезапустите рабочий процесс rphost, обслуживающий сеанс, или службу агента сервера. Это штатная, но жёсткая мера — она затронет всех пользователей этого процесса.

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

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

Чем отличается блокировка сеансов от удаления сеансов?

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