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