Отключаем пользователей от базы 1С: консоль, rac и ручные способы

· 9 мин

Содержание

Вы запускаете обновление, а 1С отвечает: Невозможно выполнить операцию, пока в информационной базе работают другие пользователи. Кто-то ушёл на обед с открытой базой, у кого-то сеанс завис. Чтобы завершить сеанс в 1С, откройте консоль кластера серверов, найдите базу, выберите пункт Сеансы и нажмите «Завершить сеанс» у нужного пользователя. Для файловой базы путь другой, он описан ниже.

Способ зависит от режима работы. Клиент-серверная база управляется через кластер. Файловая такой возможности не имеет: там остаются список активных пользователей внутри 1С и диспетчер задач. Ниже все варианты от мягкого к жёсткому.

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

Сначала определите режим базы: файловая или клиент-серверная

От этого зависит набор инструментов. Режим виден в окне запуска 1С: в строке информационной базы указан либо путь к папке или File=, либо имя сервера (Srvr=).

РежимГде найти сеансыЧем завершать
Клиент-серверныйКонсоль кластера, утилита racКнопка «Завершить сеанс», команда rac session terminate
ФайловыйСписок активных пользователей в самой 1С, открытые файлы в WindowsПросьба выйти, блокировка, завершение процесса

В файловом режиме принудительно «выкинуть» пользователя средствами 1С нельзя. Можно только запретить новые входы и попросить остальных выйти.

Как закрыть сеансы пользователей из самой 1С

Если консоль кластера недоступна, а у вас есть права администратора, начните с самой базы. Это самый безопасный вариант.

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

В Конфигураторе то же самое делается через меню Администрирование → Активные пользователи. Там видно имя, компьютер, приложение и время начала сеанса.

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

Параметр запуска для скриптов

Для автоматизации в командной строке 1С есть параметр /C со значением ЗавершитьРаботуПользователей. Он работает в конфигурациях с подсистемой «Базовая функциональность»:

"C:\Program Files\1cv8\8.3.xx.xxxx\bin\1cv8.exe" ENTERPRISE /S"srv-1c\accounting" /N"Админ" /P"пароль" /C"ЗавершитьРаботуПользователей" /UC"ключ"

Вместо 8.3.xx.xxxx подставьте версию платформы, установленную у вас. Ключ после /UC потом понадобится для входа в заблокированную базу.

Завершение сеансов через консоль кластера серверов

Для серверной базы это основной способ. Консоль ставится вместе с сервером 1С или отдельным компонентом платформы. Подключаться нужно к серверу, где запущена служба «Агент сервера 1С:Предприятия» (порт по умолчанию 1540).

Находим нужный сеанс

  1. Откройте консоль администрирования серверов 1С.
  2. Добавьте центральный сервер, если его нет: Центральные серверы 1С:Предприятия → Создать → Центральный сервер.
  3. Раскройте ветку Кластеры → Локальный кластер → Информационные базы.
  4. Выберите свою базу и откройте узел Сеансы.
  5. В таблице видны пользователь, компьютер, приложение, время начала и последняя активность.

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

Какие сеансы можно закрывать, а какие нет

Перед тем как нажимать «Завершить», посмотрите на колонку «Приложение». От неё зависит, чем рискуете.

Тип в спискеЧто этоМожно ли закрывать
Тонкий клиент, веб-клиентЖивой пользовательДа, после предупреждения
Толстый клиентПользователь или администратор в режиме 1С:ПредприятиеДа, после предупреждения
КонфигураторРазработчик или администратор правит конфигурациюТолько после звонка: незаписанные изменения пропадут
Фоновое заданиеРегламентная операция: обмен, пересчёт итоговЛучше дождаться окончания
Внешнее соединениеСайт, обмен, сторонняя программаСначала остановите источник

Завершаем сеанс

  1. Правой кнопкой по строке сеанса выберите «Завершить сеанс» (или кнопка с красным крестиком на панели).
  2. Подтвердите действие.
  3. Обновите список. Строка должна исчезнуть.

Выделить несколько строк можно с зажатым Ctrl, а затем завершить их одним действием.

Все несохранённые данные в закрытых сеансах пропадут. Документ, который человек набирал полчаса, не сохранится. Поэтому предупредите людей заранее.

Если сеанс остался в списке

Бывает, что сеанс завершён, а строка висит. Причина обычно в соединении, которое не отпустил клиентский процесс.

  1. Откройте узел Соединения в той же информационной базе.
  2. Найдите соединение того же пользователя и компьютера.
  3. Выберите «Разорвать соединение».

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

Как запретить новые входы перед завершением

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

  1. Откройте свойства базы (двойной щелчок по ней в консоли).
  2. Включите флажок «Включить блокировку начала сеансов».
  3. Задайте период: «Начало» и «Конец».
  4. Впишите сообщение и код разрешения.
  5. Сохраните настройки и завершите оставшиеся сеансы.

Код разрешения нужен вам самим. Чтобы войти в заблокированную базу администратором, добавьте в параметры запуска /UC и тот же код.

Что блокируетсяГде настраиваетсяКогда использовать
Начало новых сеансовСвойства базы, блокировка начала сеансовПеред обновлением, переносом, реструктуризацией
Регламентные заданияСвойства базы, блокировка регламентных заданийПеред копированием базы на тестовый стенд

Тестовую копию рабочей базы нужно открывать с отключёнными регламентными заданиями. Иначе она начнёт рассылать письма и обмениваться данными как боевая.

Закрытие сеансов командной строкой: утилита rac

Когда консоли под рукой нет, а сервер управляется по SSH или через планировщик, подойдёт rac. Она лежит в каталоге платформы рядом с остальными исполняемыми файлами и работает через службу администрирования ras.

Запустите службу администрирования (порт 1545 по умолчанию, 1540 это порт агента сервера):

ras cluster --port=1545 localhost:1540

Дальше три шага:

rac localhost:1545 cluster list
rac localhost:1545 session list --cluster=<идентификатор_кластера>
rac localhost:1545 session terminate --cluster=<идентификатор_кластера> --session=<идентификатор_сеанса>

Идентификаторы это длинные GUID, их выводит предыдущая команда. Чтобы не искать нужный сеанс глазами, отфильтруйте вывод по имени пользователя (findstr в Windows, grep в Linux).

💡 Для регулярных задач оберните три команды в .bat или .sh и повесьте на расписание. Типичный сценарий: ночью закрыть все сеансы, сделать выгрузку базы, открыть доступ.

Если база файловая: что делать, когда пользователь завис

В файловом режиме консоли кластера нет. Рабочий порядок такой.

  1. Позвоните или напишите пользователю. Чаще всего проблема решается просьбой закрыть окно 1С.
  2. Откройте Конфигуратор и проверьте Администрирование → Активные пользователи. Так вы узнаете, чей сеанс остался.
  3. Если человек недоступен, зайдите на его компьютер. Откройте диспетчер задач, найдите процесс 1cv8.exe (или 1cv8c.exe для тонкого клиента ) и завершите его.
  4. Если компьютер недоступен, а база лежит на файловом сервере, завершите открытые файлы базы. В Windows это Управление компьютером → Служебные программы → Общие папки → Открытые файлы. Нужный файл называется 1Cv8.1CD.

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

Как предупредить пользователей до завершения

Внезапный вылет из базы раздражает и стоит денег. Хватит пары минут на нормальное предупреждение.

  • 📢 Сообщение в блокировке. Текст видят все, кто сидит в базе. Пишите коротко: «В 19:00 база закрывается на обновление, сохраните документы».
  • 📢 Мессенджер или почта. Для людей, которые давно не двигают мышь в 1С, но держат окно открытым.
  • 📢 Фиксированное окно. Договоритесь, что плановые работы идут в одно и то же время, например по пятницам после 19:00. Люди привыкают и сами выходят.
  • 📢 Проверка перед началом. За 5 минут до срока загляните в список сеансов. Если осталось два-три человека, позвоните им.

Для крупной организации с десятками пользователей удобно вести небольшой список «кто всегда остаётся последним». Обычно это одни и те же 3–4 человека: главбух, кладовщик, оператор с ночной сменой.

Как реже сталкиваться с зависшими сеансами

Зависший сеанс проще предотвратить, чем потом разбирать.

  1. Обновляйте платформу. Часть зависаний тонкого клиента исправляется в новых релизах платформы. Посмотрите примечания к релизу на сайте поддержки.
  2. Следите за сетью. Обрыв Wi-Fi или VPN оставляет на сервере «сироту»: клиента уже нет, сеанс ещё числится. Такие сеансы видны по давней последней активности.
  3. Не давайте входить под одной учёткой. Когда пять человек работают под одним пользователем, в списке сеансов не разобраться, кого закрывать.
  4. Настройте завершение по бездействию. В свойствах информационной базы и в параметрах кластера есть тайм-ауты неактивных сеансов. Подберите их под свою нагрузку, чтобы не выбросить человека во время обеда.

Если не помогло

Бывает, что сеанс не закрывается ни одним из способов. Пройдите по списку.

  • 🔍 Фоновое задание. Сеанс принадлежит регламентному заданию, а не человеку. Сначала отключите регламентные задания, затем закрывайте.
  • 🔍 Внешнее соединение. Это может быть обмен, сайт или сервис на COM-соединении. Остановите приложение-источник.
  • 🔍 Зависший рабочий процесс. В консоли откройте Рабочие серверы → Рабочие процессы и посмотрите, какой процесс «держит» память и соединения. Его завершение закроет все его сеансы.
  • 🔍 Перезапуск службы. Служба «Агент сервера 1С:Предприятия» перезапускается только в окно обслуживания. Работа всех пользователей прервётся.

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

Типичные ошибки при закрытии сеансов

  • ❌ Закрыли сеансы, но не включили блокировку. Через минуту пользователи вернулись, а обновление снова упёрлось в «в базе работают другие пользователи».
  • ❌ Завершили сеанс с типом «Фоновое задание» и сломали выгрузку. Задание придётся запускать вручную.
  • ❌ Потеряли код разрешения. Войти в заблокированную базу нельзя, пока не снимете блокировку в консоли или не дождётесь её окончания.
  • ❌ Закрывали пользователей в разгар закрытия периода. Дата и время работ нужно согласовать с бухгалтерией.
  • ❌ Убили процесс в диспетчере задач в файловой базе без копии и получили повреждённый файл.

Полный порядок для планового обслуживания

Три блока выше сводятся в одну последовательность перед обновлением или копированием базы.

Перед обновлением базы
Выполнено: 0 / 6

Какой способ выбрать

Как у вас работает база?

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

Можно ли завершить сеанс 1С без потери данных?
Нет. Незаписанные документы и формы в закрытом сеансе пропадут. Единственный способ сохранить работу — предупредить человека, чтобы он записал документы и вышел сам.
Почему сеанс остаётся в консоли после завершения?
Обычно остаётся соединение. Разорвите его в узле «Соединения». Если не помогает, перезапустите рабочий процесс в окно обслуживания.
Как узнать, кто сейчас в базе?
В консоли кластера смотрите узел «Сеансы». В файловой базе откройте в Конфигураторе Администрирование → Активные пользователи.
Нужен ли доступ администратора, чтобы закрыть чужой сеанс?
Да. В консоли нужны права администратора кластера или базы. В самой 1С нужна роль с полными правами.
Как войти в базу, если включена блокировка?
Добавьте в параметры запуска /UC и код разрешения, который указали при блокировке. Без него вход закрыт для всех.
Можно ли закрывать сеансы по расписанию?
Да. Свяжите rac с планировщиком заданий Windows или cron. Сначала включайте блокировку, потом завершайте сеансы.