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

Разработка и Конфигурация · 9 мин

Как захватить корень конфигурации в хранилище 1С

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

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

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

Что такое корень конфигурации и зачем его захватывать

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

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

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

Подготовка: подключение к хранилищу конфигурации

Прежде чем захватывать какие-либо объекты, база должна быть подключена к хранилищу. Проверьте статус: откройте меню «Конфигурация → Хранилище конфигурации». Если пункт «Отключиться» активен, подключение уже есть. Если активен пункт «Подключиться», выполните подключение, указав путь к каталогу хранилища, имя пользователя и пароль.

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

Пошаговый захват корня конфигурации

Основной сценарий выполняется через окно конфигурации и занимает меньше минуты, если нет конфликтов с другими пользователями.

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

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

Захват через окно объектов хранилища

Альтернативный способ — работа через окно «Конфигурация → Хранилище конфигурации → Захватить в хранилище». В открывшемся списке объектов отметьте корневой элемент (он идёт первым в дереве) и подтвердите захват. Этот вариант удобен, когда нужно за одну операцию захватить корень вместе с произвольным набором объектов, а не всей конфигурацией.

Рекурсивный захват: когда нужен и чем опасен

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

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

Сравнение вариантов захвата

Захват только корня

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

Рекурсивный захват

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

Выборочный захват списком

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

Конфликты: корень захвачен другим пользователем

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

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

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

Проверка результата и завершение работы

После внесения изменений в свойства конфигурации их нужно поместить в хранилище: правый клик по корню → «Поместить в хранилище». В диалоге помещения добавьте осмысленный комментарий — он сохранится в истории версий и поможет разбираться в изменениях позже.

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

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

Пиктограмма у корня конфигурации
Норма

Отображается значок захвата вашим пользователем

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

Значок отсутствует или помечен другим именем пользователя

Палитра свойств конфигурации
Норма

Поля версии, совместимости и языка доступны для редактирования

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

Поля неактивны (серые) — корень не захвачен

История хранилища после помещения
Норма

В истории появилась новая версия с вашим комментарием

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

Версии нет — изменения не помещены или помещение завершилось ошибкой

Если изменения оказались не нужны, захват отменяется через «Отменить захват» — объект возвращается к состоянию последней версии хранилища. Помните: отмена захвата необратимо удаляет все непомещённые правки захваченных объектов.

FAQ

Можно ли изменить версию конфигурации без захвата корня?

Нет. Версия — это свойство корневого объекта конфигурации, поэтому без его захвата в хранилище поле версии будет недоступно. Если хранилище не используется, свойства редактируются свободно.

Что делать, если пользователь, захвативший корень, уволился?

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

Чем отличается захват от помещения в хранилище?

Захват — это получение права на редактирование объекта, помещение — фиксация внесённых изменений в хранилище с созданием новой версии. Типичный цикл: захват → изменение → помещение с комментарием.

Нужно ли захватывать корень при добавлении нового справочника?

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

Почему после захвата корня поля свойств всё равно недоступны?

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

Итог

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

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