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

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

Как выкинуть активного пользователя из 1С 8.3 в конфигураторе

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

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

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

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

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

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

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

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

Режим базыФайловый или клиент-серверный

Определяет инструмент: конфигуратор или консоль кластера

Тип сеансаКлиент, фоновое задание, COM-соединение

Фоновые задания и COM тоже мешают монопольному режиму

Цель отключенияОбновление или снятие зависшего сеанса

Для обновления нужна блокировка входа, а не разовое отключение

Завершение сеанса через список активных пользователей

Это самый быстрый способ для файловой базы. Порядок действий: откройте «Администрирование → Активные пользователи», выделите нужного пользователя в списке, нажмите кнопку «Удалить» и подтвердите действие. Сеанс завершится принудительно, у пользователя на экране появится сообщение о разрыве соединения с информационной базой.

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

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

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

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

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

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

Отключение пользователя в клиент-серверном режиме

В клиент-серверной базе сеансами управляет кластер серверов 1С, и конфигуратор здесь — не основной инструмент. Откройте консоль администрирования серверов 1С (она устанавливается вместе с сервером, файл 1CV8 Servers.msc на Windows), разверните нужный кластер, затем ветку «Информационные базы → ваша база → Сеансы». Найдите сеанс пользователя по имени, выделите его и выберите «Удалить» в контекстном меню.

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

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

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

Удаление сеанса в конфигураторе

Быстро для файловой базы, но не защищает от повторного входа; в клиент-серверном режиме обычно недоступно

Блокировка соединений

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

Консоль кластера

Полный контроль в клиент-серверном режиме, но требует установленной оснастки и прав администратора кластера

Программное завершение

Гибко для автоматизации и регламентных заданий, требует внешней обработки или изменений в коде

Программное завершение сеансов встроенным языком

Когда нужно автоматизировать отключение, используйте методы встроенного языка. Объект ПолучитьСоединенияИнформационнойБазы() возвращает массив соединений, а метод ПрерватьСоединение() разрывает конкретное соединение. Это работает и в файловом, и в клиент-серверном режиме при наличии административных прав.

bsl
Соединения = ПолучитьСоединенияИнформационнойБазы();
Для Каждого Соединение Из Соединения Цикл
    Если Соединение.ИмяПриложения <> "Designer"
       И Соединение.НомерСоединения <> НомерСоединенияИнформационнойБазы() Тогда
        ПрерватьСоединение(Соединение.НомерСоединения);
    КонецЕсли;
КонецЦикла;

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

Частые ошибки и ограничения

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

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

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

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

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

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

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

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

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

Список активных пользователей
Норма

Только ваши сеансы

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

Чужие сеансы появляются снова — не установлена блокировка

Монопольный режим
Норма

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

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

Ошибка о занятых соединениях — ищите сеанс по номеру из сообщения

Консоль кластера
Норма

Сеансов базы нет или только административные

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

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

FAQ

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

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

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

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

Почему кнопка «Удалить» в списке активных пользователей неактивна?

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

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

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

Пользователь отключён, но монопольный режим не устанавливается. Что делать?

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

Можно ли настроить автоматическое отключение неактивных пользователей?

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

Итог

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

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