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

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

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

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

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

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

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

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

📊 Как часто вам приходится завершать сеансы пользователей?
Ежедневно
Раз в неделю
Только при обновлениях
Никогда, я не администратор

Управление сеансами через консоль кластера серверов

Для более глубокого контроля, особенно в клиент-серверных вариантах работы с СУБД PostgreSQL или MS SQL Server, рекомендуется использовать утилиту ras или графическую консоль кластера. Этот инструмент позволяет видеть не только логические сеансы 1С, но и физические соединения с рабочими процессами. Доступ к консоли обычно осуществляется по порту 1541 (по умолчанию) или через RDP на сервере, где установлен сервис 1С.

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

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

💡

Перед удалением сеанса в консоли кластера скопируйте его ID. Это поможет вам позже найти соответствующий процесс в диспетчере задач или логах СУБД, если возникнут проблемы с освобождением ресурсов.

Существует нюанс при работе с тонким клиентом в режиме управляемого приложения. Иногда сеанс в консоли отображается как активный, хотя пользователь уже закрыл окно программы. Это так называемые "осиротевшие" сеансы, которые занимают лицензии и ресурсы памяти. Их необходимо удалять принудительно, так как они не освободятся самостоятельно до перезапуска сервиса.

Блокировка запуска новых сеансов и регламентные работы

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

Чтобы установить блокировку, перейдите в Администрирование → Параметры системы (или аналогичный раздел в вашей конфигурации). Найдите настройку, отвечающую за блокировку работы пользователей. В некоторых конфигурациях, таких как 1С:Бухгалтерия или 1С:УТ, это делается через обработку "Завершение работы пользователей", где есть галочка "Заблокировать работу пользователей".

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

Тип действия Влияние на текущих Влияние на новых Где выполняется
Уведомление о выходе Получают запрос на сохранение Могут зайти Режим Предприятия
Принудительный разрыв Сеанс закрывается мгновенно Могут зайти Консоль кластера
Блокировка сеансов Работают нормально Вход запрещен Параметры системы
Отключение сервиса Потеря соединения Вход невозможен Службы Windows

☑️ Подготовка к обновлению базы

Выполнено: 0 / 5

Аварийное завершение через диспетчер задач и службы

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

Необходимо найти процессы, отвечающие за работу платформы. Для клиент-серверного варианта это процессы rphost (рабочие процессы) и rmngr (менеджер кластера). Завершение процесса rphost приведет к разрыву всех сеансов, которые он обслуживает. Однако делать это нужно осторожно: если на одном рабочем процессе сидят пользователи разных баз, вы inadvertently отключите лишних людей.

Для файлового варианта критическим процессом является 1cv8.exe или 1cv8c.exe. Завершение этих процессов на сервере, где расшарена папка с базой, фактически выкинет всех пользователей. Но помните, что файлы блокировок (.lck) могут остаться висеть, и при следующем запуске система может сообщить о повреждении базы или предложить удалить файлы блокировки вручную.

⚠️ Внимание: Никогда не завершайте процесс postgres.exe или sqlservr.exe для отключения 1С. Это остановит всю СУБД, что повлияет на другие сервисы и может привести к серьезному повреждению данных при следующем старте службы базы данных.

Автоматизация выгрузки через внешние обработки и скрипты

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

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

1cv8 8.3 /F "C:\Bases\Base1" /N "Admin" /P "Password" /Execute "C:\Scripts\KillUsers.epf"

Такой подход минимизирует человеческий фактор. Вы можете настроить задачу в планировщике Windows, которая будет запускать этот скрипт в 20:00 каждый день. К моменту прихода сотрудника на следующее утро все сеансы будут чисты, а база готова к работе. Однако необходимо предусмотреть обработку ошибок, чтобы скрипт не падал, если база уже заблокирована.

Пример кода для внешней обработки

Процедура ЗавершитьВсеСеансы() Сеансы = ПолучитьСеансы(); Для каждого Сеанс Из Сеансы Цикл Попытка ЗавершитьСеанс(Сеанс.ID); Исключение ЗаписьЖурналаРегистрации("Ошибка выгрузки", УровеньЖурналаРегистрации.Ошибка, , , ОписаниеОшибки()); КонецПопытки; КонецЦикла; КонецПроцедуры

Анализ причин зависания и профилактика проблем

Частая необходимость завершать работу пользователей свидетельствует о проблемах в инфраструктуре или коде конфигурации. Если сеансы зависают регулярно, стоит проанализировать логи технологического журнала (ТЖ). В ТЖ можно увидеть, на каком этапе блокируется транзакция: ожидание записи в регистр, долгий запрос к СУБД или сетевая проблема.

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

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

💡

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

⚠️ Внимание: Интерфейсы и названия пунктов меню могут отличаться в зависимости от версии платформы 1С (8.2, 8.3) и конкретной конфигурации (Бухгалтерия, УТ, ЗУП, ERP). Всегда сверяйтесь с документацией к вашей версии ПО, так как функционал администрирования постоянно развивается.

Часто задаваемые вопросы (FAQ)

Можно ли завершить сеанс пользователя, который находится в другой стране?

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

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

При принудительном разрыве соединения транзакция, выполняемая в этот момент, будет отменена сервером СУБД (откат изменений). Документ не проведется, а изменения, которые пользователь не успел записать, будут потеряны. Именно поэтому приоритетным методом является отправка уведомления с просьбой сохранить данные.

Почему после завершения сеанса в списке все равно висит пользователь?

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

Как завершить работу всех пользователей в файловой базе без доступа к конфигуратору?

Если доступ к конфигуратору невозможен, единственный вариант — остановить службу или процесс 1С на сервере, где расположена папка с базой, либо переименовать папку с базой данных (пользователи потеряют соединение при попытке обращения к несуществующему пути). После этого можно безопасно работать с файлами.

Влияет ли завершение сеанса на лицензирование 1С?

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