Сплошной прогон по типам объектов (11 минимальных объектных форм УТ, каждая
заимствована и загружена в UT_DEMO) дал три падения из одиннадцати. Все три —
один класс: в оболочке не хватает того, от чего зависит существование
стандартного поля, и платформа отвергает загрузку «Неверный путь к данным».
1. Справочник с владельцем: «Объект.Owner» не разрешается без <Owners>.
Свойство — список <xr:Item>, а не скаляр, поэтому переносится фрагментом,
как __TypeXml у DefinedType. Одного переноса мало: ссылка должна вести на
объект, который в расширении есть, иначе платформа падает с access violation
вместо сообщения. Добавлен общий проход, заимствующий владельцев (и владельцев
владельцев) — Конфигуратор поступает так же, эталон Issue66Example7_1.
2. Регистр сведений: «Запись.Period» не разрешается без
InformationRegisterPeriodicity. Вместе с ним переносится WriteMode, от
которого зависит «Запись.Recorder» — Конфигуратор несёт оба, 6 эталонов из 6.
3. Задача: «Объект.Исполнитель» — это реквизит адресации, отдельный вид
дочернего объекта. AddressingAttribute добавлен к видам, которые
заимствуются поимённо, рядом с Dimension и Resource.
Правка сделана в Read-SourceObject и Build-BorrowedObjectXml — там, где оболочка
рождается: механизм $extraProps работает только в потоке -BorrowMainAttribute и
обычное заимствование оболочки не покрывает.
Проверено: те же 11 форм грузятся 11 из 11; ПВХ с путём «Объект.ValueType»
грузился и раньше — Конфигуратор Type и CharacteristicExtValues тоже не
переносит (эталон Issue66Example8), правило «свойство, включающее поле»
подтверждается с обеих сторон.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>