Администрирование · 11 мин
Как установить монопольный режим в 1С 8.3
Как установить монопольный режим в 1С 8.3 в файловой и клиент-серверной базе: пошаговые способы, решение ошибки «монопольный режим не установлен», типичные проблемы.
Монопольный режим в 1С 8.3 — это состояние информационной базы, при котором с ней работает только один сеанс, а все остальные пользователи отключены или не могут подключиться. Без него невозможно выполнить целый ряд операций: обновление конфигурации, загрузку данных из DT-файла, тестирование и исправление, изменение структуры метаданных. Если попытаться запустить такие действия в обычном режиме, платформа выдаст сообщение об ошибке и прервет операцию.
Способ установки монопольного режима зависит от типа базы: файловая или клиент-серверная. В файловой базе достаточно убедиться, что с ней никто не работает, и запустить конфигуратор. В клиент-серверной базе потребуется завершить активные сеансы через консоль кластера серверов 1С или через код на встроенном языке. Ниже разобраны все рабочие способы, а также ситуации, когда монопольный режим не устанавливается, и что с этим делать.
Что такое монопольный режим и когда он нужен
Монопольный режим гарантирует, что в момент выполнения критичных операций никто не изменяет данные и структуру базы. Это защитный механизм платформы: например, обновление конфигурации меняет таблицы в базе данных, и одновременная работа пользователей может привести к повреждению данных или невозможности завершить обновление.
Типичные операции, требующие монопольного режима:
- обновление конфигурации базы данных (в том числе типовое обновление релиза);
- загрузка информационной базы из файла DT;
- тестирование и исправление базы с включёнными операциями изменения;
- изменение конфигурации с последующим обновлением структуры;
- некоторые сервисные обработки и пакетные операции с данными.
Важно понимать разницу между «монопольным режимом» и «блокировкой сеансов». Блокировка сеансов запрещает новые подключения, но не завершает уже работающие. Монопольный режим требует, чтобы активных чужих сеансов не было вообще.
Как установить монопольный режим в файловой базе
Файловая база — самый простой случай. Здесь монопольный режим устанавливается автоматически при запуске конфигуратора, если никто другой не подключён к базе. Отдельной кнопки «включить монопольный режим» нет — достаточно выполнить условия.
- 1Попросите всех пользователей выйти из 1С или завершите их сеансы на компьютерах.
- 2Убедитесь, что на сервере/файлопомойке не осталось открытых процессов 1cv8.exe, работающих с этой базой.
- 3Проверьте, что не запущены фоновые задания и регламентные операции (если используется файловая база через веб-сервер).
- 4Запустите конфигуратор: меню Пуск → 1С Предприятие → Конфигуратор, либо из списка баз кнопкой «Конфигуратор».
- 5Выполните нужную операцию: обновление, загрузку DT, тестирование. Платформа сама установит монопольный режим.
Если база открыта у кого-то ещё, при запуске конфигуратора вы увидите ошибку «Информационная база открыта в монопольном режиме» или «Невозможно установить монопольный режим». Это значит, что активные сеансы остались. В файловой базе найти «виновника» можно через меню конфигуратора: Администрирование → Активные пользователи.
После завершения работ конфигуратор сам снимает монопольный режим при закрытии. Отдельно его отключать не нужно.
Как установить монопольный режим в клиент-серверной базе
В клиент-серверном варианте (SQL Server, PostgreSQL и т.д.) базой управляет кластер серверов 1С, и просто «выйти всем» недостаточно — сеансы могут оставаться активными на сервере. Здесь есть два основных пути.
Способ 1: через консоль кластера серверов
Это стандартный способ для администратора. Откройте консоль управления серверами 1С (оснастка «Администрирование серверов 1С Предприятия»), найдите нужную базу и выполните действия:
- 1Откройте консоль кластера, разверните нужный сервер и информационную базу.
- 2Перейдите в раздел «Сеансы» и завершите все активные сеансы (кроме своего, если он нужен) через контекстное меню «Завершить сеанс».
- 3Откройте свойства информационной базы (правой кнопкой → Свойства).
- 4Установите флажок «Блокировка сеансов включена» и при необходимости укажите сообщение для пользователей. Это запретит новые подключения.
- 5Запустите конфигуратор и выполните нужную операцию — монопольный режим установится автоматически.
- 6После завершения снимите блокировку сеансов в свойствах базы, чтобы пользователи могли войти.
Блокировка сеансов нужна, чтобы в промежутке между завершением сеансов и запуском конфигуратора никто не успел подключиться заново. Без неё пользователь может войти раньше вас, и монопольный режим снова не установится.
Способ 2: программно через код
Если у вас есть доступ к сеансу 1С с правами администратора, монопольный режим можно установить встроенным языком:
Если МонопольныйРежим() Тогда
Сообщить("Монопольный режим уже установлен");
Иначе
УстановитьМонопольныйРежим(Истина);
КонецЕсли;
// Снять монопольный режим:
// УстановитьМонопольныйРежим(Ложь);Метод УстановитьМонопольныйРежим(Истина) сработает только если в базе нет других активных сеансов. Иначе будет вызвано исключение. Поэтому перед вызовом обычно завершают сеансы через консоль или используют метод ПолучитьСеансыИнформационнойБазы() для проверки.
В клиент-серверной базе удобно сочетать блокировку сеансов и код: сначала включите блокировку в консоли, затем завершите сеансы, потом запускайте конфигуратор. Так вы исключите «гонку» подключений и не будете ловить ошибку в последний момент перед обновлением.
Что делать, если монопольный режим не устанавливается
Ошибка «Монопольный режим не установлен» — самая частая проблема. Она означает, что где-то остался активный сеанс или процесс, который держит базу. Ниже — типичные причины и способы их устранения.
Как найти причину блокировки
Частая ситуация — «невидимые» сеансы. Например, пользователь закрыл окно 1С, но процесс остался в памяти. Или работает регламентное задание, которое запускается каждые несколько минут. В консоли кластера такие сеансы видны в разделе «Сеансы» и «Регламентные задания».
В файловой базе зависший процесс можно найти в диспетчере задач на компьютере, где работал пользователь, или на сервере, если база лежит в сетевой папке. Завершите процесс 1cv8.exe, после чего монопольный режим установится.
Как проверить, что монопольный режим установлен
После запуска конфигуратора или выполнения кода полезно убедиться, что режим действительно активен. Есть несколько способов проверки.
В конфигураторе признак монопольного режима — возможность выполнять операции, которые без него недоступны. Например, если вы запустили «Обновление конфигурации базы данных» и оно началось без ошибок — режим установлен. Программно проверить можно функцией МонопольныйРежим(): она возвращает Истина, если текущий сеанс работает монопольно.
Как проверить результат
Обновление начинается и идёт без ошибки о монопольном режиме
Появляется сообщение «Монопольный режим не установлен» или «Невозможно установить монопольный режим»
В списке только ваш сеанс конфигуратора
В списке есть другие сеансы предприятия или фоновые задания
Нет активных сеансов, кроме вашего
Присутствуют сеансы пользователей, веб-сервисов или регламентных заданий
Если проверка показывает, что режим не установлен, вернитесь к поиску оставшихся сеансов. Не пытайтесь «обойти» ограничение — операции, требующие монопольного режима, действительно опасны при параллельной работе.
Безопасность и ограничения
Монопольный режим — мощный инструмент, и работать с ним нужно аккуратно. Главные риски связаны не с самим режимом, а с действиями, которые вы в нём выполняете, и со способом завершения чужих сеансов.
Рекомендации по безопасной работе:
- Перед обновлением конфигурации в монопольном режиме сделайте резервную копию базы (выгрузку DT или средствами СУБД).
- Предупреждайте пользователей заранее о времени работ, чтобы они успели завершить документы.
- Не оставляйте монопольный режим включённым дольше необходимого — после работ снимите блокировку сеансов.
- Для регламентных обновлений используйте плановое время (ночь, выходные), чтобы минимизировать влияние на работу.
Если у вас нет прав администратора кластера или доступа к серверу, самостоятельно установить монопольный режим в клиент-серверной базе не получится — обратитесь к системному администратору. Попытки обойти ограничение сторонними средствами могут нарушить работу всей системы.
Частые вопросы о монопольном режиме в 1С 8.3
Можно ли установить монопольный режим без конфигуратора?
Да, программно: метод УстановитьМонопольныйРежим(Истина) в сеансе с правами администратора. Но другие сеансы всё равно должны быть завершены. В файловой базе без других сеансов это сработает, в клиент-серверной — только после завершения всех остальных сеансов через консоль кластера.
Почему после выхода всех пользователей монопольный режим всё равно не устанавливается?
Чаще всего остались фоновые задания, сеансы веб-сервисов или зависшие процессы 1cv8.exe. Проверьте список сеансов в консоли кластера (для клиент-серверной базы) или диспетчер задач на компьютерах (для файловой). Завершите все лишние процессы и попробуйте снова.
Чем монопольный режим отличается от блокировки сеансов?
Блокировка сеансов запрещает новые подключения, но не завершает уже работающие сеансы. Монопольный режим требует, чтобы активных чужих сеансов не было вообще. Обычно их используют вместе: сначала включают блокировку, затем завершают сеансы, потом запускают конфигуратор.
Нужно ли снимать монопольный режим вручную после работы?
В конфигураторе — нет: при закрытии конфигуратора режим снимается автоматически. Но если вы включали блокировку сеансов в консоли кластера, её нужно снять вручную, иначе пользователи не смогут войти в базу.
Можно ли обновить конфигурацию без монопольного режима?
Нет, обновление конфигурации базы данных всегда требует монопольного режима — это ограничение платформы. Попытка обойти его может привести к повреждению структуры данных. Если обновление критично, а пользователей много, запланируйте его на нерабочее время.
Что делать, если база «зависла» в монопольном режиме после сбоя?
Проверьте, есть ли активные процессы 1С на сервере. В клиент-серверной базе перезапустите службу агента сервера 1С. В файловой базе убедитесь, что процессы 1cv8.exe завершены, и при необходимости удалите файл блокировок 1Cv8.1CD.lock в каталоге базы — только при полностью остановленных процессах.
Что важно запомнить
Монопольный режим нужен для обновления конфигурации, загрузки DT и тестирования. В файловой базе он ставится автоматически при запуске конфигуратора, если никто не работает. В клиент-серверной базе сначала завершите все сеансы в консоли кластера и включите блокировку сеансов. Если режим не устанавливается — ищите зависшие сеансы и фоновые задания. После работ не забудьте снять блокировку сеансов.