Почему в конфигураторе 1С не получается удалить измерения регистра сведений и как это исправить

Программист 1С:Управление торговлей IT и автоматизация бизнеса
← На главную

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

Анализ причин блокировки метаданных

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

Решение 1: Правильная работа с хранилищем конфигурации

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

  1. Рекурсивный захват объекта. Разберем по шагам: вместо того чтобы захватывать только корень регистра, попробуйте выполнить захват рекурсивно. Для этого в дереве метаданных нажмите правой кнопкой мыши на объект, выберите пункт «Хранилище» – «Захватить в хранилище» и в появившемся диалоговом окне обязательно установите флаг «Захватывать рекурсивно». Это позволит платформе заблокировать для редактирования не только сам объект, но и все его формы, макеты и, что самое важное, внутренние связи.
  2. Обновление конфигурации из хранилища. Иногда локальный кэш вашего конфигуратора «рассинхронизируется» с состоянием хранилища. Чтобы устранить этот программный сбой, выполните команду «Конфигурация» – «Хранилище конфигурации» – «Обновить конфигурацию из хранилища». Это принудительно перечитает актуальное состояние всех флагов доступности из базы хранилища.
  3. Проверка захвата корня конфигурации. В исключительных случаях, когда удаление затрагивает сложные связи (например, объект участвует в определяемых типах), может потребоваться захват самого корня дерева метаданных (самой верхней строки с названием конфигурации).

Решение 2: Проверка правил поддержки конфигурации

Если объект не захвачен в хранилище или база работает автономно, но кнопка всё равно недоступна, скорее всего, объект стоит «на замке». Рассмотрим, как проверить и изменить правила поддержки, даже если вы считаете, что объект «самописный».

Бывает так, что новый объект был создан в конфигурации, которая находится на поддержке (например, УТ 11 или ERP). Если при создании объекта или последующем обновлении он был случайно включен в состав поставки поставщика (или если он является частью отраслевого решения), его редактирование будет ограничено.

Проанализируем алгоритм изменения правил поддержки:

  1. Перейдите в меню «Конфигурация» – «Поддержка» – «Настройка поддержки».
  2. В открывшемся дереве метаданных найдите ваш РегистрСведений.
  3. Обратите внимание на пиктограмму рядом с объектом. Если там стоит «желтый ромб» или «замок», значит, объект редактируется с ограничениями.
  4. Кликните дважды на правило поддержки объекта. Измените его на «Объект поставщика редактируется с сохранением поддержки».
  5. Важный нюанс: Платформа позволяет устанавливать правила отдельно для объекта и отдельно для его подчиненных элементов (реквизитов, измерений). Разверните дерево до конкретного измерения, которое вы хотите удалить, и убедитесь, что для него установлено правило, разрешающее редактирование или снятие с поддержки.

Если вы видите желтый ромб, это означает, что объект контролируется поставщиком. Переключите правило в состояние «Снято с поддержки» для конкретного измерения, и кнопка удаления станет активной.

Решение 3: Влияние расширений конфигурации

Рассмотрим современную причину блокировки, актуальную для платформы версии 8.3. Если вы используете Расширения конфигурации, и ваше измерение было добавлено («заимствовано») в одно из активных расширений, платформа заблокирует возможность его удаления в основной конфигурации. Это необходимо для обеспечения целостности данных.

Чтобы решить эту проблему, выполните следующие действия:

  1. Откройте список расширений («Конфигурация» – «Расширения конфигурации»).
  2. Проверьте каждое расширение на предмет наличия в нем вашего регистра.
  3. Если измерение присутствует в расширении, сначала удалите его из расширения, и только после этого возвращайтесь к основной конфигурации для удаления.

Решение 4: Использование в функциональных опциях и типах

Выясним причину, связанную с логическими связями внутри метаданных. Платформа 1С может запрещать удаление измерения, если оно является частью ОпределяемогоТипа или на него установлена зависимость в ФункциональнойОпции.

Прежде чем удалять измерение, выполните «Поиск ссылок на объект» (правой кнопкой мыши по измерению – «Поиск ссылок в объектах»). Если измерение используется в составе общей подсистемы, которая контролирует видимость или поведение объектов, вам придется сначала разорвать эти связи вручную.

Дополнительные рекомендации и очистка кэша

Если все вышеперечисленные методы не помогли, и вы столкнулись с так называемым «полтергейстом» в конфигураторе, попробуйте выполнить техническую очистку системы:

Подводя итог, можно сказать, что в 99% случаев проблема решается либо рекурсивным захватом в хранилище, либо корректной настройкой правил поддержки для конкретного подчиненного объекта. Всегда проверяйте наличие «замков» не только на самом регистре, но и на его измерениях в окне настройки поддержки.

← На главную