mirror of
https://github.com/Nikolay-Shirokov/cc-1c-skills.git
synced 2026-07-14 14:55:16 +03:00
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>
This commit is contained in:
+24
-13
@@ -1152,27 +1152,38 @@ ChildObjects и модулей.
|
||||
}
|
||||
```
|
||||
|
||||
### 7.15 DocumentJournal
|
||||
### 7.15 DocumentJournal (Журнал документов)
|
||||
|
||||
Журнал документов: список регистрируемых документов (RegisteredDocuments) + колонки (Column) со ссылками на
|
||||
реквизиты этих документов. Стандартные реквизиты — Type/Ref/Date/Posted/DeletionMark/Number.
|
||||
|
||||
| Поле JSON | Умолчание | XML элемент |
|
||||
|-----------|----------|-------------|
|
||||
| `defaultForm` | `""` | DefaultForm |
|
||||
| `auxiliaryForm` | `""` | AuxiliaryForm |
|
||||
| `registeredDocuments` | `[]` | RegisteredDocuments |
|
||||
| `comment` | пусто | Comment |
|
||||
| `defaultForm` / `auxiliaryForm` | `""` | DefaultForm / AuxiliaryForm (ссылка verbatim) |
|
||||
| `useStandardCommands` | `true` | UseStandardCommands |
|
||||
| `registeredDocuments` | `[]` | RegisteredDocuments — массив MDObjectRef `"Document.Имя"` (прощающий ввод русских корней) |
|
||||
| `includeHelpInContents` | `false` | IncludeHelpInContents |
|
||||
| `standardAttributes` | (блок всегда) | `""` — opt-out (~7% журналов опускают); кастомизация Date/… как в §7.1.1 |
|
||||
| `listPresentation` / `extendedListPresentation` / `explanation` | пусто | презентации (ML) |
|
||||
| `columns` | `[]` | → Column в ChildObjects |
|
||||
| `commands` | `[]` | → Command в ChildObjects (§7.1.3) |
|
||||
|
||||
Без модулей.
|
||||
**Колонка (`columns[]`)** — объект `{name, synonym?, comment?, indexing?, references[]}`:
|
||||
- `references` — массив MDObjectRef-путей к реквизитам регистрируемых документов
|
||||
(`Document.X.Attribute.Y` / `Document.X.TabularSection.Z.Attribute.Y`); прощающий ввод русских корней;
|
||||
- `indexing` — `DontIndex` (дефолт) / `Index` / `IndexWithAdditionalOrder`;
|
||||
- `synonym: ""` — явно пустой синоним (когда авто из имени неуместен).
|
||||
|
||||
DSL для `registeredDocuments` — массив строк `"Document.ИмяДокумента"` (или русский `"Документ.ИмяДокумента"`).
|
||||
|
||||
DSL для `columns` (§12).
|
||||
`registeredDocuments`/`references` и `defaultForm` — прощающий ввод русских корней метаданных/подвидов
|
||||
(Документ→Document, Реквизит→Attribute, ТабличнаяЧасть→TabularSection); имена объектов не трогаются.
|
||||
|
||||
```json
|
||||
{
|
||||
"type": "DocumentJournal", "name": "Взаимодействия",
|
||||
"registeredDocuments": ["Document.Встреча", "Document.ТелефонныйЗвонок"],
|
||||
"columns": [{ "name": "Организация", "indexing": "Index", "references": ["Document.Встреча.Attribute.Организация"] }]
|
||||
}
|
||||
{ "type": "DocumentJournal", "name": "ДвиженияДенег",
|
||||
"registeredDocuments": ["Документ.ПоступлениеНаСчет", "Document.СписаниеСоСчета"],
|
||||
"columns": [
|
||||
{ "name": "Организация", "references": ["Документ.ПоступлениеНаСчет.Реквизит.Организация"] },
|
||||
{ "name": "Сумма", "indexing": "Index", "references": ["Document.ПоступлениеНаСчет.Attribute.Сумма"] } ] }
|
||||
```
|
||||
|
||||
### 7.16 ChartOfAccounts
|
||||
|
||||
Reference in New Issue
Block a user