Конфигуратор просит монопольный режим, а в базе люди: как освободить базу 1С

· 9 мин

Содержание

Отключить сеансы пользователей кнопкой из самого Конфигуратора 1С 8.3 нельзя. Конфигуратор только показывает, кто в базе: Администрирование → Активные пользователи. Завершают сеансы тремя путями: при обновлении клиент-серверной базы — кнопкой в диалоге «не удалось установить монопольный режим», в режиме 1С:Предприятие — через «Блокировку работы пользователей», на сервере — через консоль кластера или утилиту rac.

В файловой базе консоли нет, поэтому людей выводят из программы через блокировку в самой конфигурации или закрывают процесс 1cv8.exe / открытый файл на сервере. Ниже порядок действий для обоих вариантов и разбор сеансов, которые «не хотят» завершаться.

Когда Конфигуратору нужна пустая база и что проверить заранее

Работать в Конфигураторе при живых пользователях можно: открыть конфигурацию, править модули, сохранять конфигурацию, выгружать .cf. Пустая база нужна, только когда платформа требует монопольный доступ:

  • 🔄 обновление конфигурации базы данных со сменой структуры (Конфигурация → Обновить конфигурацию базы данных, F7);
  • 📥 загрузка информационной базы из файла .dt;
  • 🛠 тестирование и исправление информационной базы;
  • 🧹 часть операций с расширениями, если они меняют структуру данных.

Перед тем как кого-то выгонять, сделайте три вещи.

  1. Узнайте, кто в базе. В Конфигураторе откройте Администрирование → Активные пользователи. В списке видны имя пользователя, компьютер, приложение (тонкий клиент, фоновое задание, Конфигуратор, COM-соединение), время начала работы.
  2. Предупредите людей. Если завершить сеанс с открытым незаписанным документом, введённые данные пропадут. Написать в общий чат «через 10 минут выходим из 1С» — нормальная практика.
  3. Сохраните копию. Обновление и тестирование базы — опасные операции. Выгрузка .dt при работающих пользователях в клиент-серверном варианте возможна, но надёжнее делать копию средствами СУБД.

Список «Активные пользователи» не обновляется сам. Если вы ждёте, пока коллеги выйдут, закройте и откройте его заново — иначе будете смотреть на устаревшую картину.

Список активных пользователей в Конфигураторе: что он показывает

Многие ищут в этом окне кнопку «Отключить» и не находят. Её там нет: это окно только для просмотра. Зато по нему удобно понять, какой способ отключения выбрать.

Что в колонке «Приложение»Кто этоКак убрать
Тонкий / толстый клиент, веб-клиентЖивой пользовательПопросить выйти, блокировка сеансов, завершение через консоль
Фоновое заданиеРегламентное или фоновое заданиеБлокировка регламентных заданий, дождаться окончания
COM-соединениеВнешняя программа, обмен, сайтОстановить внешнюю программу или завершить сеанс в консоли
КонфигураторВторой администратор или ваш же второй экземплярЗакрыть лишнее окно Конфигуратора
Веб-сервис, HTTP-сервисИнтеграция через публикациюОстановить интеграцию, при необходимости — публикацию

Ваш собственный Конфигуратор тоже попадает в список. Он мешает монопольному режиму только если вы открыли второй экземпляр той же базы или параллельно запустили 1С:Предприятие из Конфигуратора (F5) и не закрыли отладку.

Как завершить сеансы пользователей 1С: пошаговый порядок

Порядок идёт от мягкого способа к жёсткому. Переходите к следующему шагу, только если предыдущий не сработал.

Шаг 1. Кнопка в диалоге обновления (клиент-серверная база)

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

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

Кнопка обрывает сеансы без предупреждения. Незаписанные документы у пользователей пропадут. Нажимайте её, когда людей уже предупредили.

Шаг 2. Блокировка работы пользователей в режиме 1С:Предприятие

В типовых конфигурациях на БСП (Бухгалтерия 3.0, ЗУП 3.1, УТ 11, КА, ERP) есть встроенная обработка. Она рассылает пользователям предупреждение, выводит их из программы и не пускает новых.

  1. Запустите базу в режиме 1С:Предприятие под администратором.
  2. Откройте раздел Администрирование, панель Обслуживание (в старых релизах — Поддержка и обслуживание).
  3. Перейдите по ссылке Блокировка работы пользователей.
  4. Заполните сообщение для пользователей, время начала и окончания блокировки.
  5. Задайте код разрешения — пароль, по которому вы сами сможете войти в заблокированную базу.
  6. Установите блокировку и дождитесь, пока программа завершит сеансы. Обычно это занимает несколько минут: пользователям сначала показывается предупреждение.
  7. Закройте 1С:Предприятие и запустите Конфигуратор с параметром /UC<код разрешения>.
"C:\Program Files\1cv8\common\1cestart.exe" DESIGNER /F"D:\Bases\Buh" /N"Администратор" /P"пароль" /UC12345

Параметр /UC можно также вписать в поле «Дополнительные параметры запуска» в настройках базы в окне запуска 1С.

После работ снимите блокировку той же обработкой. Если войти в 1С:Предприятие мешает собственная блокировка, запускайте клиент тоже с /UC<код>.

Для обслуживания по расписанию в БСП есть параметр запуска /C ЗавершитьРаботуПользователей: клиент сам ставит блокировку и выводит людей. Снять её можно запуском с /C РазрешитьРаботуПользователей. Так делают в скриптах ночного обновления.

Шаг 3. Консоль кластера серверов (клиент-серверная база)

Если блокировка не подходит — например, конфигурация нетиповая и обработки нет, — завершайте сеансы в консоли «Администрирование серверов 1С:Предприятия».

  1. Раскройте Центральные серверы 1С:Предприятия → <сервер> → Кластеры → <кластер> → Информационные базы → <ваша база> → Сеансы.
  2. Выделите нужные сеансы (можно все, с Ctrl или Shift).
  3. В контекстном меню выберите Удалить.

Свой сеанс Конфигуратора не выделяйте — иначе он тоже закроется.

Шаг 4. Утилита rac (без графической консоли)

На Linux-сервере или в скрипте удобнее консольная утилита rac. Перед её использованием должен быть запущен сервер администрирования ras.

rac cluster list
rac session list --cluster=<uuid кластера>
rac session terminate --cluster=<uuid кластера> --session=<uuid сеанса>

Если на кластере задан администратор, добавьте его имя и пароль; точные ключи для этого и фильтр по базе смотрите в rac help session.

Как получить монопольный режим и не пустить людей обратно

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

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

  • ☑ флажок «Блокировка начала сеансов включена»;
  • 🕐 поля начала и конца блокировки;
  • ✉ «Сообщение» — его увидит пользователь при попытке входа;
  • 🔑 «Код разрешения» — тот самый код для /UC;
  • ☑ флажок «Блокировка регламентных заданий включена».

Поставьте блокировку начала сеансов, затем завершите текущие сеансы (шаг 3) и переходите к обновлению. После работ не забудьте снять оба флажка, иначе утром никто не войдёт в базу.

В файловой базе консоли нет. Блокировку ставят только через обработку в 1С:Предприятие (шаг 2). Для нетиповой конфигурации без БСП остаётся организационный путь: предупредить людей и проверять список активных пользователей.

В коде конфигурации монопольный режим включается методом УстановитьМонопольныйРежим(Истина). Это нужно для собственных обработок обслуживания, а не для обновления в Конфигураторе.

Файловая и клиент-серверная база: чем отличается отключение

ЗадачаФайловая базаКлиент-серверная база
Посмотреть, кто в базеАдминистрирование → Активные пользователи в КонфигуратореТо же + список сеансов в консоли кластера
Завершить сеансы при обновленииКнопки в диалоге нетЗавершить сеансы и повторить
Запретить новые входыОбработка БСПОбработка БСП или свойства базы в консоли
Завершить конкретный сеансЗакрыть 1cv8.exe у пользователя или открытый файл на сервереКонсоль кластера или rac session terminate
Заблокировать регламентные заданияОбработка в конфигурацииФлажок в свойствах базы

Для файловой базы есть ещё один приём, который знает каждый администратор. Если база лежит в общей папке Windows, на компьютере с этой папкой откройте Управление компьютером → Общие папки → Открытые файлы. Там видно, кто держит открытым файл 1Cv8.1CD, и его можно закрыть.

Закрытие открытого файла или процесса 1cv8.exe — аварийное отключение. Если в этот момент сеанс записывал данные, файл базы может повредиться. Делайте это, только когда пользователь точно не работает, и после этого запустите «Тестирование и исправление».

На терминальном сервере то же самое делают через диспетчер задач: вкладка «Пользователи», выход нужного пользователя из системы. Это закрывает все его программы, не только 1С.

Сеанс не завершается или висит после удаления

Типичная жалоба: сеанс удалили в консоли, а Конфигуратор всё равно не может получить монопольный доступ. Или в «Активных пользователях» висит человек, который давно ушёл домой.

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

Крайняя мера: зависший рабочий процесс

Если соединение не исчезает и консоль не может его удалить, остаётся завершить рабочий процесс rphost, который его обслуживает. В консоли кластера в узле «Рабочие процессы» видно, какой процесс к какой базе относится.

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

Перезапуск службы «Агент сервера 1С:Предприятия» — ещё более грубый вариант: он отключает всех пользователей всех баз кластера. Без крайней необходимости днём его не делают.

Чего не стоит делать при отключении пользователей

  • ❌ Удалять служебные файлы рядом с 1Cv8.1CD. Это не снимает блокировку правильно, а при работающем сеансе может испортить базу.
  • ❌ Завершать сеансы до предупреждения. Пользователь потеряет документ, который заполнял полчаса, и в следующий раз будет держать базу открытой «на всякий случай».
  • ❌ Оставлять блокировку без даты окончания. Если вы забудете её снять, утром база не откроется ни у кого. Ставьте время окончания с запасом в 1–2 часа.
  • ❌ Удалять свой сеанс Конфигуратора вместе со всеми. При массовом выделении в консоли снимите выделение со строки, где приложение — «Конфигуратор» на вашем компьютере.
  • ❌ Перезапускать сервер ради одной базы. Сначала консоль, затем блокировка, затем рабочий процесс — и только потом служба.

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

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