Files
cc-1c-skills/tests/skills/cases/meta-compile/catalog-characteristics.json
T
Nick Shirokov e2f019d872 feat(meta-compile,meta-decompile): Characteristics — привязка ПВХ (v1.25/v0.16)
Блок «Дополнительные реквизиты и сведения»/контактная инфо. DSL `characteristics`:
массив {types:{from,key,filterField,filterValue}, values:{from,object,type,value}}
— имена зеркалят XML без xr:, -1-поля неявны. Синонимы XML-имён
(characteristicTypes/keyField/…) приняты.

Прощающий ввод (по мотивам dataPath): поля — голое→StandardAttribute.<EN>
(ссылочные Ref/Parent/Owner, RU→EN) / Attribute.<имя>, частичное Dimension.X/
Resource.X/StandardAttribute.X→+from (регистры ДопСведения), полный путь как
есть. from — рус.корни + короткая 3-сегм.→вставка TabularSection. filterValue —
голый предопределённый→+каталог из types.from.

Декомпилятор пишет короткую форму (dogfood: каждый из 212 объектов роундтрип-
тестирует резолвер). Асимметрия для безопасности: голая форма только для
Ref/Parent/Owner, прочие StandardAttribute.X — частичной формой.

remaining Characteristics=0 на ВСЕХ 212 объектах корпуса, регресс 44/44 ps1+py,
ps1↔py identical. spec §7.1.4, кейс catalog-characteristics.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-04 11:27:56 +03:00

22 lines
1.3 KiB
JSON

{
"name": "Характеристики ПВХ (Дополнительные реквизиты и сведения)",
"input": {
"type": "Catalog",
"name": "Организации",
"characteristics": [
{ "types": { "from": "Справочник.НаборыДопРеквИСвед.ДополнительныеРеквизиты",
"key": "Свойство", "filterField": "Ссылка", "filterValue": "Справочник_Организации" },
"values": { "from": "Catalog.Организации.TabularSection.ДополнительныеРеквизиты",
"object": "Ссылка", "type": "Свойство", "value": "Значение" } },
{ "types": { "from": "Catalog.НаборыДопРеквИСвед.TabularSection.ДополнительныеСведения",
"key": "Свойство", "filterField": "Ссылка", "filterValue": "Справочник_Организации" },
"values": { "from": "InformationRegister.ДополнительныеСведения",
"object": "Dimension.Объект", "type": "Dimension.Свойство", "value": "Resource.Значение" } }
]
},
"validatePath": "Catalogs/Организации",
"expect": {
"files": ["Catalogs/Организации.xml"]
}
}