feat(meta-compile,meta-decompile): «Только обороты» как токен-признак субконто (v1.39/v0.28)

«Только обороты» (<Turnover>) — предопределённый (встроенный) признак учёта субконто. Теперь он
выражается токеном `Turnover` (синонимы ТолькоОбороты/«Только обороты») в том же списке признаков,
что и добавленные: "Номенклатура | Turnover, Суммовой". Строковая форма стала полностью
самодостаточной — объектная {type, turnover?, flags?} остаётся принимаемым эквивалентом.

Компилятор вынимает токен turnover из списка flags (регистронезависимо) → <Turnover>true.
Декомпилятор всегда пишет строкой, ставя `Turnover` первым при Turnover=true (объектную форму
больше не порождает). Роундтрип 3/3 match; обе формы + смешанный массив проверены, ps1↔py identical.
Регресс 47/47 ps1+py. spec §7.2c.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
Nick Shirokov
2026-07-05 20:30:58 +03:00
parent a08fcc1bcc
commit 90a05a58e2
4 changed files with 31 additions and 18 deletions
+3 -2
View File
@@ -701,8 +701,9 @@ Split-CamelCase имени.
**Субконто** (`subconto`) — короткая строка **`"Вид | Признак1, Признак2"`** (после `|` — включённые признаки учёта
субконто): `type` — голое имя предопределённого значения ПВХ, компилятор разворачивает через `extDimensionTypes` плана
(`Номенклатура` → `ChartOfCharacteristicTypes.ВидыСубконто.Номенклатура`); признаки — только TRUE, разворот по def-порядку
`extDimensionAccountingFlags`. Объектная форма `{type, turnover?, flags?}` — когда нужен `turnover: true`
(`<Turnover>` = «Только обороты»: субконто ведётся только по оборотам, без остатков; синоним `толькоОбороты`).
`extDimensionAccountingFlags`. **«Только обороты»** (`<Turnover>` — субконто ведётся только по оборотам, без остатков) —
предопределённый признак-токен **`Turnover`** (синонимы `ТолькоОбороты`/`Только обороты`) в том же списке признаков:
`"Номенклатура | Turnover, Суммовой"`. Объектная форма `{type, turnover?, flags?}` тоже принимается (эквивалент).
```json
"predefined": [