Files
cc-1c-skills/tests/skills/cases/meta-compile/enum-full.json
T
Nick Shirokov 117a06ff3e feat(meta-compile,meta-decompile): поддержка типа Enum (Перечисления) (v1.51/v0.42)
13-й тип. Рерайт Emit-EnumProperties на общие хелперы (был легаси-хардкод:
Comment/UseStandardCommands/ChoiceMode/формы/презентации/ChoiceHistoryOnInput).
Emit-EnumValue + comment; Parse-EnumValueShorthand больше не стрингифаит synonym
(строка|{ru,en}). Декомпилятор: снят гейт +Enum; захват EnumValue (values,
короткая строка|объект name/synonym/comment); StandardAttributes register-style
opt-out (блок Order/Ref present 85%, absent → standardAttributes:"").

Class-2 фиксы дефолтов (тип-зависимые, декомпилятор зеркалит компилятор):
- useStandardCommands: у Enum дефолт false (не true)
- quickChoice: у Enum дефолт true (не false)
- пустой <Synonym/> значения ≠ авто-синоним → synonym:"" (аналог object-level фикса)

ПОЛНЫЙ КОРПУС 2545 (acc+erp): match 2545/2545, TOTAL 0, 0 крашей — byte-exact,
order-preserved (сверено с реальными 1С-файлами modulo trailing newline+GUID).
Регресс 50/50 ps1+py, ps1==py identical. spec §7.3, кейс enum-full.

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

22 lines
768 B
JSON

{
"name": "Перечисление — полный набор возможностей",
"input": {
"type": "Enum",
"name": "СтатусыОбработки",
"comment": "(Демо)",
"useStandardCommands": true,
"choiceMode": "QuickChoice",
"listPresentation": { "ru": "Статусы обработки", "en": "Processing statuses" },
"standardAttributes": "",
"values": [
{ "name": "Новый", "synonym": { "ru": "Новый", "en": "New" }, "comment": "начальный статус" },
{ "name": "ВРаботе", "synonym": "" },
"Завершен"
]
},
"validatePath": "Enums/СтатусыОбработки",
"expect": {
"files": ["Enums/СтатусыОбработки.xml"]
}
}