Выгнать всех из базы 1С перед обновлением: четыре рабочих способа
Содержание
Чтобы завершить все сеансы в 1С, откройте Администрирование → Обслуживание → Блокировка работы пользователей, задайте время начала и включите блокировку. Программа сама предупредит людей и закроет их сеансы. Для серверной базы то же делается в консоли кластера: выделить сеансы в списке информационной базы и удалить их.
Частая ошибка — сначала «выкинуть» всех, а потом идти за кофе. Через минуту бухгалтер снова в базе, и обновление падает с ошибкой монопольного доступа. Завершение сеансов без запрета новых входов почти бесполезно. Поэтому каждый способ ниже идёт в паре: сначала запрет, потом закрытие.
Кто сейчас в базе: проверка перед завершением сеансов
Прежде чем закрывать сеансы, посмотрите, кто подключён и откуда. Иногда в списке «висит» не человек, а фоновое задание или обмен, и его надо остановить по-другому.
Где смотреть список:
- 👥 В режиме «1С:Предприятие» —
Администрирование → Обслуживание → Активные пользователи. Видно имя, компьютер, время начала и приложение. В части релизов раздел называется «Поддержка и обслуживание». - 🛠 В Конфигураторе — меню
Администрирование → Активные пользователи. Список только для просмотра, завершить отсюда ничего нельзя. - 🖥 В консоли кластера —
Кластеры → <кластер> → Информационные базы → <база> → Сеансы. Самый полный список для серверной базы.
Обратите внимание на колонку «Приложение». Она подсказывает, кто держит базу:
| Приложение | Кто это | Что делать |
|---|---|---|
| Тонкий клиент, Толстый клиент, Веб-клиент | Живые пользователи | Предупредить и завершить |
| Конфигуратор | Разработчик или администратор | Договориться: его сеанс тоже мешает обновлению |
| Фоновое задание | Регламентные задания базы | Заблокировать регламентные задания |
| COM-соединение | Внешняя программа, обработка, сервис | Найти источник, иначе подключится снова |
| Веб-сервис, HTTP-сервис | Мобильные приложения, интеграции | Остановить публикацию или обмен на время работ |
Перед массовым завершением отправьте короткое сообщение в общий чат: «В 18:00 база закрывается на 30 минут, сохраните документы». Несохранённые формы при принудительном завершении теряются.
Штатный способ: закрыть сеансы пользователей из самой программы
В типовых конфигурациях на БСП (Бухгалтерия 3.0, ЗУП 3.1, УТ 11, ERP, УНФ) есть встроенная блокировка. Она работает и для файловой, и для клиент-серверной базы. Это самый мягкий вариант: люди получают предупреждение, а не внезапный обрыв.
Как включить блокировку
- Зайдите в базу под пользователем с полными правами.
- Откройте
Администрирование → Обслуживание → Блокировка работы пользователей. - Напишите сообщение: его увидят те, кто ещё работает, и те, кто попытается войти.
- Укажите время начала блокировки. Дайте людям 5–10 минут, чтобы сохранить документы.
- При желании задайте время окончания — блокировка снимется сама.
- Заполните «Код для разрешения входа». Он пригодится, чтобы войти в заблокированную базу самому.
- Нажмите кнопку установки блокировки.
После наступления времени начала сеансы пользователей завершаются. Ваш собственный сеанс остаётся открытым.
Что нужно для серверной базы
Для клиент-серверной базы программа попросит параметры администрирования. Это два набора логинов:
- 🔐 администратор кластера — если в консоли кластера заданы администраторы;
- 🔑 администратор информационной базы — пользователь 1С с полными правами.
Без них программа поставит запрет на вход, но завершить уже открытые сеансы не сможет. Если администраторы кластера не заданы, поле оставьте пустым.
Отдельно: завершить один сеанс
В форме «Активные пользователи» выделите нужную строку и выберите команду завершения сеанса в командной панели. Удобно, когда мешает один человек, а остальным работать можно.
Консоль кластера серверов: как завершить все сеансы разом
Для серверной базы надёжнее всего действовать через оснастку «Администрирование серверов 1С Предприятия». Она подключается к агенту сервера по порту 1540.
Если консоль не открывается
Классическая проблема после обновления платформы: оснастка пишет, что не удалось создать объект, или пустая. Причина — не зарегистрирована библиотека radmin.dll нужной версии. Запустите командную строку от имени администратора:
regsvr32 "C:\Program Files\1cv8\8.3.24.1548\bin\radmin.dll"
Номер в пути замените на версию платформы, которая стоит на сервере. Версия radmin.dll должна совпадать с версией сервера.
Порядок действий в консоли
- Разверните
Центральные серверы 1С:Предприятия → <сервер> → Кластеры → <кластер> → Информационные базы. - Откройте нужную базу и выберите узел
Сеансы. - Выделите все строки: щелчок по первой, затем
Shift+ щелчок по последней. - В контекстном меню выберите «Удалить».
- Подтвердите действие.
У пользователей появится сообщение, что сеанс завершён администратором. Их приложение закроется или предложит переподключиться.
Удаление сеанса обрывает работу без сохранения. Документ, который человек вводил в этот момент, пропадёт. Делайте это после предупреждения или в нерабочее время.
Один сеанс «Конфигуратор» в списке — частая причина, почему обновление не стартует. Удалите и его, но сначала спросите разработчика: несохранённые изменения конфигурации тоже потеряются.
Запрет новых входов и монопольный режим
Монопольный режим — это состояние, когда в базе работает только один сеанс. Он нужен для обновления структуры конфигурации, загрузки .dt, тестирования и исправления. Для обычной правки документов он не нужен.
Чтобы его получить, мало закрыть сеансы . Надо не пустить людей обратно.
Блокировка в свойствах базы
В консоли кластера откройте свойства информационной базы (правой кнопкой по базе → «Свойства»). Нужные поля:
| Поле | Что делает |
|---|---|
| Блокировка начала сеансов включена | Запрещает новые входы |
| Начало и конец | Период действия запрета |
| Сообщение блокировки | Текст, который видит пользователь при попытке входа |
| Код разрешения | Пароль, с которым вход всё-таки разрешён |
| Блокировка регламентных заданий включена | Останавливает фоновые задания базы |
Порядок такой: сначала включите блокировку начала сеансов и регламентных заданий, сохраните свойства. Затем удалите оставшиеся сеансы. Теперь новые сеансы не появятся.
Как войти в заблокированную базу самому
Добавьте к строке запуска параметр /UC с кодом разрешения. В списке баз это делается в поле «Дополнительные параметры запуска» в настройках базы. Из командной строки:
"C:\Program Files\1cv8\common\1cestart.exe" DESIGNER /S"srv1c\buh" /N"Администратор" /P"пароль" /UC"7788"
Здесь srv1c\buh — сервер и имя базы, 7788 — код разрешения из блокировки.
Не забудьте снять блокировку после работ. Иначе утром вся бухгалтерия увидит ваше сообщение вместо базы. Надёжнее сразу задавать время окончания.
Завершение сеансов из командной строки: rac и пакетный запуск
Когда базу нужно освобождать по расписанию (ночное обновление, выгрузка копии), консоль неудобна. Есть два инструмента.
Утилита rac
rac работает через сервер администрирования ras. Его надо запустить заранее: в Windows — как службу, в Linux — командой ras cluster --daemon. По умолчанию ras слушает порт 1545.
Базовые команды:
rac cluster list
rac infobase summary list --cluster=<id кластера>
rac session list --cluster=<id кластера> --infobase=<id базы>
rac session terminate --cluster=<id кластера> --session=<id сеанса>
Если у кластера есть администратор, добавьте --cluster-user= и --cluster-pwd=. Запрет входа ставится командой rac infobase update с параметрами --sessions-deny=on, --scheduled-jobs-deny=on, --denied-message= и --permission-code=. Для неё нужны ещё логин и пароль администратора базы: --infobase-user= и --infobase-pwd=. Остальные параметры смотрите в rac help infobase.
Пример bat-файла, который завершает все сеансы одной базы:
@echo off
set RAC="C:\Program Files\1cv8\8.3.24.1548\bin\rac.exe"
set CL=11111111-2222-3333-4444-555555555555
set IB=66666666-7777-8888-9999-000000000000
for /f "tokens=2 delims=: " %%s in ('%RAC% session list --cluster=%CL% --infobase=%IB% ^| findstr /b "session "') do (
%RAC% session terminate --cluster=%CL% --session=%%s
)
Идентификаторы кластера и базы берутся из вывода первых двух команд. В Linux утилита лежит в каталоге платформы, обычно /opt/1cv8/x86_64/<версия>/rac.
Сначала выполните блокировку через rac infobase update, потом цикл завершения. Обратный порядок даёт ту же проблему, что в начале: люди успевают войти снова.
Пакетный запуск 1С с параметром блокировки
Конфигурации на БСП понимают параметр запуска /C"ЗавершитьРаботуПользователей". 1С стартует, ставит блокировку, закрывает чужие сеансы и завершается.
"C:\Program Files\1cv8\common\1cestart.exe" ENTERPRISE /S"srv1c\buh" /N"Администратор" /P"пароль" /C"ЗавершитьРаботуПользователей" /UC"7788"
Снять блокировку можно так же, параметром /C"РазрешитьРаботуПользователей" с тем же кодом в /UC. Для серверной базы в программе должны быть заранее сохранены параметры администрирования кластера, иначе сеансы не закроются.
Этот способ работает и для файловых баз, где rac и консоль кластера неприменимы.
Сеансы не завершаются: зависшие подключения и их причины
Бывает, что блокировка стоит, сеансы удалены, а обновление всё равно пишет про занятую базу. Разбираем по типу базы.
Файловая база
В файловом режиме кластера нет, и «зависший сеанс» — это обычно процесс 1cv8.exe или 1cv8c.exe, который не закрылся на чьём-то компьютере. Файл 1Cv8.1CD остаётся открытым.
Что проверить:
- 🖥 На терминальном сервере — Диспетчер задач, вкладка «Пользователи» или «Подробности». Найдите процессы 1С отключённых пользователей и завершите их.
- 📂 На файловом сервере — оснастка «Управление компьютером» → «Общие папки» → «Открытые файлы». Там видно, кто держит
1Cv8.1CD. Закройте открытый файл. - 💻 На рабочих станциях — процесс 1С после «закрытия» окна иногда висит в фоне.
Закрытие открытого файла или процесса обрывает работу пользователя. Если человек в этот момент записывал документ, возможна порча данных. Делайте это, когда уверены, что сеанс действительно мёртв.
Серверная база
Перезапуск службы «Агент сервера 1С:Предприятия 8.3» — последний шаг, не первый. Он закрывает сеансы во всех базах кластера, а не только в вашей. Если на сервере 20 баз, остановятся все 20. Делайте это вечером и с предупреждением.
Частые вопросы
Можно ли завершить сеансы, если у меня нет полных прав в базе?
Освободится ли лицензия после удаления сеанса?
Почему после удаления сеанса в консоли пользователь не видит никакого сообщения?
Сколько ждать между установкой блокировки и обновлением?
Можно ли закрыть сеансы из обработки или кода конфигурации?
V83.COMConnector), но это задача для программиста. Для администратора хватает штатной блокировки, консоли и rac.