Администрирование · 10 мин
Как отключить соединение 1С: сеансы, базы и внешние подключения
Способы отключить соединение 1С: завершение сеансов через консоль кластера, блокировка базы, отключение COM и веб-сервисов. Пошаговые инструкции.
Под «отключением соединения 1С» обычно понимают одну из нескольких задач: завершить сеансы пользователей, разорвать подключение к базе данных, отключить COM-соединение из внешнего приложения или закрыть доступ через веб-сервисы. Правильный способ зависит от того, что именно нужно отключить и где работает база — в файловом или клиент-серверном варианте.
Чаще всего задача возникает перед обновлением конфигурации, резервным копированием или регламентным обслуживанием, когда требуется, чтобы в базе не осталось активных пользователей. Реже — когда приложение «зависло» и держит соединение, блокируя работу других.
Важно понимать: принудительное отключение сеанса прерывает незавершённые операции пользователя. Несохранённые документы и данные форм будут потеряны, поэтому перед массовым отключением стоит предупредить сотрудников и, по возможности, использовать штатный механизм блокировки сеансов с отложенным временем.
Определите, какое соединение нужно отключить
Прежде чем действовать, уточните тип соединения. От этого зависит и инструмент, и последствия отключения. Сеанс пользователя в тонком клиенте — это одно, фоновое задание или регламентная операция — другое, а внешнее COM-подключение из скрипта обмена — третье.
Посмотреть, кто и как подключён к базе, можно несколькими способами. В клиент-серверном варианте — через консоль администрирования серверов 1С, где видны сеансы и соединения с указанием пользователя, компьютера и типа клиента. В файловом варианте — через меню «Администрирование → Активные пользователи» в режиме Предприятия.
Есть ли у него несохранённые данные — стоит предупредить перед отключением
Какое задание запущено и можно ли его прервать без потерь
Какой скрипт или сервис держит соединение
Время бездействия — такие сеансы можно отключать принудительно
Отключение сеансов через консоль кластера серверов
Основной инструмент для клиент-серверной 1С — консоль администрирования серверов (1C:Enterprise Server Administration). Она устанавливается вместе с сервером 1С или отдельно на машину администратора.
Откройте консоль, разверните нужный кластер, перейдите в ветку «Сеансы». Здесь отображаются все активные сеансы с информацией о пользователе, приложении, времени начала и активности. Выделите один или несколько сеансов и выберите в контекстном меню «Удалить» — сеанс будет завершён принудительно.
Для отключения соединений на уровне СУБД используется ветка «Соединения», однако удалять соединения напрямую стоит только если вы понимаете, что делаете: сеанс без соединения может завершиться с ошибкой у пользователя. В большинстве случаев достаточно работать именно с сеансами.
- 1Откройте консоль администрирования серверов 1С и подключитесь к нужному кластеру
- 2Разверните ветку «Сеансы» и найдите нужный сеанс по пользователю или компьютеру
- 3Убедитесь, что сеанс можно завершать: проверьте тип клиента и время последней активности
- 4Щёлкните правой кнопкой по сеансу и выберите «Удалить»
- 5Проверьте, что сеанс исчез из списка, а пользователь получил сообщение о разрыве соединения
Блокировка сеансов через конфигуратор
Если нужно не просто отключить текущих пользователей, но и не дать им подключиться снова — например, на время обновления — используйте блокировку сеансов. Это штатный и самый безопасный механизм.
Откройте конфигуратор, перейдите в меню «Администрирование → Блокировка установки соединений с информационной базой». Установите флажок блокировки, укажите время начала и окончания, сообщение для пользователей и код разблокировки. Код позволит войти в базу администратору, пока блокировка действует, — для этого его добавляют в строку запуска через параметр /UC.
В типовых конфигурациях на базе БСП аналогичная функция доступна прямо из режима Предприятия: «Администрирование → Обслуживание → Блокировка работы пользователей». Там же можно увидеть список активных сеансов и завершить их.
Отключение соединений в файловой базе
В файловом варианте нет кластера серверов, поэтому инструменты другие. Список подключённых пользователей доступен в режиме Предприятия через «Администрирование → Активные пользователи». Оттуда пользователя можно попросить выйти, но принудительно завершить его сеанс штатными средствами интерфейса нельзя.
Если файл базы остался заблокированным после аварийного завершения программы, проверьте, не остались ли запущенные процессы 1cv8.exe на компьютерах пользователей — завершите их через диспетчер задач. Также блокировку может держать открытый сеанс на терминальном сервере.
Для регламентных операций с файловой базой удобно запускать конфигуратор пакетно с параметрами, выполняющими нужные действия и завершающими работу автоматически, не требуя монопольного доступа дольше необходимого.
Отключение COM-соединений и внешних подключений
COM-соединение (V83.COMConnector) создаётся внешними приложениями: скриптами обмена, интеграционными службами, другими базами 1С. Такое соединение отображается в консоли кластера как отдельный сеанс с типом «COM-соединение» и завершается там же — удалением сеанса.
На стороне вызывающего кода соединение закрывается освобождением объекта: в скриптах достаточно обнулить переменную соединения и завершить процесс. Если COM-подключение «зависло», найдите процесс, который его держит (например, wscript.exe или службу интеграции), и завершите его.
Веб-сервисы и HTTP-сервисы отключаются либо снятием публикации на веб-сервере (IIS или Apache), либо отключением конкретного сервиса в конфигураторе через свойства публикации. Для временного запрета достаточно остановить сайт или пул приложений на веб-сервере.
Set connector = CreateObject("V83.COMConnector")
Set connection = connector.Connect("Srvr=server;Ref=base;")
' ... работа с базой ...
Set connection = Nothing
Set connector = NothingОтключение соединения на уровне СУБД
Иногда требуется разорвать соединения между сервером 1С и СУБД — например, при обслуживании MS SQL Server. Делать это штатнее всего через остановку службы агента сервера 1С: тогда все сеансы завершатся, а соединения с СУБД закроются корректно.
Убивать соединения непосредственно в Management Studio (через KILL по spid) — крайняя мера. Транзакции откатятся, а пользователи получат ошибки. Перед этим убедитесь, что в базе не выполняются длительные операции: обмены, проведение больших документов, пересчёт итогов.
Проверка результата и восстановление доступа
После отключения убедитесь, что цель достигнута: список сеансов в консоли пуст или содержит только ваш административный сеанс. Для файловой базы проверьте, что монопольный режим устанавливается без ошибок — это признак отсутствия активных подключений.
По завершении регламентных работ не забудьте снять блокировку сеансов и вернуть публикации веб-сервисов, если они отключались. Проверьте вход под обычным пользователем и работу интеграций — внешние системы должны заново установить соединения автоматически.
Как проверить результат
Остался только сеанс администратора
Присутствуют пользовательские или фоновые сеансы
Устанавливается без ошибок
Ошибка «база занята» — есть активные подключения
Вход выполняется штатно
Сообщение о блокировке — блокировка не снята
Что важно запомнить
Сеансы клиент-серверной 1С отключают через консоль кластера, новые подключения блокируют через конфигуратор, COM и веб-соединения закрывают на стороне вызывающего приложения или веб-сервера. Всегда предупреждайте пользователей и проверяйте результат после отключения.
Частые вопросы
Можно ли отключить конкретного пользователя, не заходя на сервер?
Да, если конфигурация построена на Библиотеке стандартных подсистем: в разделе «Администрирование → Обслуживание → Активные пользователи» администратор может завершить выбранные сеансы прямо из режима Предприятия. В самописных конфигурациях без БСП такой возможности может не быть — тогда нужна консоль кластера.
Что произойдёт с данными пользователя при принудительном завершении сеанса?
Все несохранённые данные в открытых формах будут потеряны. Записанные в базу объекты сохранятся, но незавершённые транзакции откатятся. Поэтому перед массовым отключением стоит отправить пользователям предупреждение и дать время на сохранение работы.
Почему сеанс не удаляется из консоли кластера?
Чаще всего это фоновое задание, которое находится в активном состоянии, либо сеанс с текущей транзакцией. Сначала завершите связанное фоновое задание, затем повторите удаление. Если не помогает — перезапуск рабочего процесса кластера решит проблему, но затронет всех пользователей этого процесса.
Как запретить подключения, но оставить доступ администратору?
Установите блокировку соединений через конфигуратор и задайте код разблокировки. Администратор сможет войти, добавив параметр /UC с этим кодом в командную строку запуска. После завершения работ снимите блокировку тем же способом.
Как отключить соединение, если база опубликована на веб-сервере?
Остановите соответствующий сайт или пул приложений в IIS (либо остановите Apache). Клиенты, подключающиеся через веб, потеряют доступ, при этом тонкий клиент по прямому соединению с кластером продолжит работать. Для полного отключения совместите это с блокировкой сеансов.
Опасно ли завершать процессы 1cv8.exe через диспетчер задач?
Для клиент-серверной базы это относительно безопасно: транзакции откатятся, целостность данных сохранит СУБД. Для файловой базы аварийное завершение процесса во время записи может повредить файл данных, поэтому делайте это только когда программа зависла и не отвечает.