При работе в режиме «Конфигуратор» разработчики нередко сталкиваются с ситуацией, когда возле объектов метаданных (справочников, документов, отчетов) отображается значок замка, а редактирование структуры или модулей заблокировано. При этом у пользователя могут быть назначены полные права. Проанализируем возможные причины возникновения такой блокировки и подробно рассмотрим способы её снятия.
Разберем ситуацию, когда при наведении на значок замка всплывает подсказка: «Объект не захвачен в хранилище конфигурации». При этом разработчик может даже не подключаться к хранилищу в текущем сеансе.
Причина заключается в том, что в базе данных сохраняются служебные метки прежнего подключения к хранилищу конфигурации. Для снятия блокировки необходимо выполнить явное отключение от хранилища.
Выполним следующие шаги:
Конфигурация -> Хранилище конфигурации.После выполнения этой команды служебные связи с хранилищем будут сброшены, и значки замков исчезнут.
Выясним причину блокировки, если объект находится на поддержке. По умолчанию для типовых конфигураций 1С включен режим защиты от случайных изменений, предотвращающий проблемы при автоматическом обновлении.
Чтобы разрешить редактирование объектов поставщика, выполним процедуру изменения правил поддержки:
Конфигурация -> Поддержка -> Настройка поддержки....Проанализируем случай, когда база данных является подчиненным узлом Распределенной Информационной Базы (РИБ). Платформа 1С блокирует изменения структуры в подчиненных узлах, чтобы сохранить идентичность с главным узлом.
Если требуется внести изменения непосредственно в подчиненном узле (например, при отвязке базы или тестировании), необходимо временно отключить связь с главным узлом. Для этого выполним код во внешней обработке или через контекст исполнения:
ПланыОбмена.УстановитьГлавныйУзел(Неопределено);
После внесения необходимых правок и обновления конфигурации базы данных связь с главным узлом при необходимости можно восстановить указанием ссылки на главный узел:
ГлавныйУзел = ПланыОбмена.ГлавныйУзел();
// Установка ссылки на узел
ПланыОбмена.УстановитьГлавныйУзел(СсылкаНаГлавныйУзел);
В случаях, когда отключение от хранилища не помогает или платформа отображает некорректный статус из-за повреждения локального кэша, сбросить флага блокировки можно методом пересборки конфигурации через файл .cf.
Рассмотрим порядок действий:
Конфигурация -> Выгрузить конфигурацию в файл... и сохраним файл с расширением .cf.Конфигурация -> Загрузить конфигурацию из файла....Файл конфигурации .cf не содержит служебных привязок к хранилищу, поэтому после загрузки все корректные статусы объектов восстанавливаются.
Посмотрим на особенности работы с базовыми версиями программных продуктов 1С (например, «1С:Бухгалтерия Базовая»). На уровне платформы в базовых лицензиях доработка структуры конфигурации полностью запрещена.
В данном случае снять замок средствами настройки невозможно. Единственным решением для изменения конфигурации является переход (апгрейд) на версию ПРОФ или CORP.
Чтобы сохранять типовую конфигурацию на полной поддержке поставщика и избегать снятия замков с объектов, рекомендуется использовать механизм расширений конфигурации (файлы .cfe).
Для добавления собственной логики, реквизитов или форм выполним следующее:
Конфигурация -> Расширения конфигурации.Данный подход позволяет сохранять основные объекты «на замке», что существенно упрощает последующие обновления программы.