Как разрешить редактирование конфигурации 1С, если она заблокирована хранилищем?

Программист 1С v8.3 (Управляемые формы) IT и автоматизация бизнеса
← На главную

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

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

Основной принцип: захват и помещение объектов

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

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

Пошаговая инструкция для редактирования объекта:

  1. Откройте конфигуратор и найдите в дереве конфигурации нужный объект (например, отчет или документ).
  2. Нажмите на него правой кнопкой мыши и выберите в контекстном меню пункт «Хранилище конфигурации» -> «Захватить в хранилище».
  3. В открывшемся окне можно оставить комментарий о том, зачем вы захватываете объект. Это необязательно, но является хорошей практикой в команде.
  4. Обратите внимание на флажок «Выполнять рекурсивно». Если его установить, будут захвачены не только сам объект (например, ветка «Документы»), но и все вложенные в него объекты. Использовать эту опцию для корневых веток не рекомендуется, так как вы заблокируете огромную часть работы для всей команды. Лучше всего захватывать объекты точечно.
  5. После захвата замок на объекте изменится, и вы сможете вносить изменения.
  6. Когда редактирование и отладка завершены, снова нажмите на объект правой кнопкой мыши и выберите «Хранилище конфигурации» -> «Поместить в хранилище». Напишите осмысленный комментарий о сделанных изменениях — он сохранится в истории версий. После этого ваши доработки станут доступны другим участникам проекта.

Работа с копией базы, подключенной к общему хранилищу

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

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

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

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

Порядок действий:

  1. В основной базе (или через утилиту администрирования хранилища) зайдите в меню Конфигурация -> Хранилище конфигурации -> Администрирование хранилища.
  2. В списке пользователей создайте нового, например, с суффиксом `_copy` (Ivanov_copy).
  3. Теперь в вашей копии информационной базы откройте конфигуратор.
  4. Перейдите в меню Конфигурация -> Хранилище конфигурации -> Подключиться к хранилищу.
  5. Укажите путь к файлам вашего общего хранилища, но в качестве пользователя введите данные только что созданной учетной записи (Ivanov_copy).

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

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

Как редактировать объект, который находится на поддержке?

Иногда даже после захвата объекта в хранилище он остается недоступным для редактирования. Обычно это касается объектов, которые находятся на поддержке поставщика (даже если включен режим «Конфигурация редактируется с сохранением поддержки»).

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

Инструкция по изменению объекта на поддержке:

  1. Захватите корень конфигурации. Это обязательное условие. В дереве конфигурации нажмите правой кнопкой мыши на самую верхнюю строку (название вашей конфигурации) и выберите Хранилище конфигурации -> Захватить в хранилище.
  2. Откройте настройки поддержки через меню Конфигурация -> Поддержка -> Настройка поддержки.
  3. В открывшемся окне найдите нужный вам объект, например, документ ЗаказПоставщику.
  4. Дважды щелкните по нему или через контекстное меню измените его правило поддержки. Установите правило «Объект редактируется с сохранением поддержки».
  5. После этого объект станет доступен для редактирования.
  6. Внесите необходимые изменения в объект, сохраните их.
  7. Не забудьте вернуть изменения в хранилище. Сначала поместите в хранилище измененный вами объект (ЗаказПоставщику), а затем — корень конфигурации.

Крайняя мера: отключение от хранилища

В обсуждении прозвучал совет отключиться от хранилища (Конфигурация -> Хранилище конфигурации -> Отключиться от хранилища). Важно понимать, что это кардинальное действие.

Отключение полностью и безвозвратно разрывает связь вашей информационной базы с хранилищем.

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

← На главную