
Nick ShirokovandClaude Opus 4.8
253a4fbce0
feat(meta-compile,meta-decompile): предопределённые элементы Catalog (Ext/Predefined.xml) (v1.19/v0.5)
Раундтрип-находка (класс-3, непокрытый блок — крупнейшая категория ~56k). meta-compile вообще
не генерил Ext/Predefined.xml. DSL спроектирован по данным корпуса (9309 элементов) + совместно.
DSL `predefined` (массив; строка ИЛИ объект):
- строка "(Код) Имя [Наименование]": Имя обяз.; Наименование — нет [..] → авто(Split-CamelCase),
[] → пусто (системные/placeholder, 29% корпуса), [текст] → задано;
- объект (группа/иерархия): name/code/description/isFolder/childItems + рус.синонимы
имя/код/наименование/группа/подчиненные (прощающий ввод).
- Код: по codeType каталога (Number→xs:decimal, String→без типа), пусто→<Code/>.
meta-compile (дуал-порт): генерация Ext/Predefined.xml (root CatalogPredefinedItems + рекурсия Item).
Заодно фикс: Esc-XmlText для ТЕКСТА элемента (& < > без экранирования кавычек — в тексте 1С держит raw).
meta-decompile: захват predefined → компактный DSL (строка/объект). Фикс PS-ловушки распаковки
одноэлементного @() из if → папки с ОДНИМ ребёнком теряли его.
spec meta-dsl-spec.md v2.4 §7.1.2; тест-кейс catalog-predefined.
Валидация: PS==PY паритет; predefined-категории 0 (PredefinedData/Item/ChildItems/Description/Code);
полный прогон −56620 (218537→161917); регресс 36/36 (ps+py); 1С-cert зелёный (грузится в платформу).
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-01 19:48:16 +03:00
..
2026-06-24 14:22:45 +03:00
2026-06-24 14:22:45 +03:00
2026-06-24 14:22:45 +03:00
2026-06-24 14:22:45 +03:00
2026-06-24 14:22:45 +03:00
2026-06-24 14:22:45 +03:00
2026-06-24 14:22:45 +03:00
2026-06-24 14:22:45 +03:00
2026-06-24 14:22:45 +03:00
2026-06-30 17:23:59 +03:00
2026-06-30 17:23:59 +03:00
2026-06-30 17:23:59 +03:00
2026-06-30 17:23:59 +03:00
2026-06-24 14:22:45 +03:00
2026-06-30 17:23:59 +03:00
2026-06-30 17:23:59 +03:00
2026-06-30 18:33:10 +03:00
2026-06-30 17:23:59 +03:00
2026-06-30 11:42:07 +03:00
2026-06-30 17:23:59 +03:00
2026-06-24 14:22:45 +03:00
2026-06-24 14:22:45 +03:00
2026-06-30 17:23:59 +03:00
2026-06-30 17:23:59 +03:00
2026-06-24 14:22:45 +03:00
2026-06-24 14:22:45 +03:00
2026-06-24 14:22:45 +03:00
2026-06-24 14:22:45 +03:00
2026-06-24 14:22:45 +03:00
2026-06-24 14:22:45 +03:00
2026-06-24 14:22:45 +03:00
2026-06-24 14:22:45 +03:00
2026-06-24 14:22:45 +03:00
2026-06-24 14:22:45 +03:00
2026-06-24 14:22:45 +03:00
2026-06-24 14:22:45 +03:00
2026-06-30 17:34:20 +03:00
2026-06-24 14:22:45 +03:00
2026-06-24 14:22:45 +03:00
2026-06-30 18:33:10 +03:00
2026-06-24 14:22:45 +03:00
2026-06-24 14:22:45 +03:00
2026-07-01 19:48:16 +03:00
2026-07-01 19:48:16 +03:00
2026-06-24 14:22:45 +03:00
2026-06-24 14:22:45 +03:00
2026-06-24 14:22:45 +03:00
2026-06-24 14:22:45 +03:00
2026-06-24 14:22:45 +03:00
2026-06-24 14:22:45 +03:00
2026-06-24 14:22:45 +03:00
2026-06-24 14:22:45 +03:00
2026-06-24 14:22:45 +03:00
2026-06-24 14:22:45 +03:00
2026-06-24 14:22:45 +03:00
2026-06-24 14:22:45 +03:00
2026-06-01 16:12:50 +03:00
2026-06-30 12:55:09 +03:00
2026-06-24 14:22:45 +03:00
2026-06-24 14:22:45 +03:00
2026-06-30 11:42:07 +03:00
2026-06-24 14:22:45 +03:00
2026-06-24 14:22:45 +03:00
2026-06-24 14:22:45 +03:00
2026-06-20 16:45:43 +03:00
2026-06-24 14:22:45 +03:00
2026-06-24 14:22:45 +03:00
2026-06-24 14:22:45 +03:00
2026-06-24 14:22:45 +03:00
2026-06-24 14:22:45 +03:00
2026-06-29 12:55:34 +03:00
2026-06-24 14:22:45 +03:00
2026-06-24 14:45:02 +03:00