Администрирование · 11 мин
Как в 1С установить монопольный режим
Как включить монопольный режим в 1С 8.3 через конфигуратор, пакетный запуск и код. Что делать, если мешают сеансы пользователей, и как проверить результат.
Монопольный режим в 1С — это состояние информационной базы, при котором с ней работает только один сеанс, а все остальные подключения блокируются. Он нужен для операций, которые меняют структуру базы или требуют гарантированного отсутствия конкурентного доступа: обновление конфигурации, загрузка и выгрузка данных, тестирование и исправление, массовое перепроведение документов.
Без монопольного доступа платформа откажется выполнять динамическое обновление, а тестирование и исправление завершится ошибкой «конфликт блокировок». Поэтому администратору важно уметь быстро включать монопольный режим и корректно завершать работу пользователей — без потери их несохранённых данных.
Способ установки зависит от типа базы: файловая база управляется проще, клиент-серверная требует работы с консолью кластера или агентом сервера. Ниже разобраны все основные сценарии: через конфигуратор, через параметры запуска, программно и через принудительное завершение сеансов.
Что такое монопольный режим и когда он нужен
Монопольный режим — это блокировка информационной базы на уровне платформы, при которой к базе может быть подключён только один сеанс. Пока режим активен, новые пользователи не смогут войти, а попытка входа завершится сообщением о невозможности установки соединения.
Монопольный доступ обязателен для следующих операций: обновление конфигурации базы данных (особенно динамическое), тестирование и исправление с включёнными пунктами реструктуризации, загрузка и выгрузка информационной базы в файл .dt, массовые изменения через обработки, которые требуют гарантии отсутствия параллельных транзакций.
Важно понимать: монопольный режим не завершает чужие сеансы сам по себе. Если в базе уже работают пользователи, установить его не получится — сначала нужно освободить базу. Это самая частая причина ошибок при обновлении.
Как включить монопольный режим через конфигуратор
Штатный способ — установка монопольного доступа из конфигуратора. Порядок действий одинаков для большинства версий платформы 8.3:
- 1Откройте конфигуратор нужной базы под пользователем с правами администратора
- 2Перейдите в меню «Администрирование»
- 3Выберите пункт «Монопольный доступ» — откроется окно со списком активных сеансов
- 4Если сеансов нет или остался только ваш — нажмите «Установить»
- 5Если сеансы есть — попросите пользователей выйти или завершите их принудительно, затем повторите установку
- 6Проверьте статус: в заголовке или в том же окне должно быть указано, что монопольный режим установлен
В окне «Монопольный доступ» видно, какие сеансы мешают установке: имя пользователя, компьютер, время начала работы. Это помогает понять, кого именно нужно попросить выйти, прежде чем прибегать к принудительному завершению.
Чтобы снять монопольный режим, откройте то же окно и нажмите «Снять». После завершения обновления или обслуживания базы всегда снимайте режим — иначе пользователи не смогут войти в программу.
Как завершить сеансы пользователей
Если пользователи не выходят сами, сеансы придётся завершить принудительно. Способ зависит от типа базы.
Файловая база
В файловой базе сеансы завершаются из того же окна «Монопольный доступ» в конфигураторе — кнопка завершения сеанса доступна прямо в списке. Альтернатива — физически закрыть сеансы на компьютерах пользователей или перезапустить общий доступ к файлу базы, но это грубый метод.
Клиент-серверная база
Для серверной базы используется консоль администрирования серверов 1С. Откройте консоль, найдите нужный кластер и информационную базу, перейдите на вкладку «Сеансы», выделите сеансы пользователей и удалите их. Сеанс конфигуратора, из которого вы работаете, удалять не нужно.
Также в свойствах информационной базы в консоли кластера можно установить блокировку сеансов: задать дату начала блокировки, код разрешения и сообщение для пользователей. Это удобно для планового обслуживания: пользователи видят предупреждение, а новые входы блокируются автоматически.
Монопольный режим при пакетном запуске и из кода
Для автоматизации обслуживания монопольный режим можно установить без интерактивных действий — через параметры командной строки или встроенный язык.
При пакетном запуске конфигуратора для обновления конфигурации базы данных используется параметр /UpdateCfg или /UpdateDBCfg совместно с ключом монопольного доступа. Типовая строка выглядит так:
"C:\Program Files\1cv8\8.3.22.1750\bin\1cv8.exe" DESIGNER /F"D:\Bases\Trade" /N"Администратор" /P"пароль" /UpdateDBCfg /DisableStartupDialogsПлатформа сама попытается установить монопольный доступ при выполнении /UpdateDBCfg. Если в базе есть активные сеансы, команда завершится ошибкой — поэтому в скриптах обслуживания серверных баз сначала программно завершают сеансы через RAS (сервер администрирования) или COM-соединение с агентом кластера.
Из встроенного языка монопольный режим проверяется и устанавливается функциями МонопольныйРежим() и УстановитьМонопольныйРежим(Истина). Это используется в обработках обновления и сервисных процедурах:
Если Не МонопольныйРежим() Тогда
Попытка
УстановитьМонопольныйРежим(Истина);
Исключение
Сообщить("Не удалось установить монопольный режим: в базе есть активные сеансы");
КонецПопытки;
КонецЕсли;Как проверить, что режим установлен
После установки монопольного режима убедитесь, что база действительно заблокирована, прежде чем запускать обновление или загрузку данных.
Как проверить результат
Указано, что монопольный режим установлен, чужих сеансов нет
Режим не установлен, в списке висят активные сеансы
Появляется сообщение о невозможности подключения или о блокировке сеансов
Пользователь спокойно входит в базу
Возвращает Истина
Возвращает Ложь
Дополнительный признак для серверной базы — в консоли кластера в списке сеансов остаётся только ваш сеанс конфигуратора. Если после установки режима обновление всё равно падает с ошибкой блокировок, проверьте фоновые задания: регламентные операции тоже создают сеансы и мешают монопольному доступу.
Типичные ошибки и ограничения
Отдельное ограничение касается динамического обновления: даже при установленном монопольном режиме платформа может отказать, если изменения конфигурации затрагивают структуру таблиц, с которыми недавно работали сеансы. В таком случае помогает перезапуск сервера 1С или обновление в два этапа.
Чем отличается монопольный режим от блокировки сеансов
Эти механизмы часто путают, хотя они решают разные задачи. Монопольный режим — инструмент текущего момента: один сеанс владеет базой, пока режим не снят. Блокировка сеансов в консоли кластера — плановый механизм: она действует в заданный период, показывает пользователям сообщение и допускает вход по коду разрешения.
Сравнение вариантов
Подходит для разового обслуживания файловой базы. Ограничение: не завершает чужие сеансы автоматически
Оптимальна для планового обновления серверной базы: пользователи получают предупреждение, вход по коду разрешения. Требует доступа к консоли
Для автоматизированного обновления по расписанию. Не работает, если в базе остались активные сеансы
Для сервисных обработок и обновляторов. Требует полных прав и обработки исключений
Как выбрать действие
Что важно запомнить
Монопольный режим устанавливается через конфигуратор, консоль кластера, пакетный запуск или код, но только при отсутствии чужих сеансов. Перед принудительным завершением сеансов предупредите пользователей, а после обслуживания обязательно снимите режим, чтобы не заблокировать работу базы.
Частые вопросы
Почему не устанавливается монопольный режим, хотя все пользователи вышли?
Чаще всего мешают фоновые и регламентные задания, которые создают собственные сеансы, или «зависшие» сеансы, не завершённые корректно. Откройте консоль кластера (для серверной базы) или список активных пользователей и проверьте наличие сеансов типа «Фоновое задание». Завершите их и повторите установку.
Можно ли установить монопольный режим, не выгоняя пользователей?
Нет. Монопольный режим по определению требует, чтобы в базе остался только один сеанс. Компромиссный вариант — блокировка сеансов в консоли кластера: работающие пользователи получают сообщение и время на завершение, а новые входы сразу блокируются.
Что будет с несохранёнными данными пользователей при принудительном завершении сеанса?
Открытые, но не записанные документы и введённые данные будут потеряны — платформа не сохраняет их при обрыве сеанса. Поэтому перед принудительным завершением предупредите сотрудников и дайте им несколько минут на сохранение работы.
Как снять монопольный режим, если конфигуратор закрылся с ошибкой?
Для файловой базы достаточно повторно открыть конфигуратор и снять режим через «Администрирование → Монопольный доступ». Если база серверная и вход заблокирован блокировкой сеансов — снимите её в свойствах информационной базы в консоли кластера или войдите с кодом разрешения.
Нужен ли монопольный режим для обычного обновления типовой конфигурации?
Да. Обновление конфигурации базы данных выполняется только в монопольном режиме, поскольку меняется структура таблиц. Типовые механизмы обновления через «Поддержка → Обновить конфигурацию» сами запрашивают монопольный доступ и сообщают, если он недоступен.
Можно ли установить монопольный режим в 1С:Фреш или другом облачном сервисе?
Напрямую — нет: в облачных сервисах доступ к консоли кластера и монопольному режиму есть только у службы поддержки провайдера. Обновления и обслуживание там выполняются автоматически или по заявке, пользователю доступны только штатные механизмы выгрузки данных.