mirror of
https://github.com/Nikolay-Shirokov/cc-1c-skills.git
synced 2026-07-15 07:15:17 +03:00
feat(meta-compile,meta-decompile): поддержка Sequence + FilterCriterion + DocumentNumerator + SettingsStorage (v1.56/v0.47)
20-23-й типы (хвост «мелких» служебных), 64 объекта acc×3+erp. Все НОВЫЕ (компилятор не поддерживал). ПОЛНЫЙ КОРПУС 64/64 match, TOTAL 0 — byte-exact order-preserved. Регресс 56/56 ps1+py, ps1==py identical. - **Sequence** (последовательность документов): InternalInfo(Record/Manager/RecordSet) + MoveBoundaryOnPosting(дефолт DontMove)/Documents/RegisterRecords/DataLockControlMode (дефолт Automatic). Измерения с **DocumentMap/RegisterRecordsMap** (списки MDObjectRef — соответствие реквизитам документов/движениям) — гард общего dimensions-захвата, объектная форма измерения. Общий хелпер Emit-MDRefList. - **FilterCriterion** (критерий отбора): InternalInfo(Manager/List) + Type(составной) + Content(объекты отбора) + формы + презентации. Несёт <Command> → эмиссия команд. - **DocumentNumerator** (нумератор): БЕЗ InternalInfo/ChildObjects. NumberType/Length/ AllowedLength/Periodicity/CheckUnique (дефолты String/11/Variable/Year/true). - **SettingsStorage** (хранилище настроек): InternalInfo(Manager) + Default/Auxiliary Save/LoadForm (verbatim). Пустой ChildObjects (Form вне скоупа). Прощающий ввод MDObjectRef (Documents/Content/documentMap) — Normalize-MDObjectRef. spec §7.15a-d, кейсы sequence/filter-criterion/document-numerator/settings-storage. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -1186,6 +1186,63 @@ ChildObjects и модулей.
|
||||
{ "name": "Сумма", "indexing": "Index", "references": ["Document.ПоступлениеНаСчет.Attribute.Сумма"] } ] }
|
||||
```
|
||||
|
||||
### 7.15a Sequence (Последовательность документов)
|
||||
|
||||
| Поле JSON | Умолчание | XML элемент |
|
||||
|-----------|----------|-------------|
|
||||
| `moveBoundaryOnPosting` | `DontMove` | MoveBoundaryOnPosting |
|
||||
| `documents` | `[]` | Documents — массив MDObjectRef документов последовательности |
|
||||
| `registerRecords` | `[]` | RegisterRecords — движения (список MDObjectRef) |
|
||||
| `dataLockControlMode` | `Automatic` | DataLockControlMode |
|
||||
| `dimensions` | `[]` | → Dimension в ChildObjects |
|
||||
|
||||
**Измерение (`dimensions[]`)** — `{name, type, synonym?, comment?, documentMap[], registerRecordsMap[]}`:
|
||||
`documentMap`/`registerRecordsMap` — MDObjectRef-пути к реквизитам документов / движениям регистров
|
||||
(соответствие измерению). Прощающий ввод русских корней.
|
||||
|
||||
```json
|
||||
{ "type": "Sequence", "name": "Взаиморасчеты", "documents": ["Document.Реализация"],
|
||||
"dimensions": [{ "name": "Организация", "type": "CatalogRef.Организации",
|
||||
"documentMap": ["Document.Реализация.Attribute.Организация"] }] }
|
||||
```
|
||||
|
||||
### 7.15b FilterCriterion (Критерий отбора)
|
||||
|
||||
| Поле JSON | Умолчание | XML элемент |
|
||||
|-----------|----------|-------------|
|
||||
| `valueType` | — | Type — тип значения отбора (составной через ` + `) |
|
||||
| `content` | `[]` | Content — реквизиты, по которым идёт отбор (MDObjectRef) |
|
||||
| `useStandardCommands` | `true` | UseStandardCommands |
|
||||
| `defaultForm` / `auxiliaryForm` | `""` | формы (verbatim) |
|
||||
| `listPresentation` / `extendedListPresentation` / `explanation` | пусто | презентации (ML) |
|
||||
| `comment` | пусто | Comment |
|
||||
| `commands` | `[]` | → Command в ChildObjects (§7.1.3) |
|
||||
|
||||
```json
|
||||
{ "type": "FilterCriterion", "name": "ДокументыПоКонтрагенту", "valueType": "CatalogRef.Контрагенты",
|
||||
"content": ["Document.Реализация.Attribute.Контрагент"] }
|
||||
```
|
||||
|
||||
### 7.15c DocumentNumerator (Нумератор документов)
|
||||
|
||||
Параметры нумерации (без InternalInfo и ChildObjects).
|
||||
|
||||
| Поле JSON | Умолчание | XML элемент |
|
||||
|-----------|----------|-------------|
|
||||
| `numberType` | `String` | NumberType (String/Number) |
|
||||
| `numberLength` | `11` | NumberLength |
|
||||
| `numberAllowedLength` | `Variable` | NumberAllowedLength (Variable/Fixed) |
|
||||
| `numberPeriodicity` | `Year` | NumberPeriodicity (Nonperiodical/Day/…/Year) |
|
||||
| `checkUnique` | `true` | CheckUnique |
|
||||
|
||||
### 7.15d SettingsStorage (Хранилище настроек)
|
||||
|
||||
| Поле JSON | Умолчание | XML элемент |
|
||||
|-----------|----------|-------------|
|
||||
| `defaultSaveForm` / `defaultLoadForm` | `""` | DefaultSaveForm / DefaultLoadForm (verbatim) |
|
||||
| `auxiliarySaveForm` / `auxiliaryLoadForm` | `""` | Auxiliary*Form (verbatim) |
|
||||
| `comment` | пусто | Comment |
|
||||
|
||||
### 7.16 ChartOfAccounts
|
||||
|
||||
Полное описание типа (все поля, стандартные реквизиты, грамматика предопределённых счетов) — см. **§7.2c**.
|
||||
|
||||
Reference in New Issue
Block a user