Администрирование · 12 мин
Как выкинуть активного пользователя из 1С 8.3 в конфигураторе
Как выкинуть активного пользователя из 1С 8.3: блокировка сеансов в конфигураторе, консоль кластера, код на встроенном языке, риски и проверка результата.
Завершить сеанс активного пользователя в 1С 8.3 нужно, чтобы установить монопольный режим для обновления конфигурации, провести тестирование и исправление или снять зависший сеанс, который блокирует документы. Прямой кнопки «выкинуть пользователя» в конфигураторе нет, но есть несколько штатных механизмов: блокировка установки соединений, консоль кластера серверов, типовая обработка «Блокировка работы пользователей» и программное завершение сеансов через встроенный язык.
Выбор способа зависит от режима работы базы — файловой или клиент-серверной. В файловой базе сеансы управляются через конфигуратор и встроенный язык, в клиент-серверной самый надёжный инструмент — консоль администрирования сервера 1С. Ниже разобраны все рабочие варианты с точными действиями, ограничениями и рисками.
Прежде чем принудительно завершать сеанс, убедитесь, что у пользователя нет несохранённых данных: принудительное отключение равносильно закрытию программы без сохранения. Документы, которые пользователь редактировал в момент разрыва, могут остаться заблокированными до истечения таймаута сеанса.
Как посмотреть список активных пользователей в конфигураторе
Откройте конфигуратор под учётной записью с правами администратора и перейдите в меню «Администрирование → Активные пользователи». Откроется список всех текущих сеансов: имя пользователя, приложение (тонкий клиент, толстый клиент, фоновое задание), время начала работы и компьютер, с которого установлено соединение.
В этом же окне доступна кнопка «Удалить», которая завершает выбранный сеанс. В файловом режиме это единственный способ разорвать соединение прямо из конфигуратора без дополнительных инструментов. Учтите, что в клиент-серверном режиме кнопка «Удалить» в этом окне обычно недоступна — там сеансами управляет сервер 1С, и отключать нужно через консоль кластера.
Обратите внимание на колонку «Приложение»: фоновые задания и сеансы COM-соединений тоже блокируют монопольный режим. Если после отключения всех пользователей монопольный доступ не устанавливается, ищите в списке именно фоновые задания и внешние соединения.
Определяет инструмент: конфигуратор или консоль кластера
Фоновые задания и COM тоже мешают монопольному режиму
Для обновления нужна блокировка входа, а не разовое отключение
Завершение сеанса через список активных пользователей
Это самый быстрый способ для файловой базы. Порядок действий: откройте «Администрирование → Активные пользователи», выделите нужного пользователя в списке, нажмите кнопку «Удалить» и подтвердите действие. Сеанс завершится принудительно, у пользователя на экране появится сообщение о разрыве соединения с информационной базой.
Если нужно отключить всех сразу, выделяйте сеансы списком с клавишей Shift или Ctrl и удаляйте группой. После удаления обновите список (F5) и убедитесь, что сеансов не осталось: пользователи могут успеть переподключиться за секунды, поэтому для плановых работ разовое удаление недостаточно — нужна блокировка входа.
- 1Откройте конфигуратор под администратором
- 2Перейдите: Администрирование → Активные пользователи
- 3Выделите нужный сеанс или все сеансы
- 4Нажмите «Удалить» и подтвердите
- 5Обновите список клавишей F5 и проверьте, что сеансов нет
Блокировка соединений, чтобы пользователи не входили снова
Разовое удаление сеанса не мешает пользователю тут же зайти обратно. Для регламентных работ — обновления конфигурации, загрузки данных, тестирования — нужно установить блокировку установки соединений. В файловой базе это делается через меню «Администрирование → Блокировка установки соединений с информационной базой»: задайте время начала и окончания блокировки, сообщение для пользователей и код разрешения.
Код разрешения — это пароль, который позволяет войти в базу во время блокировки самому администратору. Запустите сеанс с параметром командной строки /UC код, чтобы обойти блокировку. Без кода разрешения вы рискуете сами не попасть в базу до окончания периода блокировки, поэтому всегда его задавайте и записывайте.
В типовых конфигурациях на базе Библиотеки стандартных подсистем есть более удобный механизм — обработка «Блокировка работы пользователей» (раздел «Администрирование → Обслуживание» в пользовательском режиме). Она показывает активных пользователей, позволяет установить блокировку и отслеживает, кто ещё не вышел, с автоматическим напоминанием.
Отключение пользователя в клиент-серверном режиме
В клиент-серверной базе сеансами управляет кластер серверов 1С, и конфигуратор здесь — не основной инструмент. Откройте консоль администрирования серверов 1С (она устанавливается вместе с сервером, файл 1CV8 Servers.msc на Windows), разверните нужный кластер, затем ветку «Информационные базы → ваша база → Сеансы». Найдите сеанс пользователя по имени, выделите его и выберите «Удалить» в контекстном меню.
Консоль показывает больше информации, чем конфигуратор: длительность вызова СУБД, объём прочитанных и записанных данных, спящие сеансы. По этим признакам удобно находить зависшие сеансы: например, сеанс с нулевой активностью за последние часы, но удерживающий управляемые блокировки, — типичный кандидат на принудительное завершение.
Для массового отключения в клиент-серверном режиме используйте блокировку сеансов в свойствах информационной базы консоли: откройте свойства базы, установите флаг «Блокировка начала сеансов включена», задайте период и код разрешения. Это надёжнее, чем удалять сеансы по одному: новые подключения будут отклоняться автоматически.
Сравнение способов отключения
Быстро для файловой базы, но не защищает от повторного входа; в клиент-серверном режиме обычно недоступно
Подходит для плановых работ: отсекает новые входы, действующих нужно вывести отдельно
Полный контроль в клиент-серверном режиме, но требует установленной оснастки и прав администратора кластера
Гибко для автоматизации и регламентных заданий, требует внешней обработки или изменений в коде
Программное завершение сеансов встроенным языком
Когда нужно автоматизировать отключение, используйте методы встроенного языка. Объект ПолучитьСоединенияИнформационнойБазы() возвращает массив соединений, а метод ПрерватьСоединение() разрывает конкретное соединение. Это работает и в файловом, и в клиент-серверном режиме при наличии административных прав.
Соединения = ПолучитьСоединенияИнформационнойБазы();
Для Каждого Соединение Из Соединения Цикл
Если Соединение.ИмяПриложения <> "Designer"
И Соединение.НомерСоединения <> НомерСоединенияИнформационнойБазы() Тогда
ПрерватьСоединение(Соединение.НомерСоединения);
КонецЕсли;
КонецЦикла;Код из примера перебирает все соединения, пропускает сеанс конфигуратора и собственное соединение, а остальные разрывает. Сохраните его во внешней обработке (создайте обработку в конфигураторе, добавьте код в модуль формы или объекта) и запускайте в пользовательском режиме через «Файл → Открыть». В типовых конфигурациях аналогичную задачу решает штатная подсистема завершения работы пользователей, поэтому писать свой код часто не нужно.
Частые ошибки и ограничения
Самая распространённая ошибка — удалить сеанс и сразу пытаться включить монопольный режим. Пользователь переподключается автоматически (например, у него открыт ярлык с автозапуском или работает регламентное задание), и монопольный доступ не устанавливается. Решение — сначала блокировка соединений, потом отключение.
Вторая ошибка — забыть про фоновые задания и COM-соединения. Они не видны пользователю как «работа в программе», но удерживают базу. Проверяйте колонку «Приложение» в списке активных пользователей и завершайте такие соединения тоже.
Третья ошибка — установить блокировку без кода разрешения и не записать его. Если период блокировки длинный, а зайти нужно срочно, придётся в файловом режиме править параметры базы вручную или ждать окончания блокировки. В клиент-серверном режиме блокировку можно снять через консоль кластера, но только при наличии доступа к серверу.
Как проверить результат
После отключения обновите список активных пользователей в конфигураторе: в нём должны остаться только ваш сеанс конфигуратора и, при необходимости, ваш сеанс предприятия. Если список пустеет медленно — подождите: в клиент-серверном режиме сеансы завершаются с задержкой, а спящие сеансы могут отображаться ещё несколько минут.
Финальная проверка — попытка установить монопольный режим или запустить обновление конфигурации базы данных. Если платформа сообщает о занятых соединениях, вернитесь к списку активных пользователей или консоли кластера и найдите оставшийся сеанс по его номеру из текста ошибки.
Как проверить результат
Только ваши сеансы
Чужие сеансы появляются снова — не установлена блокировка
Устанавливается без ошибок
Ошибка о занятых соединениях — ищите сеанс по номеру из сообщения
Сеансов базы нет или только административные
Спящие сеансы держат блокировки — удалите их вручную
FAQ
Можно ли выкинуть пользователя из 1С удалённо, без доступа к серверу?
Да, если у вас есть права администратора в самой базе. В файловом режиме достаточно конфигуратора с любого компьютера, где есть доступ к файлу базы. В клиент-серверном режиме без консоли кластера можно использовать типовую обработку «Блокировка работы пользователей» или внешнюю обработку с методом ПрерватьСоединение — они работают в пользовательском режиме через сеть.
Потеряет ли пользователь несохранённые данные при принудительном отключении?
Да. Принудительное завершение сеанса равнозначно закрытию программы без сохранения: незаписанные документы и открытые формы будут потеряны. Объекты, которые пользователь редактировал, могут остаться заблокированными до таймаута сеанса. Всегда предупреждайте пользователей заранее через сообщение в механизме блокировки.
Почему кнопка «Удалить» в списке активных пользователей неактивна?
Чаще всего это клиент-серверный режим работы: там сеансами управляет кластер серверов, и удалять их нужно через консоль администрирования серверов 1С. Вторая причина — недостаток прав: завершать чужие сеансы может только пользователь с административными правами на информационную базу.
Как отключить всех пользователей, кроме себя, одной командой?
Используйте код с ПолучитьСоединенияИнформационнойБазы и ПрерватьСоединение, пропуская собственный номер соединения, — пример приведён выше в статье. В типовых конфигурациях то же самое делает обработка «Блокировка работы пользователей»: она показывает список работающих и ждёт, пока они выйдут, не давая войти новым.
Пользователь отключён, но монопольный режим не устанавливается. Что делать?
Проверьте список активных пользователей на фоновые задания и COM-соединения — они тоже занимают базу. В клиент-серверном режиме посмотрите сеансы в консоли кластера: спящие сеансы могут удерживать соединение несколько минут. Также убедитесь, что не запущены регламентные задания в других сеансах и что никто не переподключается автоматически — для этого установите блокировку соединений.
Можно ли настроить автоматическое отключение неактивных пользователей?
Да, в клиент-серверном режиме в свойствах информационной базы консоли кластера есть параметры завершения спящих сеансов и разрыва соединений по таймауту. В типовых конфигурациях также можно настроить регламентное завершение сеансов по расписанию силами прикладного кода. Для файловой базы штатного автоотключения нет — только внешние средства или периодический запуск обработки.
Что важно запомнить
В файловой базе сеанс завершается через «Администрирование → Активные пользователи» в конфигураторе, в клиент-серверной — через консоль кластера. Для плановых работ сначала устанавливайте блокировку соединений с кодом разрешения, затем отключайте пользователей. Не забывайте про фоновые задания и COM-соединения и всегда предупреждайте пользователей о предстоящем отключении.