Отключить пользователя от базы 1С: все способы и подводные камни

· 9 мин

Содержание

Частая ошибка: человек закрывает окно 1С и думает, что сеанс закончился. Не всегда. Если программа повисла, сеанс остаётся в списке активных, держит лицензию и мешает обновлению. А «убить» его из диспетчера задач на сервере можно только с риском потерять данные.

Завершить работу пользователя можно тремя путями: из самой базы (список активных пользователей), из консоли администрирования серверов 1С и командной строкой через rac. Какой выбрать, зависит от того, файловая у вас база или клиент-серверная, и есть ли у вас права администратора.

Что проверить перед тем, как отключать человека

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

  • 🧾 Спросите пользователя (или его соседей по кабинету), не идёт ли у него проведение или закрытие месяца .
  • 🕒 Посмотрите, когда сеанс начался и что он делает: долгая операция и зависание выглядят по-разному.
  • 💾 Если пользователь работает — попросите сохранить документы. Несохранённые данные пропадут.
  • 🔑 Проверьте свои права: для списка активных пользователей нужны права администратора базы, для консоли — права администратора кластера.

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

Перед отключением пользователя
Выполнено: 0 / 4

Закрыть сеанс из самой базы: список активных пользователей

Самый простой способ — зайти в базу под администратором и открыть список подключений.

Где найти список

  1. Запустите базу под пользователем с полными правами.
  2. Откройте раздел Администрирование и найдите там пункт «Активные пользователи» (обычно он в подразделе поддержки и обслуживания). Если не находите — в Конфигураторе то же самое лежит в меню Администрирование → Активные пользователи.
  3. Если список слишком длинный, отсортируйте его по времени начала: давние сеансы без активности — первые кандидаты на отключение.
  4. В списке видны имя пользователя, компьютер, приложение (тонкий клиент, веб-клиент, Конфигуратор, фоновое задание), время начала сеанса.

Свой текущий сеанс отметка в списке выделяет — его не перепутаете.

Что ещё можно сделать из этого окна

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

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

💡 Если в списке есть строки с приложением «Фоновое задание», это не люди, а регламентные задания базы. Их отключать нужно отдельно и осознанно (см. раздел про регламентные работы ниже).

Консоль администрирования серверов 1С

Для клиент-серверной базы это основной инструмент. Он показывает то, чего не видно из самой базы: сеансы, соединения, блокировки, нагрузку по процессам.

Как подключиться

  1. Запустите «Консоль администрирования серверов 1С:Предприятия» (ставится вместе с сервером или отдельным компонентом).
  2. Добавьте центральный сервер (имя или адрес машины, где запущен агент сервера) и подключитесь.
  3. Разверните дерево: Кластеры → Локальный кластер → Информационные базы.

Завершить сеанс

  1. Выберите нужную информационную базу и откройте её ветку Сеансы.
  2. Найдите строку пользователя: по имени, компьютеру, времени начала.
  3. Вызовите контекстное меню на строке и выберите завершение сеанса (пункт с названием «Удалить» или «Завершить» — зависит от версии консоли).
  4. Подтвердите. Сеанс исчезнет из списка, лицензия освободится.

Рядом есть ветка Соединения. Сеанс — это работа пользователя в базе, соединение — технический канал с рабочим процессом. Если сеанс удалён, а соединение осталось, подождите минуту и обновите список. Иногда соединение висит дольше.

Чем сеанс отличается от соединения

ЧтоЧто этоКогда трогать
СеансРабота пользователя или задания в базеКогда нужно освободить лицензию или отключить человека
СоединениеСвязь клиента с процессом сервераКогда сеанс закрыт, а клиент «висит»
Рабочий процессПроцесс сервера, обслуживающий много сеансовТолько в крайнем случае, оборвёт всех

Командная строка и утилита rac

Утилита rac (Remote Administration Client) работает вместе со службой ras. Нужна, когда консоль недоступна, или когда отключение хочется автоматизировать: скрипт на ночь, расписание, подготовка к обновлению.

Сначала запустите службу удалённого администрирования на сервере (она идёт в составе платформы), а затем обращайтесь к ней из командной строки. Полный список команд даёт справка: rac help.

Базовый порядок

  1. Узнайте идентификатор кластера:
rac cluster list
  1. Получите список сеансов этого кластера:
rac session list --cluster=<идентификатор_кластера>
  1. Найдите нужный сеанс (по пользователю, компьютеру, времени начала) и скопируйте его идентификатор.
  2. Завершите сеанс:
rac session terminate --session=<идентификатор_сеанса> --cluster=<идентификатор_кластера>

Идентификаторы — длинные строки вида GUID. Копируйте их целиком, а не набирайте руками.

💡 Если нужно понять, какие сеансы занимают лицензии, добавьте ключ --licenses к команде rac session list.

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

Когда это лучше консоли

  • 🔁 Нужно завершить много сеансов по условию (скриптом отфильтровать и пройтись по списку).
  • 🖥️ Подключение к серверу только по SSH или через терминал.
  • ⏰ Отключение запускается по расписанию ночью.

Зависание, блокировки и «залипшие» сеансы

Бывает так: сеанс завершён, а база всё равно «занята». Или пользователь отключён, а документ остаётся заблокированным. Разберёмся по признакам.

Сеанс не завершается

Если консоль сообщает об успехе, а сеанс остаётся в списке:

  1. Подождите 1–2 минуты и обновите список — иногда рабочему процессу нужно время закончить текущий вызов.
  2. Проверьте, не выполняется ли у сеанса долгий серверный вызов (в консоли у сеанса видно текущую операцию и время вызова). Вызов не прервётся, пока не завершится.
  3. Если вызов идёт десятки минут — это, скорее всего, застрявшая операция. Тогда остаётся перезапуск рабочего процесса (последнее средство).

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

Блокировки управляемые и объектные

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

Типичный признак: у кого-то ошибка вида «Превышено время ожидания предоставления блокировки». Сначала найдите держателя блокировки в консоли и только потом решайте, прерывать ли его.

Файловая база

В файловой базе консоли нет. Если сеанс завис:

  • Попросите пользователя закрыть 1С самим (кнопка закрытия окна).
  • Если окно не реагирует, завершите процесс 1cv8.exe в диспетчере задач на компьютере этого пользователя.
  • Если компьютер недоступен, подключитесь к нему удалённо или перезагрузите его.

Убитый процесс не успел записать данные и закрыть базу корректно. Для файловой базы после этого полезно проверить целостность (тестирование и исправление в Конфигураторе, база должна быть без других пользователей).

Регламентные работы: как отключать людей по плану

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

Порядок для планового окна

  1. Заранее, за 15–30 минут, предупредите пользователей: через рассылку или сообщение в форме блокировки.
  2. Включите запрет начала новых сеансов. В консоли это свойство информационной базы (блокировка начала сеансов с временем начала и конца и текстом сообщения). Там же задаётся код разрешения — он нужен администратору, чтобы войти, пока для остальных закрыто.
  3. Дождитесь, пока часть людей уйдёт сама, и завершите остатки.
  4. Выполните работу (обновление, загрузку, резервное копирование ).
  5. Снимите блокировку.

Код разрешения администратор передаёт параметром запуска клиента, подробности смотрите в справке платформы.

Регламентные задания

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

Пошаговый помощник
Предупредить
Сообщить всем за 15–30 минут, что вход будет закрыт.

Когда отключать пользователя не нужно

Не каждое «зависло» требует вмешательства. Три случая, когда лучше подождать.

  • 📊 Идёт тяжёлый отчёт или закрытие месяца. Окно не отвечает, но сервер работает. Посмотрите в консоли длительность текущего вызова: если он растёт и нагрузка на процессор есть, это работа, а не зависание.
  • 🔄 Идёт обновление или обмен. Прерывание на середине может оставить данные в промежуточном состоянии.
  • 🧮 Пользователь только что запустил операцию. Дайте ей 5–10 минут. Большая обработка на 100 тысяч документов не обязана закончиться за минуту.

Мини-кейс: утро перед обновлением

Администратор планирует обновление на 19:00. В 18:30 в списке 14 сеансов. Он рассылает предупреждение и в 18:45 включает блокировку начала сеансов. К 19:00 остаются двое: один вышел на обед и забыл закрыть программу, второй работает с отчётом. Первого администратор отключает сразу, со вторым связывается по телефону и ждёт пять минут. В 19:07 база пуста, обновление идёт. Итог: никто не потерял данные, обновление не сорвалось.

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

Какие ошибки делают чаще всего

Некоторые промахи повторяются из раза в раз.

  • 🔒 Блокировку начала сеансов включили, а снять забыли. Утром все приходят и видят сообщение о закрытой базе. Поставьте время окончания блокировки сразу.
  • ⏳ Завершили сеанс, не посмотрев, что он делает. В итоге оборвали закрытие месяца на 80%.
  • 👥 Отключили не того: одинаковые имена на двух компьютерах. Сверяйте компьютер и время начала.
  • 🧱 Убили процесс rphost ради одного зависшего пользователя. Вместе с ним упали все остальные сеансы на этом процессе.
  • 🗂️ Перепутали сеанс с фоновым заданием и «отключили» регламентное задание, из-за которого потом не прошёл обмен.
Диагностика: выберите симптом

Частые вопросы

Освободится ли лицензия, когда я завершу сеанс?
Да. Лицензия возвращается в пул сразу после закрытия сеанса. Если этого не произошло, проверьте соединения в консоли.
Потеряет ли пользователь данные?
Да, всё, что не записано в базу. Незавершённые транзакции откатываются.
Можно ли отключить пользователя из файловой базы без доступа к его компьютеру?
Через список активных пользователей — только если в вашей версии платформы там есть такая команда. Иначе нужен доступ к компьютеру или его перезагрузка.
Нужна ли утилита rac, если есть консоль?
Нет. Но rac удобна для скриптов, ночных отключений и работы по SSH.
Чем «Активные пользователи» отличаются от консоли?
Список в базе показывает только сеансы этой базы и требует входа в неё. Консоль видит весь кластер, включая рабочие процессы, соединения и блокировки.