Администрирование · 10 мин
Как войти в 1С 8 в монопольном режиме
Как войти в 1С 8 в монопольном режиме: настройка блокировки сеансов, завершение работы пользователей, запуск конфигуратора и обновление базы.
Монопольный режим в 1С 8 нужен для операций, которые нельзя выполнять, пока в информационной базе работают другие пользователи: обновления конфигурации, загрузки и выгрузки данных, тестирования и исправления, изменения структуры метаданных. Если конфигуратор сообщает «Конфигурация базы данных не соответствует сохраненной конфигурации» или «Для выполнения операции требуется монопольный режим», значит, в базе есть активные сеансы, которые мешают действию.
Порядок действий зависит от типа базы. В файловой базе достаточно, чтобы все пользователи вышли из программы, а фоновые задания завершились. В клиент-серверном варианте (SQL) сеансы висят на сервере 1С, и простой выход пользователей из программы не всегда помогает — сеанс может остаться «зависшим». Поэтому в серверных базах монопольный доступ обычно устанавливают через консоль кластера серверов.
Ниже разобраны оба сценария: как определить, кто занимает базу, как корректно завершить сеансы, как установить блокировку и как проверить, что монопольный режим действительно получен. Отдельно описаны типичные ошибки и ситуации, когда принудительное завершение сеансов опасно.
Когда требуется монопольный режим и что он блокирует
Монопольный режим означает, что с базой работает только один сеанс — ваш. Платформа отказывает в монопольном доступе, если есть хотя бы один активный сеанс: пользователь в тонком или толстом клиенте, веб-клиент, фоновое задание, внешнее соединение через COM, сеанс веб-сервиса.
Типичные операции, требующие монопольного доступа:
- обновление конфигурации базы данных (реструктуризация таблиц);
- загрузка и выгрузка информационной базы в файл .dt;
- тестирование и исправление базы с включёнными изменениями;
- очистка базы от данных через обработки, меняющие структуру;
- восстановление последовательностей в некоторых конфигурациях.
Обычная работа в конфигураторе — просмотр модулей, редактирование объектов без обновления конфигурации БД — монопольного режима не требует. Блокировка нужна только на момент, когда платформа физически перестраивает таблицы базы данных.
Как узнать, кто занимает базу
Прежде чем что-то завершать, определите, какие сеансы активны. В файловой базе откройте конфигуратор и перейдите в меню «Администрирование» → «Активные пользователи». Список покажет имена пользователей, компьютеры, время начала сеанса и тип клиента. В серверной базе тот же список доступен в консоли кластера серверов: ветка «Кластеры» → ваш кластер → «Сеансы».
Обратите внимание на колонку «Режим»: фоновые задания и регламентные задания отображаются отдельными сеансами. Именно они чаще всего мешают монопольному доступу, когда все пользователи уже вышли. Также проверьте COM-соединения: если база интегрируется с другой системой, внешнее приложение может держать соединение постоянно.
Попросите завершить работу штатно, сохранив документы
Дождитесь завершения или прервите через консоль заданий
Остановите интеграционный сервис или скрипт обмена
Снимите сеанс через консоль кластера серверов
Монопольный режим в файловой базе
В файловой базе (каталог с файлом 1Cv8.1CD) монопольный доступ получить проще всего. Порядок такой: попросите всех пользователей выйти из программы, дождитесь завершения фоновых заданий, затем запустите конфигуратор. Если никто не работает, монопольный режим установится автоматически — отдельной команды для этого не нужно.
Если база раздаётся по сети, убедитесь, что файл 1Cv8.1CD не открыт на других компьютерах. Иногда пользователь сворачивает программу и уходит — сеанс остаётся активным. В этом случае помогает перезагрузка его компьютера или завершение процесса 1cv8.exe через диспетчер задач на его машине.
Блокировка сеансов через код
Если нужно гарантировать, что никто не войдёт, пока вы работаете, установите блокировку программно. В конфигурациях на базе Библиотеки стандартных подсистем есть готовый механизм: «Администрирование» → «Обслуживание» → «Блокировка работы пользователей». Там задаётся время начала и окончания блокировки и код разблокировки для входа администратора.
Запуск с параметром блокировки
Для файловой базы можно запустить клиент с параметрами, запрещающими подключения. Это делается через командную строку или дополнительные параметры в списке баз.
"C:\Program Files\1cv8\8.3.22.1709\bin\1cv8.exe" ENTERPRISE /F"D:\Bases\Trade" /UCПакетноеЗаданиеПараметр /UC задаёт код разрешения: подключиться смогут только сеансы с этим кодом. Чтобы снять блокировку, запустите с параметром /UC с пустым значением или через конфигуратор снимите блокировку в «Администрирование» → «Блокировка сеансов». Точный путь к исполняемому файлу зависит от установленной версии платформы.
Монопольный режим в клиент-серверной базе
В серверном варианте управление сеансами выполняется через консоль администрирования серверов 1С. Откройте консоль, разверните нужный кластер, найдите ветку «Информационные базы» и выберите вашу базу. В свойствах базы на вкладке «Сеансы» установите флаг «Блокировка начала сеансов включена», укажите время начала и окончания блокировки, а также код разрешения — он понадобится, чтобы войти самому.
- 1Откройте консоль кластера серверов 1С
- 2В свойствах базы включите блокировку начала сеансов и задайте код разрешения
- 3В ветке «Сеансы» завершите активные сеансы пользователей и фоновых заданий
- 4Запустите конфигуратор — он подключается вне блокировки сеансов
- 5Выполните обновление или другую операцию
- 6Снимите блокировку сеансов в свойствах базы
Важно: конфигуратор подключается к базе не через сеанс, а через соединение, поэтому блокировка сеансов ему не мешает. Если в ветке «Соединения» висят старые соединения конфигуратора от прошлых сеансов работы, снимите их вручную — иначе платформа может сообщить, что монопольный доступ невозможен.
Завершать сеансы следует через контекстное меню «Удалить» на конкретном сеансе. Пользователь при этом получит сообщение о завершении работы. Не используйте перезапуск службы «Агент сервера 1С» как способ сброса сеансов: это аварийная мера, которая прерывает работу всех баз кластера и может привести к потере несохранённых данных у пользователей.
Проверка, что монопольный доступ получен
Признак успеха — конфигуратор выполняет операцию без сообщений о занятых сеансах. При обновлении конфигурации БД появляется окно реструктуризации со списком изменяемых таблиц, и процесс запускается. Если вместо этого вы видите ошибку «Ошибка разделенного доступа к базе данных» или «Конфликт блокировок», значит, какой-то сеанс остался активным.
Дополнительно проверьте список активных пользователей: в нём должна быть только одна строка — ваш сеанс конфигуратора. В серверной базе сверьте ветки «Сеансы» и «Соединения» в консоли кластера: лишних записей быть не должно.
Как проверить результат
Только ваш сеанс конфигуратора
Есть сеансы пользователей или фоновых заданий
Запустилась реструктуризация таблиц
Ошибка разделённого доступа
Одно соединение конфигуратора
Висят старые соединения от прошлых запусков
Типичные ошибки и как их избежать
Отдельная ситуация — «зависшие» сеансы, когда клиентская программа уже закрыта, а сервер считает сеанс активным. Это происходит при обрыве сети или аварийном завершении клиента. Такие сеансы снимайте вручную через консоль кластера, не дожидаясь тайм-аута: ожидание может занять десятки минут.
Если монопольный доступ не удаётся получить в файловой базе, проверьте, не открыт ли файл 1Cv8.1CD в другой программе — например, антивирус может держать его при проверке, а служба резервного копирования — при создании снапшота. Временно исключите каталог базы из обработки таких программ на время работы.
Как выбрать действие
FAQ
Можно ли войти монопольно, не выгоняя пользователей?
Нет. Монопольный режим по определению исключает другие сеансы. Можно смягчить процесс: заранее включить блокировку новых сеансов, отправить пользователям сообщение через «Активные пользователи» и дать им время сохранить работу, а затем завершить оставшиеся сеансы.
Зачем нужен код разрешения при блокировке сеансов?
Код разрешения позволяет администратору или планировщику войти в базу, пока блокировка активна. При запуске клиент указывает параметр /UC с этим кодом, и платформа пропускает такой сеанс. Без кода во время блокировки не войдёт никто.
Что делать, если после обновления пользователи не могут войти?
Проверьте, снята ли блокировка сеансов: в файловой базе — в конфигураторе через «Администрирование» → «Блокировка сеансов», в серверной — в свойствах базы в консоли кластера. Также убедитесь, что не истекло указанное время блокировки с запасом, если время на сервере и клиентах различается.
Мешает ли монопольному доступу запущенный конфигуратор у другого администратора?
Да. Соединение конфигуратора — это тоже подключение к базе. Если коллега держит конфигуратор открытым, обновление конфигурации БД будет невозможно. Попросите закрыть конфигуратор или снимите его соединение через консоль кластера.
Как автоматизировать монопольное обновление по ночам?
Используйте пакетный запуск конфигуратора с параметрами: сначала скрипт устанавливает блокировку сеансов, затем конфигуратор запускается с ключом /UpdateDBCfg и кодом разрешения, после завершения блокировка снимается. Такой сценарий стандартно реализуется через планировщик заданий операционной системы.
Что важно запомнить
Монопольный режим достигается завершением всех сеансов и установкой блокировки новых подключений. В файловой базе достаточно выхода пользователей и запуска конфигуратора, в серверной — управляйте сеансами через консоль кластера. Всегда делайте резервную копию перед обновлением и не забывайте снимать блокировку после завершения работ.