Принудительно завершаем сеансы пользователей в базе 1С 8.3
Содержание
Выгнать пользователя из 1С можно двумя путями. В клиент-серверной базе откройте консоль администрирования серверов, найдите сеанс в списке базы и удалите его. В файловой базе включите блокировку работы пользователей в разделе Администрирование → Обслуживание: программа сама закроет сеансы в назначенное время.
Способ зависит от варианта базы, ваших прав и того, отвечает ли сеанс. Начинайте с мягких методов. Жёсткие — завершение процессов и закрытие файлов — оставьте для зависших сеансов, которые не уходят сами.
Принудительно закрытый сеанс теряет всё, что пользователь не записал. Документ, который он редактировал, останется в последнем записанном состоянии. Перед отключением предупредите людей, если это возможно.
Кто сейчас в базе: смотрим активных пользователей
Прежде чем кого-то выгонять, выясните, кто именно держит базу. Часто это не человек, а фоновое задание, обмен или забытый Конфигуратор у коллеги.
Из режима 1С:Предприятие
В типовых конфигурациях на БСП (Бухгалтерия 3.0, ЗУП 3.1, УТ 11, ERP) список есть в программе:
- Откройте
Администрирование → Обслуживание. - В группе про работу пользователей выберите «Активные пользователи».
- Посмотрите колонки: пользователь, приложение, компьютер, время начала сеанса.
Колонка «Приложение» подскажет, что за сеанс:
- 🖥️ «Тонкий клиент», «Толстый клиент», «Веб-клиент» — живой человек;
- 🛠️ «Конфигуратор» — кто-то правит конфигурацию или выгружает базу;
- ⚙️ «Фоновое задание» — регламентное задание или длительная операция;
- 🔗 «COM-соединение», «Web-сервис» — внешняя программа или обмен.
Из Конфигуратора
В Конфигураторе есть пункт Администрирование → Активные пользователи. Он только показывает список, завершить чужой сеанс оттуда нельзя.
В консоли кластера
Для клиент-серверной базы самый полный список — в консоли администрирования: Кластер → Информационные базы → <база> → Сеансы. Там видны номер сеанса, пользователь, компьютер, приложение, рабочий процесс и время последней активности. По последнему полю легко отличить работающий сеанс от брошенного.
Как выгнать пользователя из 1С через консоль администрирования
Это основной способ для серверной базы. Нужны права администратора кластера и, если они заданы, логин и пароль администратора базы.
Пошагово
- Запустите «Администрирование серверов 1С Предприятия». Это оснастка MMC, она ставится вместе с сервером.
- Если сервер ещё не добавлен, нажмите правой кнопкой на «Central 1C:Enterprise 8.3 servers» и создайте новый «Центральный сервер 1С:Предприятия 8.3». Укажите имя компьютера и порт агента, по умолчанию 1540.
- Раскройте
Кластеры → <кластер> → Информационные базы → <ваша база> → Сеансы. - Найдите нужного пользователя. Если сеансов много, отсортируйте по колонке «Пользователь».
- Правой кнопкой по сеансу — «Удалить». Подтвердите.
Пользователь увидит сообщение о разрыве соединения, его клиент закроется. Лицензия, которую занимал сеанс, освобождается сразу.
💡 Выделите несколько строк с 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 на компьютере пользователя. Поэтому мягкий способ один — блокировка через саму программу.
Блокировка работы пользователей (БСП)
- Откройте
Администрирование → Обслуживание. - Выберите «Блокировка работы пользователей».
- Поставьте флажок запрета работы, задайте время начала и, при желании, окончания блокировки.
- Напишите сообщение: его увидят пользователи. Например: «Обновление базы с 19:00, сохраните документы».
- Укажите код разрешения — по нему вы сами сможете войти в заблокированную базу.
- Нажмите «Установить блокировку» (или «Записать» — зависит от релиза).
Открытые клиенты периодически проверяют блокировку. Пользователи получают предупреждение, а к назначенному времени программа закрывается у них сама.
Запишите код разрешения сразу. Без него в заблокированную базу не попадёт никто, включая вас. Вход с кодом — параметр запуска /UC:
"C:\Program Files\1cv8\common\1cestart.exe" ENTERPRISE /F "D:\Base\Buh" /UC 1234
В типовых конфигурациях также работают параметры запуска /C ЗавершитьРаботуПользователей и /C РазрешитьРаботуПользователей. Первый включает блокировку и завершает сеансы, второй снимает её. Их удобно вписать в ярлык или bat-файл администратора.
Чего блокировка не умеет
- 🛠️ Конфигуратор у коллеги она не закроет — с ним придётся договариваться лично.
- 🧊 Зависший клиент, который не отвечает, не проверит флажок и не закроется.
- 💤 Компьютер в спящем режиме с открытой 1С тоже держит базу.
Для этих случаев остаются жёсткие методы из следующего раздела.
Если сеанс завис: процессы и соединения
Бывает, что сеанс удалён в консоли, а через минуту появляется снова. Или файловая база не освобождается, хотя все ушли домой. Тогда работают с уровнем ниже.
Серверная база: соединения рабочего процесса
- В консоли откройте
Кластер → Рабочие процессы → <процесс> → Соединения. - Найдите соединения нужной базы и пользователя.
- Удалите их правой кнопкой мыши.
Если не помогает и рабочий процесс 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:
- Включите блокировку начала сеансов с сообщением и кодом.
- Включите блокировку регламентных заданий — иначе они будут снова занимать базу.
- Удалите оставшиеся сеансы в консоли.
- Войдите в Конфигуратор с параметром
/UC <код>и выполните работу. - Снимите обе блокировки.
Не забудьте пятый шаг. Утром пользователи увидят ваше сообщение и не смогут войти, а регламентные задания (обмены, загрузка курсов) будут стоять.
Сравнение способов:
| Способ | Вариант базы | Когда применять | Риск |
|---|---|---|---|
| Удаление сеанса в консоли или через rac | Серверная | Обычная ситуация | Потеря незаписанных данных у одного пользователя |
| Блокировка работы пользователей (БСП) | Обе | Плановые работы | Минимальный |
| Удаление соединения | Серверная | Сеанс возвращается | Тот же, что у удаления сеанса |
Завершение rphost | Серверная | Процесс завис | Отключаются все на этом процессе |
| Завершение процесса 1С у пользователя | Файловая | Клиент не отвечает | Потеря несохранённого |
| Закрытие открытого файла базы | Файловая | Ничто другое не помогло | Повреждение базы |
Почему пользователи «висят» в базе и как это предотвратить
Причины, по которым сеансы остаются в списке без людей:
- 🌙 пользователь ушёл, оставив 1С открытой, компьютер уснул;
- 📡 оборвалась сеть или VPN, а клиент не успел закрыть соединение;
- ⏳ длительная операция — закрытие месяца, тяжёлый отчёт, обмен — ещё выполняется на сервере;
- 🔁 внешняя обработка или обмен по COM-соединению не закрывает подключение за собой;
- 🧩 зависание рабочего процесса или нехватка памяти на сервере.
Что помогает:
- ⏲️ В свойствах базы в консоли кластера задайте время засыпания пассивного сеанса и время завершения спящего сеанса. Брошенные сеансы будут уходить сами и освобождать лицензии.
- 🔒 Включите в типовой конфигурации автоматическое завершение работы при бездействии, если такая настройка есть в параметрах вашей программы. Ищите её в разделе
Администрированиепо слову «бездействие» в поиске по форме. - 🗓️ Планируйте обновления на вечер и заранее ставьте блокировку с сообщением — её увидят все открытые клиенты.
- 📋 Раз в неделю смотрите список сеансов: один и тот же «вечный» сеанс указывает на конкретную обработку или компьютер.
Частые ошибки
- ❌ Удаляют сеанс фонового задания, не разобравшись. Если это закрытие месяца или обмен, операция прервётся и её придётся запускать заново.
- ❌ Выгоняют всех, но не ставят блокировку — через минуту пользователи заходят снова.
- ❌ Перезапускают службу сервера 1С ради одного зависшего сеанса и отключают все базы кластера.
- ❌ Удаляют файл блокировки или папки временных файлов файловой базы, пока в ней кто-то работает.