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