Принудительное завершение сеансов в 1С 8.3: консоль, rac и блокировка входа

· 9 мин

Содержание

Отключить активного пользователя в 1С 8.3 быстрее всего через консоль кластера серверов: Информационные базы → нужная база → Сеансы, правый клик по строке пользователя → Удалить. Если в конфигурации есть подсистема БСП (Бухгалтерия 3.0, ЗУП 3.1, УТ 11), то же самое делает форма «Активные пользователи» с командой завершения сеанса, а в файловой базе — блокировка работы пользователей.

Способ зависит от двух вещей: где лежит база (сервер 1С или файл 1Cv8.1CD) и что нужно — выкинуть одного человека, освободить базу для обновления или закрыть доступ уволенному сотруднику навсегда. Для первого хватит минуты в консоли, для второго нужна блокировка входа, для третьего — запрет входа в карточке пользователя.

Что проверить перед принудительным отключением

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

Перед тем как жать «Удалить», пройдите короткий список:

  • 📞 Предупредите пользователя. Звонок или сообщение «выйдите из 1С через 5 минут» спасает несохранённую работу и снимает лишние претензии.
  • 🔍 Посмотрите, чем занят сеанс. В консоли кластера у сеанса видно время начала, приложение и объём захваченной памяти. Если сеанс долго держит транзакцию, после удаления база какое-то время будет откатывать изменения.
  • 🤖 Отличите человека от фонового задания. Сеансы с приложением «Фоновое задание» или «COM-соединение» — это регламентные задания и обмены. Удалите их — через минуту они запустятся снова.
  • 🔑 Проверьте права. Для удаления сеансов на сервере нужен логин и пароль администратора кластера (если он задан) и администратора информационной базы.

Если вы готовите базу к обновлению конфигурации или загрузке .dt, отключать людей по одному бессмысленно — они зайдут снова. Сначала включите блокировку новых сеансов, а потом завершайте текущие.

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

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

Пошагово

  1. Откройте Пуск → 1С Предприятие 8 → Администрирование серверов 1С Предприятия.
  2. Если сервера в дереве нет, правый клик по Central 1C:Enterprise 8.3 servers → Создать → Центральный сервер 1С:Предприятия 8.3, укажите имя компьютера и порт 1540.
  3. Раскройте Кластеры → Локальный кластер → Информационные базы → <имя базы>. Консоль запросит логин и пароль администратора этой базы.
  4. Выберите узел Сеансы. Справа появится список: пользователь, компьютер, приложение, время начала.
  5. Найдите нужную строку (колонки сортируются кликом по заголовку), правый клик → Удалить.

Пользователь увидит сообщение Сеанс работы завершен администратором и предложение перезапустить программу.

💡 Чтобы выкинуть всех сразу, выделите строки с Shift или Ctrl и удалите пачкой. Сеансы конфигуратора (Конфигуратор в колонке «Приложение») тоже удаляются, но предупредите разработчика — несохранённые правки конфигурации пропадут.

Сеансы и соединения

В узле базы есть ещё Соединения. Соединение — это канал от клиента к рабочему процессу, сеанс — логическая работа пользователя. Обычно достаточно удалить сеанс: связанные соединения закроются сами. Разрывать соединения вручную стоит, только если сеанс уже удалён, а соединение висит.

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

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

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

Версия radmin.dll должна совпадать с версией сервера 1С, иначе консоль не подключится к агенту.

Отключение пользователей в файловой базе 1С

В файловом варианте нет кластера и нет консоли. Каждый клиент сам открывает файл 1Cv8.1CD, поэтому «удалить сеанс» с сервера нельзя.

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

Дальше есть три рабочих пути.

1. Блокировка работы пользователей средствами конфигурации

В типовых конфигурациях на БСП откройте раздел Администрирование → Обслуживание и найдите команду «Блокировка работы пользователей». Включите блокировку, задайте время начала и текст сообщения.

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

2. Закрыть процесс на терминальном сервере

Если пользователи работают через RDP на одном сервере, найдите процесс 1cv8.exe или 1cv8c.exe нужного пользователя в диспетчере задач (вкладка «Пользователи») и завершите его. Это грубый, но надёжный способ.

3. Закрыть открытый файл на файловом сервере

На Windows-сервере, где лежит база: Управление компьютером → Общие папки → Открытые файлы. Найдите 1Cv8.1CD, правый клик → «Закрыть открытый файл». Так отключается конкретный компьютер, держащий базу.

Закрытие файла посреди записи может повредить базу. Делайте это только при наличии свежей резервной копии и после попытки отключить пользователя штатно.

Если база опубликована на веб-сервере в файловом режиме, сеансы держит сам веб-сервер. Перезапуск пула приложений IIS или службы Apache отключит всех веб-пользователей разом.

Завершение сеансов из 1С и через командную строку

Форма «Активные пользователи»

В конфигурациях на БСП есть форма «Активные пользователи». Её проще всего открыть через Все функции → Обработки → Активные пользователи (если пункта «Все функции» нет, включите его: Сервис и настройки → Параметры → Отображать команду "Все функции").

Форма показывает пользователя, компьютер, приложение и время начала сеанса. Для серверной базы в ней доступна команда завершения выбранного сеанса — при первом использовании программа спросит параметры администрирования кластера. В файловой базе форма только показывает список, отключать через неё нельзя.

💡 Стандартная платформенная функция «Активные пользователи» (раздел «Стандартные» в «Все функции») тоже показывает список, но без кнопки завершения — это просто монитор.

Утилита rac

Для автоматизации на сервере используется связка ras (сервер администрирования) и rac (консольный клиент). Сначала запустите ras, он по умолчанию слушает порт 1545:

ras cluster --daemon

Дальше получите идентификаторы кластера и базы, список сеансов и завершите нужный:

rac cluster list
rac infobase summary list --cluster=<uuid-кластера>
rac session list --cluster=<uuid-кластера> --infobase=<uuid-базы>
rac session terminate --cluster=<uuid-кластера> --session=<uuid-сеанса>

Если у кластера задан администратор, добавьте --cluster-user и --cluster-pwd. Полный список параметров — rac help session.

Этот подход удобен для ночных скриптов: bat-файл в планировщике задач завершает все сеансы перед резервным копированием или обновлением. Схема скрипта такая:

  1. Включить блокировку начала сеансов и регламентных заданий (rac infobase update, см. следующий раздел).
  2. Получить список сеансов базы (rac session list) и выбрать из вывода строки session.
  3. Для каждого идентификатора вызвать rac session terminate.
  4. Выполнить обслуживание: выгрузку, обновление, тестирование.
  5. Снять блокировку тем же rac infobase update с --sessions-deny=off.

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

Параметр /C для типовых конфигураций

Конфигурации на БСП понимают параметр запуска ЗавершитьРаботуПользователей. Он включает блокировку и выгоняет всех, кто сейчас в базе:

"C:\Program Files\1cv8\common\1cestart.exe" ENTERPRISE /S"srv1c\buh" /N"Администратор" /P"пароль" /C"ЗавершитьРаботуПользователей" /UC"12345"

Код /UC — это код разрешения: с ним администратор сможет зайти в заблокированную базу. Снять блокировку — тот же запуск с параметром /C"РазрешитьРаботуПользователей" и тем же /UC.

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

Отключить людей — полдела. Если не закрыть вход, через минуту кто-то откроет базу снова, и обновление сорвётся.

Блокировка в свойствах базы на сервере

В консоли кластера: правый клик по базе → Свойства. Там есть:

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

Пользователь при входе получит ошибку Начало сеанса с информационной базой запрещено и ваше сообщение. Уже открытые сеансы эта галочка не трогает — их нужно удалить вручную или через rac.

То же самое делается командой rac infobase update с параметрами --sessions-deny=on, --denied-message, --permission-code и --scheduled-jobs-deny=on. Нужны также --infobase-user и --infobase-pwd.

Блокировка из конфигурации

Форма «Блокировка работы пользователей» на БСП работает и в файловой, и в серверной базе. Для серверной она выставляет ту же блокировку в кластере, а заодно предупреждает пользователей заранее и завершает их сеансы в назначенное время.

Какая у вас задача?

Как отключить уволенного сотрудника и сохранить его данные

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

Правильный порядок в конфигурациях на БСП:

  1. Откройте Администрирование → Настройки пользователей и прав → Пользователи.
  2. Откройте карточку сотрудника и снимите флажок «Вход в программу разрешен». Запишите.
  3. Если нужно убрать его из списков выбора, установите в карточке признак «Недействителен».
  4. Завершите его текущий сеанс одним из способов выше — запрет входа не выкидывает того, кто уже работает.
  5. Смените пароли общих учётных записей, если сотрудник их знал.

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

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

Частые ошибки при отключении активных пользователей

Диагностика: выберите симптом

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

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