При попытке заимствовать типовой общий модуль в расширение конфигурации разработчики нередко сталкиваются с ошибкой проверки метаданных: «Переопределение свойств заимствованных объектов в расширениях недопустимо в режиме совместимости 8.3.8 и ниже. При проверке метаданных обнаружены ошибки! Операция не может быть выполнена». Выясним причину такого поведения платформы 1С:Предприятие, разберем архитектурные ограничения и рассмотрим доступные способы решения задачи.
Проанализируем механику работы расширений. Нередко возникает путаница между фактической версией установленной платформы и свойством РежимСовместимости самой конфигурации. Даже если информационная база запущена на современной платформе (например, 8.3.9 и выше), при включенном режиме совместимости с версией 8.3.8 или более ранней платформа принудительно эмулирует поведение старого релиза.
В платформе 8.3.8 механизм расширений имел жесткие рамки: разрешалось модифицировать только формы, подсистемы, командный интерфейс, роли и отчеты. Полноценная возможность заимствовать общие модули, перехватывать их методы с помощью аннотаций, а также расширять модули объектов и менеджеров появилась только начиная с версии 8.3.9. Если в свойствах основной конфигурации указан режим совместимости 8.3.8, платформа блокирует заимствование общего модуля на этапе синтаксического контроля.
Рассмотрим также иерархию совместимости: свойство РежимСовместимости расширения не может быть выше, чем режим совместимости основной конфигурации. Установить в расширении значение «Не использовать» или «Версия 8.3.9», оставив конфигурацию на 8.3.8, платформа не позволит, выдав ошибку о том, что режим совместимости расширения превышает режим основной конфигурации.
Разберем по шагам, как корректно изменить режим совместимости, сохранив возможность простого обновления типовой конфигурации:
РежимСовместимости и установим его в значение Версия 8.3.9 (или выше, либо «Не использовать», в зависимости от используемой платформы).РежимСовместимости.Посмотрим на практическое следствие этого шага для обновлений: так как ни один прикладной объект метаданных не был изменен и снят с замка, последующие типовые обновления проходят штатно через механизм поддержки с минимальным вмешательством — потребуется лишь подтверждать сохранение значения режима совместимости корня.
Если конфигурацию категорически запрещено переводить в режим редактирования, проанализируем текущий релиз типового решения. В более свежих релизах конфигураций (в частности, линейки УТ 11, КА 2, ERP) фирма «1С» штатно повысила минимальный режим совместимости до версии 8.3.9 и выше. После стандартного обновления конфигурации до актуального релиза ограничение на заимствование общих модулей снимается автоматически без снятия базы с полной поддержки.
Если требуется сохранить полную поддержку конфигурации и режим совместимости 8.3.8 изменить нельзя, разберем обходной путь через добавление новых объектов в расширение:
Если задача заключается в пересчете, модификации данных или заполнении табличных частей документов и справочников, рассмотрим альтернативу без механизма расширений. В конфигурациях на базе БСП предусмотрен механизм внешних обработок заполнения табличных частей. Разработав внешнюю обработку и подключив её в режиме 1С:Предприятие (раздел Администрирование — Печатные формы, отчеты и обработки — Дополнительные отчеты и обработки), мы получаем возможность модифицировать поведение табличных частей без правок метаданных и без конфликтов с режимами совместимости.