Отключаем пользователей от базы 1С: от вежливой просьбы до rac
Содержание
Завершить сеансы пользователей
в 1С 8.3 быстрее всего через консоль администрирования кластера: Кластер → Информационные базы → <база> → Сеансы, выделить сеансы и выбрать в контекстном меню «Удалить». Если людей нужно не просто выкинуть, а не пустить обратно на время обновления — сначала включают блокировку начала сеансов, а уже потом удаляют оставшихся.
Выбор способа зависит от трёх вещей: файловая база или клиент-серверная, есть ли у вас пароль администратора кластера и сколько времени до работ. Для ночных регламентов удобнее скрипт на rac, для зависших сеансов — перезапуск службы, а в файловой базе — блокировка средствами самой программы.
Какой способ отключения выбрать
| Способ | Когда подходит | Риски |
|---|---|---|
| Пользователь выходит сам | Есть 10–15 минут, людей немного | Кто-то забудет, ушёл на обед с открытой базой |
| Консоль кластера серверов | Клиент-серверная база, нужен быстрый результат | Несохранённые документы пропадут |
| Блокировка начала сеансов | Регламент: обновление, загрузка .dt, тестирование и исправление | Забыли снять — утром никто не войдёт |
| «Активные пользователи» и блокировка в самой 1С | Нет доступа к серверу, есть права администратора в базе | В клиент-серверном режиме всё равно нужен пароль администратора кластера |
| Остановка службы или процессов | Сеансы «висят», консоль не помогает | Обрываются сеансы во ВСЕХ базах сервера |
Скрипт на rac | Ночные регламенты по расписанию | Ошибка в фильтре — отключите не ту базу |
Сеанс и соединение — разные вещи. Сеанс — это пользователь (или фоновое задание) в базе. Соединение — сетевой канал клиента с рабочим процессом. Обычно удаляют именно сеансы: соединения закрываются вслед за ними.
Как пользователю штатно завершить свою работу
Самый безопасный вариант — когда человек выходит сам. Все документы сохранены, ничего не оборвалось посреди записи.
- Записать и провести открытые документы.
- Закрыть формы, где идёт долгая операция (закрытие месяца , обработка, загрузка).
- Выйти через главное меню: значок с тремя полосками в левом верхнем углу →
Файл → Выход. Можно просто закрыть окно программы крестиком. - Если окно не закрывается — подождать: обычно клиент дописывает данные на сервер.
Что ломает штатный выход:
- 🔌 обрыв сети или VPN — клиент пропал, а сеанс на сервере ещё живёт;
- 💻 «убитый» через Диспетчер задач процесс
1cv8c.exeили1cv8.exe; - 🌙 ноутбук ушёл в сон с открытой базой;
- 🖥 закрытая RDP-сессия без выхода из 1С: программа продолжает работать на терминальном сервере.
Последний случай самый частый. На терминальном сервере «отключиться» от RDP — не значит выйти из 1С. Сеанс занимает лицензию и мешает обновлению. Научите людей выходить из программы, а на сервере задайте лимит для отключённых RDP-сессий в групповых политиках.
Завершение сеансов в консоли управления кластером серверов
Для клиент-серверной базы это основной инструмент. Консоль — оснастка MMC «Администрирование серверов 1С Предприятия», ставится вместе с платформой.
Подключение к серверу
- Запустите консоль. Если её нет в меню «Пуск» или она пустая, зарегистрируйте
radmin.dllиз папкиbinнужной версии платформы командой от администратора:
regsvr32 "C:\Program Files\1cv8\8.3.24.1467\bin\radmin.dll"
- Правой кнопкой по «Central 1C:Enterprise 8.3 servers» → «Создать» → «Центральный сервер 1С:Предприятия 8.3».
- Укажите имя сервера и порт агента — по умолчанию 1540.
- Если на кластере заведены администраторы, консоль спросит логин и пароль.
Версия консоли (то есть зарегистрированного radmin.dll) должна совпадать с версией сервера. Иначе консоль либо не подключится, либо покажет ошибку о несовпадении версий.
Удаление сеансов
- Раскройте
Кластеры → <кластер> → Информационные базы → <база> → Сеансы. - Справа появится список: пользователь, компьютер, приложение, время начала, последняя активность.
- Выделите нужные строки (Ctrl или Shift для нескольких).
- Правой кнопкой → «Удалить» и подтвердите.
Если нужно увидеть сеансы всех баз сразу, откройте узел Сеансы прямо под кластером, а не под базой.
Колонка «Приложение» помогает не удалить лишнее:
| Значение | Что это | Удалять? |
|---|---|---|
| Тонкий клиент, Толстый клиент | Обычный пользователь | Да, если вышло время |
| Конфигуратор | Разработчик или администратор | Сначала спросите — может идти обновление |
| Фоновое задание | Регламентное задание базы | Да, но лучше включить блокировку регламентных заданий |
| Веб-клиент, Веб-сервер | Пользователь через браузер или HTTP-сервис | По ситуации |
| COM-соединение | Внешняя программа, обмен | Уточните, кто подключается |
Удаление сеанса не сохраняет данные пользователя. Документ, который он не записал, пропадёт. Транзакция, которая шла в момент удаления, откатится.
Блокировка новых соединений перед регламентными работами
Удалить сеансы мало: через минуту бухгалтер запустит ярлык снова. Поэтому перед обновлением сначала закрывают вход, потом отключают оставшихся.
Блокировка в консоли кластера
- Правой кнопкой по базе → «Свойства».
- Введите логин и пароль администратора информационной базы (пользователь 1С с полными правами).
- Заполните поля:
- «Блокировка начала сеансов включена» — галочка;
- «Начало» и «Конец» — интервал блокировки; пустой конец означает «пока не снимут вручную»;
- «Сообщение» — текст, который увидит пользователь при попытке входа;
- «Код разрешения» — пароль, по которому администратор войдёт несмотря на блокировку;
- «Блокировка регламентных заданий включена» — чтобы фоновые задачи не стартовали во время работ.
- Нажмите «ОК», затем удалите оставшиеся сеансы, как описано выше.
Блокировка не выкидывает тех, кто уже внутри. Она только запрещает новые входы. Поэтому порядок такой: блокировка → удаление сеансов → работы → снятие блокировки.
Как войти в заблокированную базу
Администратор запускает 1С с параметром /UC и кодом разрешения. Например, в командной строке:
"C:\Program Files\1cv8\8.3.24.1467\bin\1cv8.exe" DESIGNER /S"srv1c\buh" /N"Администратор" /P"пароль" /UC1234
Код можно дописать и в поле «Дополнительные параметры запуска» в настройках базы в окне запуска.
Ставьте «Конец» блокировки с запасом, но не оставляйте поле пустым на ночных работах. Если скрипт или человек забудет снять блокировку, она хотя бы сама закончится к утру.
Отключение пользователей средствами самой 1С
Если доступа к серверу нет, а права администратора в базе есть, поможет функционал типовых конфигураций на БСП: Бухгалтерия 3.0, ЗУП 3.1, УТ 11, КА и ERP. Механизм общий для платформы и библиотеки, поэтому пути совпадают.
Список активных пользователей
Администрирование → Обслуживание → Активные пользователи.
Форма показывает, кто сейчас в базе, с какого компьютера и в каком приложении. Выделите строку и нажмите «Завершить сеанс». В клиент-серверной базе программа попросит параметры администрирования кластера: если на кластере есть администраторы, без их логина и пароля сеанс не завершится.
В Конфигураторе тоже есть Администрирование → Активные пользователи, но этот список только для просмотра — отключить из него никого нельзя.
Блокировка работы пользователей
Администрирование → Обслуживание → Блокировка работы пользователей.
Здесь задают текст сообщения, время начала и окончания, код для входа. После установки блокировки программа заранее предупреждает работающих пользователей, а к началу интервала завершает их сеансы. Это мягче, чем удаление из консоли: у людей есть время записать документы.
Особенность файловой базы
В файловом режиме нет кластера и нет консоли. Принудительно оборвать чужой сеанс изнутри программы нельзя. Блокировка БСП работает за счёт того, что клиенты сами видят флаг блокировки, показывают предупреждение и закрываются.
Для автоматического отключения БСП понимает параметры запуска:
| Параметр | Что делает |
|---|---|
/C"ЗавершитьРаботуПользователей" | Устанавливает блокировку и завершает работу пользователей |
/C"РазрешитьРаботуПользователей" | Снимает блокировку |
/UC<код> | Вход в заблокированную базу |
Аварийное завершение через службы Windows и Linux
Этот путь — когда консоль не отвечает, сеанс после удаления «воскресает» или рабочий процесс завис.
Остановка службы или процесса обрывает сеансы ВСЕХ пользователей во ВСЕХ базах этого сервера. Делайте это в нерабочее время или после оповещения. Если в момент остановки шло обновление конфигурации или загрузка .dt — база может остаться в несогласованном состоянии, восстанавливаться придётся из резервной копии.
Windows
- Откройте
services.msc. - Найдите службу «Агент сервера 1С:Предприятия 8.3» (в названии может быть указана разрядность, например «x86-64»).
- Выберите «Перезапустить».
Из командной строки то же самое делают через sc stop и sc start с именем службы. Точное имя посмотрите в свойствах службы, поле «Имя службы».
Если завис один рабочий процесс, а не весь сервер, сначала посмотрите в консоли Кластер → Рабочие процессы. У процесса rphost видно занятую память и число соединений. Его можно завершить в Диспетчере задач — менеджер кластера запустит новый. Сеансы, жившие в этом процессе, оборвутся.
Linux
С платформы 8.3.21 сервер ставится как systemd-юнит с номером версии в имени. Найдите его и перезапустите:
systemctl list-units | grep srv1cv8
sudo systemctl restart srv1cv8-8.3.24.1467@default
На более ранних версиях использовался init-скрипт srv1cv83. Процессы те же, что в Windows: ragent, rmngr, rphost.
Файловая база на общей папке
Здесь сервера 1С нет — каждый клиент сам открывает файл 1Cv8.1CD. Если чужой компьютер завис или выключен, а файл занят:
- На файловом сервере откройте «Управление компьютером» → «Общие папки» → «Открытые файлы».
- Найдите строки с путём к
1Cv8.1CDнужной базы и пользователем. - Правой кнопкой → «Закрыть открытый файл».
Пользователь, у которого закрыли файл, получит ошибку и потеряет несохранённые данные.
Автоматизация через командную строку: rac и ras
Для ночных регламентов кликать в консоли неудобно. Утилита rac делает то же самое из командной строки. Она общается не с агентом напрямую, а с сервером администрирования ras — его нужно запустить отдельно (по умолчанию порт 1545).
Запуск ras как фонового процесса на Linux:
/opt/1cv8/x86_64/8.3.24.1467/ras cluster --daemon
На Windows ras.exe лежит в той же папке bin, его обычно регистрируют службой, чтобы он поднимался вместе с сервером.
Базовые команды
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 и rac help infobase.
Скрипт: отключить всех из одной базы
#!/bin/bash
# Завершает все сеансы базы buh на локальном сервере
RAC="/opt/1cv8/x86_64/8.3.24.1467/rac"
AUTH="--cluster-user=admin --cluster-pwd=secret"
BASE="buh"
CL=$($RAC cluster list | awk '/^cluster /{print $3; exit}')
IB=$($RAC infobase summary list --cluster=$CL $AUTH | \
awk -v b="$BASE" '/^infobase /{id=$3} /^name /{if ($3==b) {print id; exit}}')
for S in $($RAC session list --cluster=$CL --infobase=$IB $AUTH | awk '/^session /{print $3}'); do
$RAC session terminate --cluster=$CL --session=$S $AUTH
done
Шаблон /^session / с пробелом важен: он отсекает поле session-id, в котором лежит короткий номер, а не идентификатор.
Блокировку начала сеансов тоже ставят через rac infobase update с логином и паролем администратора базы. Используемые там ключи (запрет сеансов, сообщение, код разрешения, запрет регламентных заданий) проверьте по rac help infobase для своей версии платформы: набор параметров со временем расширялся.
Не храните пароль администратора кластера открытым текстом в скрипте на общем ресурсе. Минимум — права на файл только для учётной записи, под которой работает планировщик.
Для файловых баз автоматизация строится на параметрах запуска БСП: ночной планировщик запускает 1cv8.exe ENTERPRISE с /C"ЗавершитьРаботуПользователей", затем выполняет работы, затем снимает блокировку через /C"РазрешитьРаботуПользователей".