При активной разработке в среде 1С:Предприятие 8.3 расширения стали незаменимым инструментом. Однако механизмы их работы на разных версиях платформы существенно различаются. Одной из самых неприятных проблем является ошибка: «Переопределение свойств заимствованных объектов в расширениях недопустимо в режиме совместимости 8.3.13 и ниже». Рассмотрим подробно, почему возникает эта ситуация и как нам с ней справиться, чтобы не потерять проделанную работу.
Прежде всего, нам необходимо понять техническую подоплеку. До выхода версии платформы 8.3.14 возможности расширений были жестко ограничены. В старых режимах совместимости (8.3.13, 8.3.12 и ранее) платформа запрещала любое изменение свойств объектов, которые были заимствованы из основной конфигурации. К таким свойствам относятся не только программные модули, но и метаданные: Синоним, Комментарий, Управление блокировкой данных, Полнотекстовый поиск и другие.
Когда мы переносим объект (например, справочник) в расширение, платформа пытается сопоставить свойства объекта в расширении со свойствами в основной конфигурации. Если хотя бы одно свойство в расширении отличается от оригинала (или даже просто явно прописано вместо значения «Авто»), система выдает ошибку, блокируя сохранение конфигурации.
Проанализируем ситуацию, которая часто вводит разработчиков в заблуждение. Режим совместимости есть не только у основной конфигурации, но и у самого расширения. Даже если ваша основная база работает на версии 8.3.15, расширение может быть создано с настройками под 8.3.13.
Это действие часто сразу снимает все ограничения на редактирование свойств заимствованных объектов.
Разберем случай, когда мы случайно изменили какое-то свойство заимствованного объекта. В 1С свойства, значения которых отличаются от стандартных или явно заданы в расширении, выделяются жирным шрифтом в палитре свойств.
Для исправления выполним следующие шаги:
Справочники.НовыйСправочник).Режим управления блокировкой данных), нажмем на него правой кнопкой мыши.После того как все свойства придут в состояние «по умолчанию» (станут тождественными свойствам в основной конфигурации), ошибка должна исчезнуть.
Иногда платформа «кэширует» изменения, и даже после исправления свойств ошибка продолжает возникать. Проанализируем практический совет, который часто помогает в таких случаях:
Этот метод позволяет очистить внутренние связи платформы, которые могли «залипнуть» при первом неудачном переносе объекта.
Если предыдущие шаги не помогли и у вас возникло ощущение «замусоренности» расширения, проделаем процедуру полной очистки через файл:
.cfe..cfe.При такой загрузке платформа пересчитывает все внутренние идентификаторы и часто исправляет логические ошибки в структуре расширения.
Рассмотрим подробнее два свойства, которые чаще всего вызывают конфликты в режиме совместимости ниже 8.3.14:
Работа с расширениями в 1С требует понимания версии платформы. Если вы столкнулись с невозможностью переопределения свойств, всегда начинайте с проверки Режима совместимости самого расширения. Это самый быстрый и эффективный способ решить проблему без потери доработанных форм и модулей.
Помните, что расширение — это динамический слой над основной конфигурацией. При заимствовании объектов старайтесь не менять их базовые свойства метаданных без крайней необходимости, особенно если вы ограничены рамками старых версий платформы. Это обеспечит стабильную работу вашей системы и отсутствие проблем при последующих обновлениях типовых конфигураций.