Часто разработчики 1С сталкиваются с ситуацией: в настройках поддержки указано, что конфигурация открыта для изменений, но при попытке отредактировать объект появляется дополнительный замок. При наведении на него курсора мы видим сообщение: «Объект не захвачен в хранилище конфигурации». Это стандартное поведение системы при командной разработке, и оно говорит о том, что ваша информационная база подключена к хранилищу конфигурации.
Разберем по шагам, что это означает и как правильно работать в таких условиях, чтобы вносить изменения в конфигурацию, а также рассмотрим связанные с этим вопросы, такие как работа с копией базы и редактирование объектов на поддержке.
Хранилище конфигурации — это инструмент для совместной разработки, который предотвращает одновременное изменение одного и того же объекта разными программистами. Представьте его как библиотеку: чтобы поработать с книгой (объектом конфигурации), вы должны сначала взять ее с полки (захватить в хранилище). Пока книга у вас, никто другой ее взять не может. После того как вы закончили работу, вы возвращаете книгу на полку (помещаете в хранилище), и она становится доступна другим.
Тот самый «второй замок» как раз и сигнализирует, что «книга стоит на полке» — то есть объект свободен, но вы его не взяли для редактирования. Или, что тоже возможно, его уже захватил другой разработчик.
Пошаговая инструкция для редактирования объекта:
Для разработки и тестирования часто создают копию рабочей информационной базы. Возникает логичный вопрос: как в этом случае быть с хранилищем? Создавать новое или подключаться к старому? При работе с большим количеством тестовых копий для их регулярного обслуживания можно настроить автоматическое архивирование, обновление и тестирование баз 1С.
Правильный подход — подключать копию базы к тому же, основному хранилищу. Это позволяет вести разработку в едином пространстве версий. Однако здесь есть одно критически важное правило.
Нельзя подключаться к одному хранилищу из разных информационных баз под одним и тем же пользователем.
Система не позволит этого сделать, чтобы избежать путаницы и рассинхронизации. Поэтому для работы с копией необходимо создать отдельного пользователя в хранилище.
Порядок действий:
Конфигурация -> Хранилище конфигурации -> Администрирование хранилища.Ivanov_copy).Конфигурация -> Хранилище конфигурации -> Подключиться к хранилищу.Ivanov_copy).Теперь вы можете работать в копии базы: получать последние изменения из хранилища, захватывать объекты, редактировать их и помещать обратно. Ваши коллеги, работающие в основной базе разработки, увидят ваши изменения после обновления конфигурации из хранилища.
А что если создать для копии новое, отдельное хранилище? Этот вариант тоже возможен, но он усложняет процесс переноса доработок. Вам придется выгружать изменения из копии в файл .cf, а затем в основной базе, подключенной к главному хранилищу, загружать этот файл. Это удлиняет цикл разработки и повышает риск возникновения конфликтов при слиянии изменений.
Иногда даже после захвата объекта в хранилище он остается недоступным для редактирования. Обычно это касается объектов, которые находятся на поддержке поставщика (даже если включен режим «Конфигурация редактируется с сохранением поддержки»).
Чтобы изменить такой объект, нужно выполнить дополнительное действие — явно разрешить его редактирование в настройках поддержки. Но для этого сначала нужно получить права на изменение самой конфигурации.
Инструкция по изменению объекта на поддержке:
Хранилище конфигурации -> Захватить в хранилище.Конфигурация -> Поддержка -> Настройка поддержки.ЗаказПоставщику.ЗаказПоставщику), а затем — корень конфигурации.В обсуждении прозвучал совет отключиться от хранилища (Конфигурация -> Хранилище конфигурации -> Отключиться от хранилища). Важно понимать, что это кардинальное действие.
Отключение полностью и безвозвратно разрывает связь вашей информационной базы с хранилищем.
После этого вы сможете редактировать конфигурацию без каких-либо ограничений, но потеряете всю историю версий и возможность синхронизировать изменения с командой. Вернуть такую «отвязанную» конфигурацию обратно в общее хранилище — очень сложная задача, сопряженная с ручным сравнением и объединением конфигураций. Этот шаг оправдан только в одном случае: если вы прекращаете командную разработку и начинаете поддерживать эту базу полностью автономно.