К статье
Практический материал

Администрирование · 11 мин

Монопольный режим в 1С: что это значит и как с ним работать

Что значит монопольный режим в 1С, зачем он нужен, как включить и снять блокировку, что делать, если сеанс занят, и какие операции требуют монопольного доступа.

Сообщение «Ошибка блокировки информационной базы» или требование установить монопольный режим — одна из самых частых ситуаций при администрировании 1С. Монопольный режим означает, что с базой данных работает только один сеанс, а все остальные пользователи и фоновые процессы отключены или заблокированы. Это не ошибка и не поломка, а штатный механизм защиты данных от конфликтов при выполнении критичных операций.

Понимание того, что означает монопольный доступ, нужно бухгалтеру, который сам обновляет конфигурацию, и системному администратору, обслуживающему сервер 1С. Неправильные действия в этой ситуации — например, принудительное удаление сеансов во время записи данных — способны повредить информационную базу, поэтому важно знать безопасный порядок действий.

Ниже разобрано, зачем платформа требует монопольный режим, какие операции без него невозможны, как корректно включить и снять блокировку в файловом и клиент-серверном варианте, а также что делать, если база «зависла» в монопольном состоянии.

Что означает монопольный режим простыми словами

Информационная база 1С в обычном режиме рассчитана на одновременную работу множества пользователей: каждый открывает документы, проводит их, формирует отчёты. Платформа управляет конкурентным доступом через транзакционные блокировки на уровне отдельных записей. Однако существуют операции, которые затрагивают структуру базы целиком — например, изменение состава таблиц при обновлении конфигурации. Выполнять их, пока кто-то работает с данными, нельзя: часть объектов изменится, а часть останется в старом виде, и база станет несогласованной.

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

Важно понимать разницу между монопольным режимом и обычной блокировкой записей. Блокировка записи возникает, когда два пользователя редактируют один документ — это ситуация повседневная и локальная. Монопольный режим — глобальное состояние всей базы, которое устанавливается осознанно и требует, чтобы все пользователи вышли.

Какие операции требуют монопольного доступа

Платформа сама запрашивает монопольный режим, когда операция не может быть выполнена в многопользовательской среде. Знание этого списка помогает планировать работу: такие действия лучше назначать на нерабочее время и заранее предупреждать пользователей.

  • Обновление конфигурации базы данных — самый частый случай. Реструктуризация таблиц невозможна при активных соединениях.
  • Загрузка и выгрузка информационной базы через конфигуратор (файлы .dt).
  • Тестирование и исправление информационной базы, особенно с включёнными вариантами исправления.
  • Изменение свойств конфигурации, влияющих на структуру хранения.
  • Ряд обработок массового изменения данных, где разработчик явно запросил монопольный доступ.
  • Установка и снятие констант, влияющих на разделение данных, в некоторых сценариях.

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

Как включить монопольный режим в файловой базе

В файловом варианте база хранится в файле 1Cv8.1CD, и блокировка реализуется через механизм совместного доступа к файлу. Порядок действий прост, но требует дисциплины: если база лежит в общей сетевой папке, любой пользователь с открытым сеансом помешает установке режима.

Порядок включения монопольного режима
  1. 1
    Предупредите пользователей и попросите их завершить работу в 1С штатно, через «Файл — Выход».
  2. 2
    Убедитесь, что на терминальных серверах и других компьютерах не осталось зависших процессов 1cv8.exe с этой базой.
  3. 3
    Откройте базу в режиме Конфигуратора — он по умолчанию пытается установить монопольный доступ для операций с конфигурацией.
  4. 4
    Если нужен монопольный запуск в режиме Предприятия, используйте параметр командной строки /C или соответствующие методы встроенного языка.
  5. 5
    Выполните требуемую операцию (обновление, загрузка данных, тестирование).
  6. 6
    После завершения закройте сеанс — монопольный режим снимется автоматически, и пользователи смогут войти.

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

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

Монопольный режим в клиент-серверном варианте

В клиент-серверной архитектуре (1С:Сервер + СУБД) управление сеансами централизовано, и это заметно упрощает задачу. Администратор видит все активные соединения и может завершить их без беготни по рабочим местам.

Основной инструмент — консоль кластера серверов 1С. В ней открывают список сеансов нужной информационной базы и удаляют лишние. Перед этим полезно установить для базы блокировку начала сеансов: тогда новые пользователи не смогут подключиться, пока идёт обслуживание, а текущим можно отправить сообщение с просьбой выйти.

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

Что делать, если монопольный режим не устанавливается

Типичная жалоба звучит так: «Все вышли, а 1С всё равно пишет, что база занята». Причины почти всегда сводятся к нескольким повторяющимся сценариям, и их можно проверить последовательно.

Маршрут решения

Как найти мешающий сеанс

Сообщение о занятой базе в файловом вариантеПроверьте диспетчер задач на всех компьютерах с доступом к базе и завершите зависшие процессы 1cv8.exe
База опубликована на веб-сервереОстановите пул приложений или веб-сервер, затем повторите попытку
Клиент-серверный вариант, сеансов в консоли нет, но режим не ставитсяПроверьте список соединений и фоновые задания — возможно, активен служебный сеанс регламентной задачи
Режим был установлен, но сеанс аварийно завершилсяПерезапустите базу: при следующем входе монопольная блокировка обычно снимается автоматически; в серверном варианте проверьте блокировки в консоли кластера

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

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

Риски и как не повредить базу

Сам по себе монопольный режим безопасен — это штатный механизм. Опасность представляют действия вокруг него: принудительные обрывы соединений, прерывание реструктуризации, работа без резервной копии.

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

Типичные ошибки
01
Обновление без резервной копии — при сбое реструктуризации базу придётся восстанавливать, и без копии данные потеряются.
02
Завершение сеансов пользователей без предупреждения — несохранённые документы и открытые формы будут потеряны, у пользователей появятся ошибки.
03
Попытка «убить» зависший процесс обновления через диспетчер задач — прерывание записи повреждает таблицы базы.
04
Забытая блокировка сеансов после обслуживания — пользователи не могут войти, пока администратор не снимет блокировку в консоли.
05
Игнорирование фоновых заданий — регламентные задачи не дают установить монопольный режим или запускаются сразу после его снятия и конфликтуют с обменами.

Как проверить, что всё завершилось корректно

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

Контрольные точки

Как проверить результат

Сообщение о завершении операции в конфигураторе
Норма

Операция завершена, окно прогресса закрыто без ошибок

Тревожный признак

Сообщения об ошибках реструктуризации или прерванный процесс

Блокировка сеансов в консоли кластера
Норма

Блокировка снята или запланировано её автоматическое снятие

Тревожный признак

Блокировка активна, пользователи не могут войти

Вход тестового пользователя в базу
Норма

Вход выполняется, документы открываются и проводятся

Тревожный признак

Ошибки при входе или при открытии объектов

Регламентные задания
Норма

Задания разблокированы и выполняются по расписанию

Тревожный признак

Задания заблокированы или завершаются с ошибками

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

Итог

Что важно запомнить

Монопольный режим — штатная блокировка базы для операций, несовместимых с параллельной работой. Перед включением завершите все сеансы и фоновые задания, перед обновлением сделайте резервную копию, не прерывайте реструктуризацию, а после завершения снимите блокировки и проверьте вход пользователей.

Частые вопросы о монопольном режиме

Можно ли работать в базе, пока выполняется монопольная операция?

Нет, в этом и смысл режима: пока активен монопольный сеанс, новые подключения запрещены. Пользователям нужно дождаться завершения операции и снятия блокировки. Поэтому обновления планируют на вечер, ночь или выходные.

Почему 1С пишет «база занята», хотя все пользователи вышли?

Чаще всего остались зависшие процессы 1cv8.exe на чьих-то компьютерах, активны фоновые задания или работает внешняя программа, подключающаяся через COM или веб-сервис. В клиент-серверном варианте все такие сеансы видны в консоли кластера серверов.

Снимется ли монопольный режим сам, если программа закрылась с ошибкой?

Как правило, да: монопольная блокировка привязана к активному сеансу, и после его завершения (даже аварийного) она снимается. Если база остаётся заблокированной, в серверном варианте проверьте блокировки в консоли кластера, в файловом — отсутствие зависших процессов.

Обязательно ли делать резервную копию перед обновлением?

Да. Обновление конфигурации изменяет структуру таблиц, и при сбое (отключение питания, нехватка места, обрыв связи) база может оказаться повреждена. Выгрузка .dt или копия файла базы занимает минуты, а восстановление без копии — сложная и не всегда успешная процедура.

Чем монопольный режим отличается от блокировки сеансов?

Блокировка сеансов запрещает новые подключения, но не завершает существующие — это инструмент администратора для плавного вывода пользователей. Монопольный режим означает, что активен ровно один сеанс. На практике их комбинируют: сначала ставят блокировку, ждут выхода пользователей, затем выполняют монопольную операцию.

Можно ли установить монопольный режим программно?

Да, во встроенном языке есть методы для установки и проверки монопольного режима, и разработчики используют их в обработках массового изменения данных. Однако вызывать такие обработки следует только при завершённых остальных сеансах — иначе метод вернёт ошибку.