Что делать, если конфигурация 1С закрыта для изменений

· 9 мин

Содержание

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

Какой у вас случай — видно по симптому. Жёлтые замочки у объектов конфигурации — это поддержка. Сообщение «не удалось получить монопольный доступ» или «обнаружены активные сеансы» — вас держат пользователи. Окно «Вход в программу временно невозможен» — включена блокировка соединений. Ниже разберём каждый случай для файловой и клиент-серверной базы.

С чем именно у вас заблокирована конфигурация?

Почему конфигурация оказывается закрытой для изменений

Причин немного, и у каждой свой признак.

  • 🔒 Замок поставщика. База стоит на поддержке типовой конфигурации. Пока поддержка включена без права изменения, все объекты поставщика доступны только на чтение. Это и есть режим «Только чтение», о котором спрашивают чаще всего.
  • 👥 Занят монопольный доступ. Операция требует, чтобы в базе никого не было, а пользователи подключены. Монопольный доступ нужен не всегда — только для обновления конфигурации базы данных со структурными изменениями, загрузки файла .dt, тестирования и исправления.
  • ⛔ Блокировка начала сеансов. Администратор заранее закрыл вход, например перед обновлением. Новые сеансы не создаются, пока блокировка не снята или пока пользователь не укажет разрешающий код.
  • 📦 Захват в хранилище конфигурации. При групповой разработке объект, который кто-то взял на редактирование, для остальных закрыт замком с чужим именем.
  • 🚫 Заблокированный пользователь. Отдельный случай: не база, а конкретная учётная запись — снят флаг входа или истёк срок действия.

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

Снятие замка поддержки: включаем редактирование объектов

Это главный смысл запроса «разблокировать конфигурацию». Работаем в Конфигураторе.

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

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

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

После включения редактирования не забудьте применить изменения: Конфигурация → Обновить конфигурацию базы данных (клавиша F7). Если правки меняют структуру данных (новые реквизиты, таблицы), на этот шаг понадобится монопольный доступ — об этом дальше.

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

Кто держит базу: смотрим активные сеансы

Если при обновлении или загрузке .dt платформа пишет про активные сеансы, сначала посмотрите, кто подключён.

В Конфигураторе откройте Администрирование → Активные пользователи. Список покажет имя пользователя, компьютер, приложение (толстый клиент, тонкий клиент, веб) и время начала сеанса. Этот пункт работает и в файловой, и в клиент-серверной базе.

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

Где и чем снимать блокировку — зависит от варианта базы:

ЗадачаФайловая базаКлиент-серверная база
Посмотреть подключенияАктивные пользователи в КонфигуратореАктивные пользователи или консоль администрирования
Завершить чужой сеанстолько попросить пользователя выйтиудалить сеанс в консоли или через rac
Закрыть вход на время работБлокировка соединений в Конфигуратореблокировка в свойствах базы через консоль
Снять замок поддержкиНастройка поддержкиНастройка поддержки (так же)

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

Отдельно стоит глянуть регламентные задания: в клиент-серверной базе фоновое задание тоже создаёт сеанс и тоже мешает получить монополию. Их видно в том же списке активных пользователей как сеансы «Фоновое задание».

Разблокировка в файловом варианте базы

Файловая база — это папка с файлом 1Cv8.1CD. Монопольный доступ здесь означает, что базу открыл ровно один человек.

Порядок такой:

  1. Попросите всех закрыть базу (список — в «Активных пользователях»).
  2. Проверьте, не осталось ли сеанса под вашей же учётной записью на другом компьютере или в веб-клиенте.
  3. Повторите операцию, которой нужен монопольный доступ.

Если программа у кого-то аварийно завершилась (зависла, выключили питание), в каталоге базы может остаться файл блокировки сеансов 1Cv8.1CL. Он хранит список подключений. Обычно он очищается сам, когда все корректно выходят.

Удалять 1Cv8.1CL вручную можно только тогда, когда вы точно уверены, что к базе никто не подключён. Если удалить его при живых сеансах, список подключений собьётся и можно повредить данные. Сначала закройте программу у всех, затем удаляйте.

Полезная привычка для файловой базы — держать её на локальном диске или надёжной сетевой папке. Нестабильная сеть как раз и приводит к зависшим сеансам и ложным блокировкам.

Снятие блокировки в клиент-серверном варианте

В клиент-серверной базе сеансами управляет кластер серверов 1С. Завершать их можно, не подходя к рабочим местам пользователей.

Через консоль администрирования серверов. Откройте оснастку администрирования, разверните Центральный сервер → Кластер → Информационные базы → <ваша база> → Сеансы. Выделите нужный сеанс и удалите его. Там же, в свойствах информационной базы, можно включить блокировку начала новых сеансов, чтобы во время работ никто не подключился заново.

Через утилиту rac. Если консоли нет, подойдёт командная строка администрирования кластера. Сначала узнайте идентификатор кластера:

rac cluster list

Затем список сеансов по этому кластеру:

rac session list --cluster=<uuid-кластера>

Завершение конкретного сеанса выполняется командой rac session terminate с идентификаторами кластера и сеанса. Точный набор параметров (и нужно ли указывать имя и пароль администратора кластера) смотрите в rac help и rac session help — набор ключей зависит от версии платформы, выдумывать их не стоит.

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

После того как лишние сеансы закрыты, Конфигуратор получит монопольный доступ и обновление конфигурации базы данных или загрузка .dt пройдут.

Блокировка начала сеансов и заблокированный пользователь

Это две разные вещи, которые часто путают.

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

  • В Конфигураторе: Администрирование → Блокировка соединений с информационной базой. Снимите флаг установки блокировки и нажмите «ОК».
  • В клиент-серверной базе блокировку дополнительно можно выключить в свойствах информационной базы через консоль администрирования.

Если снять блокировку прямо сейчас нельзя, а войти надо, помогает разрешающий код. Он задаётся вместе с блокировкой. Пользователь с этим кодом запускает базу с параметром /UC <код> — например, через ярлык или в диалоге запуска. Сеанс с правильным кодом блокировку игнорирует.

Заблокированный пользователь — это запрет на конкретную учётную запись, а не на базу. Проверьте настройки пользователя:

  • в Конфигураторе — Администрирование → Пользователи, откройте карточку;
  • в типовой конфигурации — Администрирование → Настройки пользователей и прав → Пользователи.

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

Если объект захвачен в хранилище конфигурации

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

Нормальный путь — попросить коллегу освободить объект: у него в меню Конфигурация → Хранилище конфигурации → Поместить изменения в хранилище или Отменить захват.

Если коллега недоступен (уволился, в отпуске, потеряно рабочее место), захват снимает администратор хранилища через Конфигурация → Хранилище конфигурации → Управление хранилищем конфигурации. Там в списке захваченных объектов выбирается нужный и принудительно отменяется захват.

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

Аварийные случаи: повреждение и восстановление

Иногда «не открывается» — это не блокировка, а повреждение базы. Признаки: ошибки целостности при входе, обрыв по питанию, сбой диска.

Для файловой базы есть утилита проверки физической целостности chdbfl.exe (лежит в каталоге bin установленной платформы). Она проверяет файл 1Cv8.1CD и с включённым флагом исправления чинит простые повреждения.

Логические проблемы лечит Администрирование → Тестирование и исправление в Конфигураторе. Этой операции нужен монопольный доступ, поэтому сначала освободите базу от пользователей, как описано выше.

Перед любым тестированием, исправлением и перед chdbfl.exe сделайте резервную копию базы . Утилиты меняют файл данных, и если что-то пойдёт не так, откатиться можно будет только из копии. В клиент-серверной базе копию снимают средствами СУБД, в файловой — просто копируют папку с базой, когда в неё никто не подключён.

Чем «включить возможность изменения» отличается от «снять с поддержки»?
Включение возможности изменения с сохранением поддержки оставляет связь с типовой конфигурацией — её можно обновлять дальше. Снятие с поддержки (режим с потерей поддержки) эту связь рвёт, и обновления придётся накатывать вручную. Для обычных правок выбирают первый вариант.
Почему кнопка «Включить возможность изменения» серая?
Чаще всего не хватает прав администратора на конфигурацию либо база открыта через хранилище и управляется им. Войдите под учётной записью с полными правами или снимайте ограничение на стороне хранилища.
Нужен ли монопольный доступ для правки форм и отчётов?
Нет. Монополия нужна только когда правки меняют структуру данных (новые реквизиты, таблицы) при обновлении конфигурации базы данных, а также для загрузки .dt, тестирования и исправления. Косметические правки без изменения структуры применяются и при работающих пользователях.
Как войти, если включена блокировка начала сеансов, а снять её некому?
Используйте разрешающий код, заданный вместе с блокировкой: запустите базу с параметром /UC <код>. Без кода вход закрыт, пока блокировку не снимут в Конфигураторе или в консоли администрирования сервера.
Удаление файла `1Cv8.1CL` разблокирует файловую базу?
Только если база действительно никем не занята, а файл остался после аварийного завершения. При живых сеансах его удаление собьёт учёт подключений и грозит повреждением. Сначала закройте программу у всех.