mirror of
https://github.com/Nikolay-Shirokov/cc-1c-skills.git
synced 2026-07-14 23:05:16 +03:00
feat(meta-compile,meta-decompile): короткая запись типа предопределённых ПВХ (v1.36/v0.25)
Предопределённые виды характеристик несут тип значения на элемент. Раньше это требовало объектной формы; теперь тип выражается короткой строкой после ':' — как в полях СКД/реквизитах: "(Код) Имя [Наименование]: Тип" (тип составной через '+') Правило: нет ':' → без блока Type (Catalog-стиль); непустой тип → короткая строка; пустой <Type/> / папки / с детьми → объектная форма (ключ type). Разбор зеркалит Parse-CalcShorthand: сначала вынуть [Наим] (может содержать ':'), затем отделить тип по ':'. Компилятор принимает обе формы, декомпилятор пишет короткую для плоских элементов. На ВидыСубконтоХозрасчетные все 63 предопределённых из объектов стали компактными строками. Роундтрип/вывод XML не меняется (52 TOTAL). Регресс 47/47 ps1+py, ps1↔py identical. spec §7.2b, кейс chart-of-characteristic-types. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -9,8 +9,8 @@
|
||||
"standardAttributes": { "Description": { "synonym": "Свойство" } },
|
||||
"attributes": ["НаборСвойств: String(100)"],
|
||||
"predefined": [
|
||||
{ "name": "Цвет", "code": "000001", "type": "CatalogRef.ЗначенияСвойств" },
|
||||
{ "name": "Размер", "code": "000002", "type": "String(50) + Number(3,0)" },
|
||||
"(000001) Цвет: CatalogRef.ЗначенияСвойств",
|
||||
"(000002) Размер [Размер одежды]: String(50) + Number(3,0)",
|
||||
{ "name": "Группа", "code": "000003", "isFolder": true, "type": "" }
|
||||
]
|
||||
},
|
||||
|
||||
+1
-1
@@ -12,7 +12,7 @@
|
||||
<Item id="UUID-002">
|
||||
<Name>Размер</Name>
|
||||
<Code>000002</Code>
|
||||
<Description>Размер</Description>
|
||||
<Description>Размер одежды</Description>
|
||||
<Type>
|
||||
<v8:Type>xs:string</v8:Type>
|
||||
<v8:StringQualifiers>
|
||||
|
||||
Reference in New Issue
Block a user