mirror of
https://github.com/Nikolay-Shirokov/cc-1c-skills.git
synced 2026-08-18 17:20:22 +03:00
Сплошной прогон по типам объектов (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>
28 lines
1.1 KiB
JSON
28 lines
1.1 KiB
JSON
{
|
|
"name": "Заимствование справочника с владельцем: Owners переносится, сам владелец заимствуется",
|
|
"preRun": [
|
|
{
|
|
"script": "meta-compile/scripts/meta-compile",
|
|
"input": { "type": "Catalog", "name": "Договоры" },
|
|
"args": { "-JsonPath": "{inputFile}", "-OutputDir": "{workDir}" }
|
|
},
|
|
{
|
|
"script": "meta-compile/scripts/meta-compile",
|
|
"input": { "type": "Catalog", "name": "Терминалы", "owners": ["Catalog.Договоры"] },
|
|
"args": { "-JsonPath": "{inputFile}", "-OutputDir": "{workDir}" }
|
|
},
|
|
{
|
|
"script": "cfe-init/scripts/cfe-init",
|
|
"args": { "-Name": "Тест", "-OutputDir": "{workDir}/ext", "-ConfigPath": "{workDir}" }
|
|
}
|
|
],
|
|
"params": { "extensionPath": "ext", "object": "Catalog.Терминалы" },
|
|
"expect": {
|
|
"fileContains": {
|
|
"file": "ext/Catalogs/Терминалы.xml",
|
|
"text": "<Owners><xr:Item xsi:type=\"xr:MDObjectRef\">Catalog.Договоры</xr:Item></Owners>"
|
|
},
|
|
"files": ["ext/Catalogs/Договоры.xml"]
|
|
}
|
|
}
|