Files
cc-1c-skills/tests/skills/cases/meta-compile/document-journal-full.json
T
Nick Shirokov b4e6037fd4 feat(meta-compile,meta-decompile): поддержка типа DocumentJournal (Журналы документов) (v1.55/v0.46)
19-й тип, 82 объекта acc+erp. Рерайт Emit-DocumentJournalProperties/Emit-Column на
общие хелперы (был легаси-хардкод + ПРОПУЩЕН <IncludeHelpInContents>). Декомпилятор
снят гейт +DJ; захват defaultForm/auxiliaryForm/registeredDocuments + колонки
(columns: name/synonym/comment/indexing/references) + SA opt-out.

- **Class-3 фикс: команды журнала** — DJ-блок ChildObjects эмитил только колонки;
  журналы несут полноблочные <Command> (Взаимодействия: 15 команд, DefinedType-параметр)
  → добавлен парсинг+Emit-Command (декомпилятор захватывал общим Commands-ридером).
- IncludeHelpInContents (пропущен легаси) добавлен; comment/useStandardCommands/формы
  (verbatim — имя «Форма»)/презентации — динамические. StandardAttributes always-emit +
  opt-out (~7% опускают); Date Format ДЛФ=D — per-object override (не профиль, 71/203).
- **Class-1: пустой <Synonym/> колонки** ≠ авто → synonym:"" (как EnumValue).
- Прощающий ввод registeredDocuments/references — Normalize-MDObjectRef (русские корни).

ПОЛНЫЙ КОРПУС 82/82 match, TOTAL 0 — byte-exact order-preserved (колонки+команды).
Регресс 56/56 ps1+py, ps1==py identical. spec §7.15, кейс document-journal-full.

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

33 lines
1.0 KiB
JSON

{
"name": "Журнал документов с колонками",
"input": {
"type": "DocumentJournal",
"name": "ДвиженияДенег",
"comment": "(Демо)",
"defaultForm": "DocumentJournal.ДвиженияДенег.Form.ФормаСписка",
"registeredDocuments": [
"Документ.ПоступлениеНаСчет",
"Document.СписаниеСоСчета"
],
"columns": [
{
"name": "Организация",
"references": [
"Документ.ПоступлениеНаСчет.Реквизит.Организация",
"Document.СписаниеСоСчета.Attribute.Организация"
]
},
{
"name": "Сумма",
"indexing": "Index",
"synonym": "",
"references": ["Document.ПоступлениеНаСчет.Attribute.Сумма"]
}
]
},
"validatePath": "DocumentJournals/ДвиженияДенег",
"expect": {
"files": ["DocumentJournals/ДвиженияДенег.xml"]
}
}