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

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

Что значит запустить 1С монопольно

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

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

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

Запустить 1С монопольно можно несколькими способами: через параметр запуска конфигуратора, через командную строку, через консоль кластера серверов (для клиент-серверного варианта) или штатными средствами типовых конфигураций. Выбор способа зависит от того, файловая у вас база или серверная, и какая именно операция требует монопольного доступа.

Что такое монопольный режим и когда он требуется

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

Монопольный доступ требуется для операций, которые меняют структуру или целиком содержимое базы. К ним относятся:

  • обновление конфигурации базы данных (изменение структуры таблиц);
  • загрузка и выгрузка информационной базы через файл .dt;
  • тестирование и исправление базы (chdbfl или штатный механизм конфигуратора);
  • массовая загрузка данных обработками, требующими целостности данных;
  • удаление помеченных объектов в некоторых конфигурациях;
  • установка и снятие поддержки, объединение конфигураций.

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

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

Порядок действий для файловой базы:

  1. Попросите всех пользователей закрыть 1С.
  2. Откройте конфигуратор нужной базы.
  3. Перейдите в меню «Администрирование» → «Установить монопольный режим» (в некоторых версиях пункт называется «Монопольный режим»).
  4. Подтвердите установку. Если сеансы других пользователей активны, появится список подключений.

Альтернативный способ — запуск конфигуратора с параметром командной строки /C"УстановитьМонопольныйРежим" либо использование параметра Exclusive в пакетном режиме. Это удобно для автоматизации обновлений через скрипты.

Порядок действий для файловой базы
  1. 1
    Завершите все сеансы пользователей с базой
  2. 2
    Откройте базу в конфигураторе
  3. 3
    Выберите Администрирование → Установить монопольный режим
  4. 4
    Убедитесь, что режим установлен (сообщение об успехе)
  5. 5
    Выполните нужную операцию и снимите режим при необходимости

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

В клиент-серверной архитектуре (1С:Предприятие + MS SQL, PostgreSQL и др.) управление подключениями выполняется через консоль кластера серверов. Здесь прямой аналог «монопольного режима» — это блокировка сеансов и регламентных заданий для конкретной информационной базы.

Откройте консоль администрирования серверов 1С, найдите нужную базу в ветке кластера, откройте её свойства и установите флаг «Блокировка начала сеансов включена». Дополнительно можно задать сообщение, которое увидят пользователи при попытке входа, и время окончания блокировки, чтобы она снялась автоматически.

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

Запуск из командной строки и пакетный режим

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

"C:\Program Files\1cv8\<версия>\bin\1cv8.exe" DESIGNER /F"ПутьКБазе" /N"Админ" /P"Пароль" /UpdateDBCfg

Команда /UpdateDBCfg сама попытается установить монопольный доступ; если в базе есть активные сеансы, обновление завершится ошибкой. В клиент-серверном варианте вместо /F используются параметры /S"Сервер\ИмяБазы".

Внутри кода на встроенном языке монопольный режим проверяется и управляется методами МонопольныйРежим() и УстановитьМонопольныйРежим(Истина). Это используется в обработках загрузки данных и обменах.

bash
1cv8.exe DESIGNER /F"D:\Bases\Trade" /N"Администратор" /UpdateDBCfg /DisableStartupDialogs

Типичные проблемы и их решение

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

Что проверить в такой ситуации:

  • в консоли кластера — список активных сеансов и соединений по базе;
  • список фоновых заданий — они тоже удерживают соединение;
  • в файловой базе — не открыт ли файл 1Cv8.1CD другим процессом (например, зависший процесс 1cv8.exe в диспетчере задач);
  • публикации веб-сервисов и планы обмена, которые могут подключаться автоматически.
Типичные ошибки
01
Завершение сеансов без предупреждения пользователей — потеря несохранённых данных и конфликты в учёте
02
Обновление конфигурации без резервной копии — при сбое базу придётся восстанавливать вручную
03
Забытая блокировка сеансов в консоли кластера — пользователи не могут войти после окончания работ
04
Попытка установить монопольный режим при работающих регламентных заданиях — операция зависает или падает с ошибкой

Как проверить, что режим установлен, и как его снять

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

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

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

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

Монопольный доступ в конфигураторе
Норма

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

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

Сообщение «не удалось установить монопольный режим»

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

Один активный сеанс — ваш

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

Есть чужие или зависшие сеансы и фоновые задания

Доступ пользователей после работ
Норма

Блокировка снята, вход в базу работает

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

Пользователи видят сообщение о блокировке сеансов

Частые вопросы

Что делать, если монопольный режим не устанавливается, хотя все вышли из 1С?

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

Можно ли работать в базе, пока идёт обновление в монопольном режиме?

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

Опасно ли принудительно завершать сеансы пользователей?

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

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

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

Нужна ли резервная копия перед операциями в монопольном режиме?

Да, особенно перед обновлением конфигурации и тестированием с исправлением. Эти операции изменяют структуру и содержимое базы, и при сбое восстановить данные можно только из копии.

Как автоматически снять блокировку, если забыл её отключить?

При установке блокировки в консоли кластера задайте поле «Время окончания» — блокировка снимется сама. Также можно управлять блокировкой через код: параметр сеанса устанавливается методом УстановитьБлокировкуСеансов.

Итог

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

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