
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-20 13:57:31 +03:00
2026-05-01 16:43:39 +03:00
2026-05-01 20:54:57 +03:00
2026-06-23 12:57:41 +03:00
2026-05-08 13:45:47 +03:00
2026-05-01 20:54:57 +03:00
2026-05-08 13:45:47 +03:00
2026-05-08 13:45:47 +03:00
2026-03-29 17:40:26 +03:00
2026-03-29 17:40:26 +03:00
2026-06-30 18:33:10 +03:00
2026-03-29 17:40:26 +03:00
2026-03-29 17:40:26 +03:00
2026-06-30 18:33:10 +03:00
2026-06-30 18:33:10 +03:00
2026-03-29 17:40:26 +03:00
2026-03-29 17:40:26 +03:00
2026-06-30 11:42:07 +03:00
2026-03-29 17:40:26 +03:00
2026-03-29 17:40:26 +03:00
2026-03-29 17:30:03 +03:00
2026-04-25 15:26:54 +03:00
2026-03-29 17:30:03 +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-08 13:16:12 +03:00
2026-06-30 17:34:20 +03:00
2026-06-24 14:22:45 +03:00
2026-06-20 14:14:47 +03:00
2026-06-30 17:34:20 +03:00
2026-06-23 12:38:39 +03:00
2026-06-30 15:05:54 +03:00
2026-06-24 14:22:45 +03:00
2026-05-08 13:45:47 +03:00
2026-07-01 19:48:16 +03:00
2026-06-20 14:57:14 +03:00
2026-06-20 13:57:31 +03:00
2026-06-20 14:57:14 +03:00
2026-05-08 13:45:47 +03:00
2026-06-24 14:22:45 +03:00
2026-03-28 15:38:06 +03:00
2026-06-20 14:14:47 +03:00
2026-03-28 15:38:06 +03:00
2026-06-24 14:22:45 +03:00
2026-06-20 14:14:47 +03:00
2026-05-08 13:45:47 +03:00
2026-06-24 14:22:45 +03:00
2026-06-01 16:41:56 +03:00
2026-06-24 14:22:45 +03:00
2026-06-20 14:14:47 +03:00
2026-06-01 16:12:28 +03:00
2026-06-30 11:42:07 +03:00
2026-06-24 14:22:45 +03:00
2026-06-20 14:14:47 +03:00
2026-05-08 13:45:47 +03:00
2026-06-24 14:22:45 +03:00
2026-06-24 14:22:45 +03:00
2026-03-28 15:38:06 +03:00