Принудительно завершаем сеансы пользователей в базе 1С 8.3

· 9 мин

Содержание

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

Способ зависит от варианта базы, ваших прав и того, отвечает ли сеанс. Начинайте с мягких методов. Жёсткие — завершение процессов и закрытие файлов — оставьте для зависших сеансов, которые не уходят сами.

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

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

Прежде чем кого-то выгонять, выясните, кто именно держит базу. Часто это не человек, а фоновое задание, обмен или забытый Конфигуратор у коллеги.

Из режима 1С:Предприятие

В типовых конфигурациях на БСП (Бухгалтерия 3.0, ЗУП 3.1, УТ 11, ERP) список есть в программе:

  1. Откройте Администрирование → Обслуживание.
  2. В группе про работу пользователей выберите «Активные пользователи».
  3. Посмотрите колонки: пользователь, приложение, компьютер, время начала сеанса.

Колонка «Приложение» подскажет, что за сеанс:

  • 🖥️ «Тонкий клиент», «Толстый клиент», «Веб-клиент» — живой человек;
  • 🛠️ «Конфигуратор» — кто-то правит конфигурацию или выгружает базу;
  • ⚙️ «Фоновое задание» — регламентное задание или длительная операция;
  • 🔗 «COM-соединение», «Web-сервис» — внешняя программа или обмен.

Из Конфигуратора

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

В консоли кластера

Для клиент-серверной базы самый полный список — в консоли администрирования: Кластер → Информационные базы → <база> → Сеансы. Там видны номер сеанса, пользователь, компьютер, приложение, рабочий процесс и время последней активности. По последнему полю легко отличить работающий сеанс от брошенного.

Как выгнать пользователя из 1С через консоль администрирования

Это основной способ для серверной базы. Нужны права администратора кластера и, если они заданы, логин и пароль администратора базы.

Пошагово

  1. Запустите «Администрирование серверов 1С Предприятия». Это оснастка MMC, она ставится вместе с сервером.
  2. Если сервер ещё не добавлен, нажмите правой кнопкой на «Central 1C:Enterprise 8.3 servers» и создайте новый «Центральный сервер 1С:Предприятия 8.3». Укажите имя компьютера и порт агента, по умолчанию 1540.
  3. Раскройте Кластеры → <кластер> → Информационные базы → <ваша база> → Сеансы.
  4. Найдите нужного пользователя. Если сеансов много, отсортируйте по колонке «Пользователь».
  5. Правой кнопкой по сеансу — «Удалить». Подтвердите.

Пользователь увидит сообщение о разрыве соединения, его клиент закроется. Лицензия, которую занимал сеанс, освобождается сразу.

💡 Выделите несколько строк с Ctrl или Shift — так удаляются сразу все сеансы одного человека или вся база перед обновлением.

Если консоль не запускается

Частая проблема после обновления платформы: оснастка открывается с ошибкой или пустая. Причина — не зарегистрирована библиотека radmin.dll нужной версии. Регистрируйте её от имени администратора:

regsvr32 "C:\Program Files\1cv8\8.3.24.1586\bin\radmin.dll"

Номер версии в пути подставьте свой: он должен совпадать с версией сервера. Для 64-битного сервера берите библиотеку из Program Files, для 32-битного — из Program Files (x86).

Завершение сеансов из командной строки через rac

Когда нужно отключать пользователей по расписанию или на Linux-сервере, где нет графической консоли, используют утилиту rac. Она работает через сервер администрирования ras, поэтому сначала убедитесь, что ras запущен (по умолчанию слушает порт 1545).

Порядок такой:

rem 1. Узнать идентификатор кластера
rac cluster list

rem 2. Узнать идентификатор базы
rac infobase summary list --cluster=<id_кластера>

rem 3. Посмотреть сеансы этой базы
rac session list --cluster=<id_кластера> --infobase=<id_базы>

rem 4. Завершить конкретный сеанс
rac session terminate --cluster=<id_кластера> --session=<id_сеанса>

Если на кластере задан администратор, к командам добавляют --cluster-user и --cluster-pwd. Точный набор параметров для вашей версии покажет rac help session.

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

Как выгнать всех пользователей из файловой базы 1С

В файловой базе нет консоли кластера. Сеанс живёт в процессе 1cv8.exe или 1cv8c.exe на компьютере пользователя. Поэтому мягкий способ один — блокировка через саму программу.

Блокировка работы пользователей (БСП)

  1. Откройте Администрирование → Обслуживание.
  2. Выберите «Блокировка работы пользователей».
  3. Поставьте флажок запрета работы, задайте время начала и, при желании, окончания блокировки.
  4. Напишите сообщение: его увидят пользователи. Например: «Обновление базы с 19:00, сохраните документы».
  5. Укажите код разрешения — по нему вы сами сможете войти в заблокированную базу.
  6. Нажмите «Установить блокировку» (или «Записать» — зависит от релиза).

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

Запишите код разрешения сразу. Без него в заблокированную базу не попадёт никто, включая вас. Вход с кодом — параметр запуска /UC:

"C:\Program Files\1cv8\common\1cestart.exe" ENTERPRISE /F "D:\Base\Buh" /UC 1234

В типовых конфигурациях также работают параметры запуска /C ЗавершитьРаботуПользователей и /C РазрешитьРаботуПользователей. Первый включает блокировку и завершает сеансы, второй снимает её. Их удобно вписать в ярлык или bat-файл администратора.

Чего блокировка не умеет

  • 🛠️ Конфигуратор у коллеги она не закроет — с ним придётся договариваться лично.
  • 🧊 Зависший клиент, который не отвечает, не проверит флажок и не закроется.
  • 💤 Компьютер в спящем режиме с открытой 1С тоже держит базу.

Для этих случаев остаются жёсткие методы из следующего раздела.

Какая у вас база и что происходит?

Если сеанс завис: процессы и соединения

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

Серверная база: соединения рабочего процесса

  1. В консоли откройте Кластер → Рабочие процессы → <процесс> → Соединения.
  2. Найдите соединения нужной базы и пользователя.
  3. Удалите их правой кнопкой мыши.

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

Файловая база на терминальном сервере

Сеанс здесь — процесс 1С в сессии Windows конкретного пользователя. Его можно завершить в Диспетчере задач на вкладке «Пользователи» или командой:

rem Показать процессы 1С конкретного пользователя
tasklist /FI "USERNAME eq ivanov" /FI "IMAGENAME eq 1cv8c.exe"

rem Завершить их
taskkill /F /FI "USERNAME eq ivanov" /IM 1cv8c.exe

Для толстого клиента и Конфигуратора процесс называется 1cv8.exe. Можно выйти из всей сессии Windows: query session покажет номер сессии, logoff <номер> завершит её.

Файловая база в общей папке

Если база лежит в сетевой папке, а пользователи работают со своих компьютеров, на файловом сервере откройте Управление компьютером → Общие папки → Открытые файлы. Найдите 1Cv8.1CD и закройте его для нужного пользователя.

Это крайняя мера. Обрыв записи в файл базы может её повредить. Перед таким шагом нужна свежая резервная копия, а после — проверка базы.

Блокировка новых входов на время регламентных работ

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

ПараметрЧто задаёт
Блокировка начала сеансов включенаЗапрещает новые подключения
Начало / КонецИнтервал действия блокировки
СообщениеТекст, который увидит пользователь при попытке войти
Код разрешенияКод для входа администратора через /UC
Блокировка регламентных заданий включенаОстанавливает фоновые регламентные задания базы

Порядок перед обновлением конфигурации или загрузкой .dt:

  1. Включите блокировку начала сеансов с сообщением и кодом.
  2. Включите блокировку регламентных заданий — иначе они будут снова занимать базу.
  3. Удалите оставшиеся сеансы в консоли.
  4. Войдите в Конфигуратор с параметром /UC <код> и выполните работу.
  5. Снимите обе блокировки.

Не забудьте пятый шаг. Утром пользователи увидят ваше сообщение и не смогут войти, а регламентные задания (обмены, загрузка курсов) будут стоять.

Сравнение способов:

СпособВариант базыКогда применятьРиск
Удаление сеанса в консоли или через racСервернаяОбычная ситуацияПотеря незаписанных данных у одного пользователя
Блокировка работы пользователей (БСП)ОбеПлановые работыМинимальный
Удаление соединенияСервернаяСеанс возвращаетсяТот же, что у удаления сеанса
Завершение rphostСервернаяПроцесс зависОтключаются все на этом процессе
Завершение процесса 1С у пользователяФайловаяКлиент не отвечаетПотеря несохранённого
Закрытие открытого файла базыФайловаяНичто другое не помоглоПовреждение базы

Почему пользователи «висят» в базе и как это предотвратить

Причины, по которым сеансы остаются в списке без людей:

  • 🌙 пользователь ушёл, оставив 1С открытой, компьютер уснул;
  • 📡 оборвалась сеть или VPN, а клиент не успел закрыть соединение;
  • ⏳ длительная операция — закрытие месяца, тяжёлый отчёт, обмен — ещё выполняется на сервере;
  • 🔁 внешняя обработка или обмен по COM-соединению не закрывает подключение за собой;
  • 🧩 зависание рабочего процесса или нехватка памяти на сервере.

Что помогает:

  • ⏲️ В свойствах базы в консоли кластера задайте время засыпания пассивного сеанса и время завершения спящего сеанса. Брошенные сеансы будут уходить сами и освобождать лицензии.
  • 🔒 Включите в типовой конфигурации автоматическое завершение работы при бездействии, если такая настройка есть в параметрах вашей программы. Ищите её в разделе Администрирование по слову «бездействие» в поиске по форме.
  • 🗓️ Планируйте обновления на вечер и заранее ставьте блокировку с сообщением — её увидят все открытые клиенты.
  • 📋 Раз в неделю смотрите список сеансов: один и тот же «вечный» сеанс указывает на конкретную обработку или компьютер.

Частые ошибки

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

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

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