diff --git a/.claude/skills/skd-compile/scripts/skd-compile.ps1 b/.claude/skills/skd-compile/scripts/skd-compile.ps1 index f6828a3d..8ba7a00d 100644 --- a/.claude/skills/skd-compile/scripts/skd-compile.ps1 +++ b/.claude/skills/skd-compile/scripts/skd-compile.ps1 @@ -564,7 +564,13 @@ function Emit-Field { if ($f.roles.Count -gt 0 -or $f["roleObj"]) { X "$indent`t" foreach ($role in $f.roles) { - X "$indent`t`ttrue" + if ($role -eq "period") { + # @period -> periodNumber + periodType (not ) + X "$indent`t`t1" + X "$indent`t`tMain" + } else { + X "$indent`t`ttrue" + } } if ($f["roleObj"]) { $ro = $f["roleObj"] diff --git a/docs/1c-dcs-spec.md b/docs/1c-dcs-spec.md index 3eac72a1..cb0ca398 100644 --- a/docs/1c-dcs-spec.md +++ b/docs/1c-dcs-spec.md @@ -299,7 +299,8 @@ DataCompositionSchema | `dcscom:accountTypeExpression` | Выражение для определения типа счёта | | `dcscom:balance` | Поле является остатком | | `dcscom:balanceGroup` | Группа остатка | -| `dcscom:period` | Поле — период | +| `dcscom:periodNumber` | Номер периода (обычно `1`) | +| `dcscom:periodType` | Тип периода (`Main`, `Additional`) | ### 4.7. Тип значения (valueType) diff --git a/docs/skd-dsl-spec.md b/docs/skd-dsl-spec.md index 50c57661..71899815 100644 --- a/docs/skd-dsl-spec.md +++ b/docs/skd-dsl-spec.md @@ -183,7 +183,7 @@ | `@dimension` | `"role": "dimension"` или `{"dimension": true}` | `true` | | `@account` | `"role": "account"` или `{"account": true}` | `true` | | `@balance` | `"role": "balance"` или `{"balance": true}` | `true` | -| `@period` | `"role": "period"` или `{"period": true}` | `true` | +| `@period` | `"role": "period"` или `{"period": true}` | `1` + `Main` | Объектная форма с доп. полями: ```json