При разработке и сопровождении конфигураций на платформе 1С:Предприятие 8 часто возникает ситуация, когда программисту необходимо изменить структуру метаданных, например, удалить ставшее ненужным Измерение или Реквизит. Однако в некоторых случаях кнопка удаления (красный крестик) оказывается неактивной (серой), даже если вы являетесь администратором системы. В этой статье мы подробно разберем, почему это происходит и какие шаги нужно предпринять для решения проблемы, учитывая работу в хранилище и настройки поддержки.
Для начала проанализируем ситуацию: если кнопка «Удалить» недоступна, это означает, что платформа наложила запрет на изменение структуры данного конкретного объекта. Основных причин может быть несколько, и мы последовательно разберем каждую из них. Чаще всего проблема кроется либо в настройках поддержки конфигурации поставщика, либо в особенностях взаимодействия с хранилищем конфигурации.
Если ваша разработка ведется коллективно с использованием хранилища, первым делом необходимо убедиться, что объект захвачен корректно. Обычного захвата самого объекта РегистрСведений иногда бывает недостаточно для выполнения операций удаления подчиненных элементов.
Если объект не захвачен в хранилище или база работает автономно, но кнопка всё равно недоступна, скорее всего, объект стоит «на замке». Рассмотрим, как проверить и изменить правила поддержки, даже если вы считаете, что объект «самописный».
Бывает так, что новый объект был создан в конфигурации, которая находится на поддержке (например, УТ 11 или ERP). Если при создании объекта или последующем обновлении он был случайно включен в состав поставки поставщика (или если он является частью отраслевого решения), его редактирование будет ограничено.
Проанализируем алгоритм изменения правил поддержки:
РегистрСведений.Если вы видите желтый ромб, это означает, что объект контролируется поставщиком. Переключите правило в состояние «Снято с поддержки» для конкретного измерения, и кнопка удаления станет активной.
Рассмотрим современную причину блокировки, актуальную для платформы версии 8.3. Если вы используете Расширения конфигурации, и ваше измерение было добавлено («заимствовано») в одно из активных расширений, платформа заблокирует возможность его удаления в основной конфигурации. Это необходимо для обеспечения целостности данных.
Чтобы решить эту проблему, выполните следующие действия:
Выясним причину, связанную с логическими связями внутри метаданных. Платформа 1С может запрещать удаление измерения, если оно является частью ОпределяемогоТипа или на него установлена зависимость в ФункциональнойОпции.
Прежде чем удалять измерение, выполните «Поиск ссылок на объект» (правой кнопкой мыши по измерению – «Поиск ссылок в объектах»). Если измерение используется в составе общей подсистемы, которая контролирует видимость или поведение объектов, вам придется сначала разорвать эти связи вручную.
Если все вышеперечисленные методы не помогли, и вы столкнулись с так называемым «полтергейстом» в конфигураторе, попробуйте выполнить техническую очистку системы:
%LOCALAPPDATA%\1C\1cv8\) и удалите папки с длинными буквенно-цифровыми названиями. Это сбросит временные настройки интерфейса конфигуратора..cf и загрузка его обратно в пустую базу или поверх текущей (предварительно сделав бэкап!).Подводя итог, можно сказать, что в 99% случаев проблема решается либо рекурсивным захватом в хранилище, либо корректной настройкой правил поддержки для конкретного подчиненного объекта. Всегда проверяйте наличие «замков» не только на самом регистре, но и на его измерениях в окне настройки поддержки.