mirror of
https://github.com/Nikolay-Shirokov/cc-1c-skills.git
synced 2026-07-14 06:45:17 +03:00
feat(meta-compile,meta-decompile): короткая запись субконто ПС + фикс регистра описания счёта (v1.38/v0.27)
Субконто предопределённого счёта — компактная строка "Вид | Признак1, Признак2": type — голое
имя значения ПВХ (компилятор разворачивает через extDimensionTypes плана), признаки после '|' —
только TRUE (разворот по def-порядку extDimensionAccountingFlags). Объектная форма {type, turnover?,
flags?} остаётся для turnover=true («Только обороты», синоним `толькоОбороты`). Декомпилятор пишет
строку при turnover=false, объект — при true. Хелпер Resolve-TypePrefixSyn (общий с extDimensionTypes).
Фикс (нашёлся на реальных счетах): PS `-ne` регистронезависим → description предопределённого счёта
с хвостовой аббревиатурой (ОС/НМА) ошибочно опускался (auto==actual регистронезависимо), компилятор
регенерил lowercase через Split-CamelCase. Декомпилятор теперь сравнивает регистрочувствительно (-cne).
Harness маскировал (его семантический дифф регистронезависим) — реальная 1С регистр сохраняет.
Роундтрип 3/3 match. Проверены обе формы субконто (строка/объект, смешанный массив, turnover=true).
Регресс 47/47 ps1+py, form-compile-from-object 12/12. spec §7.2c.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -695,14 +695,20 @@ Split-CamelCase имени.
|
||||
| `offBalance` | `false` | OffBalance |
|
||||
| `order` | — | Order (строка сортировки, вербатим) |
|
||||
| `flags` | `[]` | AccountingFlags → `<Flag>` по каждому признаку плана |
|
||||
| `subconto` | `[]` | ExtDimensionTypes → `<ExtDimensionType name="…">` `{type, turnover?, flags?}` |
|
||||
| `subconto` | `[]` | ExtDimensionTypes → `<ExtDimensionType name="…">` (вид субконто) |
|
||||
| `childItems` | `[]` | ChildItems (иерархия счетов) |
|
||||
|
||||
**Субконто** (`subconto`) — короткая строка **`"Вид | Признак1, Признак2"`** (после `|` — включённые признаки учёта
|
||||
субконто): `type` — голое имя предопределённого значения ПВХ, компилятор разворачивает через `extDimensionTypes` плана
|
||||
(`Номенклатура` → `ChartOfCharacteristicTypes.ВидыСубконто.Номенклатура`); признаки — только TRUE, разворот по def-порядку
|
||||
`extDimensionAccountingFlags`. Объектная форма `{type, turnover?, flags?}` — когда нужен `turnover: true`
|
||||
(`<Turnover>` = «Только обороты»: субконто ведётся только по оборотам, без остатков; синоним `толькоОбороты`).
|
||||
|
||||
```json
|
||||
"predefined": [
|
||||
{ "name": "ОсновныеСредства", "code": "01", "accountType": "Active", "order": " 01",
|
||||
"flags": ["Количественный"],
|
||||
"subconto": [{ "type": "ChartOfCharacteristicTypes.ВидыСубконто.ОсновныеСредства", "flags": ["Суммовой"] }],
|
||||
"subconto": ["Номенклатура | Суммовой, Валютный"],
|
||||
"childItems": [
|
||||
{ "name": "ОС в организации", "code": "01.01", "accountType": "Active", "order": " 01.01" }
|
||||
] }
|
||||
|
||||
Reference in New Issue
Block a user