Выгнать всех из базы 1С перед обновлением: пять рабочих способов
Содержание
Завершить работу всех пользователей 1С проще всего из самой программы: Администрирование → Обслуживание → Блокировка работы пользователей. Задаёте время, текст сообщения и код разрешения, нажимаете «Установить блокировку». Через несколько минут программа сама закроет сеансы и не пустит новых.
Частая ошибка — сразу «снимать» процессы в диспетчере задач или перезапускать службу сервера. Так тоже можно, но это аварийный путь: у людей пропадут несохранённые документы, а сеансы, которые вы оборвали, часто тут же поднимаются снова — их запускают регламентные задания и внешние обмены.
Перед стартом: кто сейчас в базе и чем вы рискуете
Сначала посмотрите, кто подключён. Это две минуты, и они отвечают на вопрос, какой способ выбрать.
Где смотреть список:
- 👥 в программе на БСП (Бухгалтерия 3.0, ЗУП 3.1, УТ 11):
Администрирование → Обслуживание → Активные пользователи; - 🧩 в любой конфигурации: меню «Все функции» → ветка «Стандартные» → «Активные пользователи»;
- 🛠 в Конфигураторе:
Администрирование → Активные пользователи; - 🖥 в клиент-серверном варианте — консоль кластера, ветка «Сеансы» нужной базы.
В списке смотрите не только на людей. Там бывают «Фоновое задание», «COM-соединение», «Веб-сервис», «Конфигуратор». Фоновые задания и COM-подключения — главные кандидаты на то, чтобы вернуться после отключения.
Что теряют пользователи при принудительном завершении:
- 📝 открытые и не записанные документы и справочники;
- 📊 сформированные, но не сохранённые отчёты;
- 🔄 незавершённые транзакции — платформа откатывает их, данные в базе остаются целыми.
Напишите коллегам в рабочий чат за 10–15 минут до отключения. Блокировка тоже предупредит их, но сообщение в чате прочитают быстрее.
Какой способ подходит:
| Способ | Вариант базы | Когда брать | Риски |
|---|---|---|---|
| Блокировка из программы | файловый и клиент-серверный | плановые работы, обновление | почти нет, если дать время на сохранение |
| Консоль кластера | клиент-серверный | нужно убрать 1–2 сеанса или всех сразу | работа в сеансе теряется без предупреждения |
Параметр запуска / rac | оба / клиент-серверный | ночные регламенты, скрипты | ошибка в скрипте закроет не ту базу |
| Диспетчер задач, служба | оба | всё остальное не сработало | обрываются сеансы всех баз на сервере |
Способ 1. Как завершить работу пользователей из режима 1С:Предприятие
Этот способ есть во всех типовых конфигурациях на БСП. Работает и в файловом, и в клиент-серверном варианте. Нужны права администратора в базе.
- Откройте
Администрирование → Обслуживание. - Перейдите по ссылке «Блокировка работы пользователей».
- Заполните сообщение — его увидят все: например, «Обновление базы, работа будет доступна после 20:30».
- Укажите время начала и окончания блокировки. Конец можно оставить пустым — тогда блокировка будет действовать, пока вы её не снимете.
- Задайте код разрешения: любое слово, например
obnov. Запомните его. - Нажмите «Установить блокировку».
Дальше программа работает сама. Пользователи получают сообщение с отсчётом времени и успевают записать документы. В назначенный момент их сеансы завершаются, новые входы блокируются.
Как зайти в заблокированную базу самому: добавьте к параметрам запуска /UC с вашим кодом. В окне запуска выберите базу → «Изменить» → последний шаг мастера, поле «Дополнительные параметры запуска»:
/UCobnov
Без кода в базу не войдёт никто, включая администратора. Поэтому код не теряйте.
Блокировку из программы обязательно снимайте после работ: той же формой, кнопка «Снять блокировку». Если оставить её без даты окончания, утром бухгалтерия не попадёт в базу.
Если отведённое время прошло, а кто-то остался в базе, откройте «Активные пользователи». Оставшиеся сеансы обычно фоновые задания или COM-соединения — их добивают через консоль кластера (способ 2). В клиент-серверной базе в списке активных пользователей есть команда завершения сеанса — программа попросит логин и пароль администратора кластера, если он задан.
Способ 2. Отключение сеансов в консоли кластера серверов 1С
Для клиент-серверной базы это самый быстрый ручной путь. Консоль называется «Администрирование серверов 1С Предприятия» и ставится вместе с сервером или клиентом.
- Запустите консоль и раскройте: центральный сервер → «Кластеры» → ваш кластер → «Информационные базы» → нужная база.
- Выберите ветку «Сеансы». Справа — все подключения: пользователь, компьютер, приложение, время начала.
- Выделите сеансы. Для всех — щёлкните в списке и нажмите
Ctrl+A. - Правая кнопка мыши → «Удалить». Подтвердите.
Сеанс закрывается мгновенно, без предупреждения. Пользователь увидит сообщение о разрыве соединения.
Не путайте ветки «Сеансы» и «Соединения». Удаление соединения рвёт текущую связь, но сеанс может переподключиться. Для выгрузки людей удаляйте именно сеансы.
Если консоль не открывается
- 🔌 консоль не видит сервер — проверьте, что служба агента запущена, а порт
1540не закрыт брандмауэром; - 🧱 «Класс не зарегистрирован» — консоль не знает о компоненте
radmin.dll. Зарегистрируйте её от имени администратора той же разрядности, что и консоль:
regsvr32 "C:\Program Files\1cv8\8.3.xx.xxxx\bin\radmin.dll"
Подставьте номер своей версии платформы — он совпадает с папкой в C:\Program Files\1cv8\.
Способ 3. Блокировка начала сеансов и регламентных заданий
Удалить сеансы мало: через минуту в базе снова появятся фоновое задание обмена и чья-то обработка. Поэтому перед удалением сеансов включите блокировку на уровне кластера.
В консоли: правой кнопкой по базе → «Свойства». Нужны поля:
| Поле | Что ставить |
|---|---|
| Блокировка начала сеансов включена | флажок |
| Начало / Конец | интервал работ; можно оставить пустыми |
| Сообщение | текст для пользователей |
| Код разрешения | код для входа администратора через /UC |
| Блокировка регламентных заданий включена | флажок |
Для сохранения консоль попросит имя и пароль администратора информационной базы.
Порядок действий для обновления:
- Включить блокировку регламентных заданий.
- Включить блокировку начала сеансов с кодом разрешения.
- Удалить оставшиеся сеансы в ветке «Сеансы».
- Зайти в Конфигуратор с параметром
/UC<код>и выполнить работы. - Снять оба флажка.
Блокировка в консоли кластера и блокировка из формы программы — один и тот же механизм платформы. Поставили в одном месте — увидите в другом.
В файловой базе консоли кластера нет. Там блокировку ставят только из формы программы (способ 1) или параметром запуска (способ 5).
Способ 4. Аварийное завершение через диспетчер задач и службы
Это крайний случай: сеанс не удаляется, форма блокировки висит, а работы нужно начинать.
Перед любым из шагов ниже сделайте резервную копию базы , если она ещё не сделана, и предупредите пользователей: оборвётся работа без сохранения.
Файловая база
Пользователи держат файл 1Cv8.1CD открытым через общую папку. Если кто-то ушёл, не закрыв 1С:
- 🖥 на компьютере пользователя или терминальном сервере завершите процессы
1cv8c.exe(тонкий клиент) и1cv8.exe(толстый клиент, Конфигуратор) этого пользователя; - 📂 на компьютере, где лежит база:
Управление компьютером → Общие папки → Открытые файлы. Найдите1Cv8.1CD, правой кнопкой → «Закрыть открытый файл». Это закроет доступ конкретному пользователю; - 🌐 если база опубликована на веб-сервере, перезапустите пул приложений IIS или службу Apache — веб-клиенты держат сеансы через него.
Клиент-серверная база
- ⚙️ процесс
rphost.exeобслуживает сеансы сразу нескольких баз. Его завершение рвёт всех, кто на нём работал, включая пользователей других баз; - 🔁 перезапуск службы «Агент сервера 1С:Предприятия 8.3» обрывает все сеансы всех баз кластера. Делайте это только вне рабочего времени.
Не удаляйте вручную папки сеансовых данных и файлы в каталоге srvinfo при работающей службе. Это не ускоряет отключение пользователей, а может испортить реестр кластера.
Способ 5. Автоматизация: параметр запуска и скрипт rac
Ночные обновления и выгрузки удобнее делать без участия человека.
Параметр /C для типовых конфигураций
Конфигурации на БСП понимают служебный параметр запуска. Он ставит блокировку и выгружает пользователей:
"C:\Program Files\1cv8\common\1cestart.exe" ENTERPRISE /S"srv1c\buh" /N"Администратор" /P"пароль" /C"ЗавершитьРаботуПользователей" /UC"obnov"
После работ так же снимают блокировку:
"C:\Program Files\1cv8\common\1cestart.exe" ENTERPRISE /S"srv1c\buh" /N"Администратор" /P"пароль" /C"РазрешитьРаботуПользователей" /UC"obnov"
Для файловой базы вместо /S"srv1c\buh" пишут /F"D:\Base\Buh". Первая команда открывает сеанс и ждёт, пока все выйдут, — запускайте её заранее, а не в момент старта работ.
Скрипт rac для клиент-серверной базы
Утилита rac работает через сервер администрирования ras. Его запускают отдельно — службой или командой ras cluster --daemon; порт по умолчанию 1545. Скрипт PowerShell ниже ставит блокировку и удаляет все сеансы одной базы:
$rac = 'C:\Program Files\1cv8\8.3.xx.xxxx\bin\rac.exe' # путь к своей версии
$server = 'localhost:1545'
$baseName = 'buh' # имя базы в кластере
$ibUser = 'Администратор' # пользователь базы
$ibPwd = 'пароль'
function Get-Val($line) { ($line -split ':', 2)[1].Trim() }
# 1. Идентификатор кластера (первый в списке)
$cluster = Get-Val ((& $rac $server cluster list | Select-String '^cluster\s+:')[0].Line)
# 2. Идентификатор базы по имени
$ib = $null; $cur = $null
foreach ($line in (& $rac $server infobase summary list --cluster=$cluster)) {
if ($line -match '^infobase\s+:') { $cur = Get-Val $line }
if ($line -match '^name\s+:' -and (Get-Val $line) -eq $baseName) { $ib = $cur }
}
if (-not $ib) { throw "База $baseName не найдена в кластере" }
# 3. Блокировка сеансов и регламентных заданий
& $rac $server infobase update --cluster=$cluster --infobase=$ib `
--infobase-user=$ibUser --infobase-pwd=$ibPwd `
--sessions-deny=on --scheduled-jobs-deny=on --permission-code=obnov `
--denied-message='Идёт обновление базы'
# 4. Удаление всех сеансов базы
$sessions = & $rac $server session list --cluster=$cluster --infobase=$ib |
Select-String '^session\s+:' | ForEach-Object { Get-Val $_.Line }
foreach ($s in $sessions) {
& $rac $server session terminate --cluster=$cluster --session=$s
}
Write-Host "Удалено сеансов: $($sessions.Count)"
Если на кластере задан администратор, добавьте к командам --cluster-user и --cluster-pwd. Снять блокировку — та же команда infobase update с --sessions-deny=off --scheduled-jobs-deny=off. Полный перечень ключей покажет rac help infobase.
Пароли в открытом виде держите только в скрипте с доступом для администратора. Не кладите такой файл в общую папку.
Почему пользователи не выходят из 1С и как это предупредить
Сеанс, который «не удаляется» или возвращается через минуту, почти всегда имеет понятную причину.
Профилактика, которая снимает большую часть проблем:
- 🗓 закрепите в регламенте окно обслуживания: например, обновления по вторникам после 19:00. Пользователи привыкают сохраняться заранее;
- ⏱ ставьте блокировку с запасом 10–15 минут между сообщением и отключением;
- 🔗 держите список внешних подключений к базе: обмены, сайт, мобильные агенты. Перед работами пройдитесь по нему;
- 🧾 после работ проверяйте, что блокировка снята и регламентные задания снова разрешены. Забытый флажок останавливает обмены на дни;
- 👤 настройте в консоли администратора кластера: без пароля любой, у кого есть консоль, может удалить чужие сеансы.