diff --git a/.claude/skills/form-compile/scripts/form-compile.ps1 b/.claude/skills/form-compile/scripts/form-compile.ps1
index c2b5263b..5c1830aa 100644
--- a/.claude/skills/form-compile/scripts/form-compile.ps1
+++ b/.claude/skills/form-compile/scripts/form-compile.ps1
@@ -1,4 +1,4 @@
-# form-compile v1.128 — Compile 1C managed form from JSON or object metadata
+# form-compile v1.129 — Compile 1C managed form from JSON or object metadata
# Source: https://github.com/Nikolay-Shirokov/cc-1c-skills
param(
[string]$JsonPath,
@@ -2176,9 +2176,11 @@ function Emit-SingleType {
}
}
- # DynamicList
- if ($typeStr -eq "DynamicList") {
- X "$indentcfg:DynamicList"
+ # Голые конфигурационные типы (cfg: без .Имя): дин-список, набор констант, общий объект отчёта.
+ # Корпус (acc+erp 8.3.24): DynamicList 5205, ConstantsSet 103, ReportObject 10. (Дотированные формы
+ # ConstantsSet.X / ReportObject.X ловит общий cfg:-regex ниже.)
+ if ($typeStr -in @("DynamicList","ConstantsSet","ReportObject")) {
+ X "$indentcfg:$typeStr"
return
}
diff --git a/.claude/skills/form-compile/scripts/form-compile.py b/.claude/skills/form-compile/scripts/form-compile.py
index 690edb91..1ae2c398 100644
--- a/.claude/skills/form-compile/scripts/form-compile.py
+++ b/.claude/skills/form-compile/scripts/form-compile.py
@@ -1,5 +1,5 @@
#!/usr/bin/env python3
-# form-compile v1.128 — Compile 1C managed form from JSON or object metadata
+# form-compile v1.129 — Compile 1C managed form from JSON or object metadata
# Source: https://github.com/Nikolay-Shirokov/cc-1c-skills
import argparse
import copy
@@ -3412,9 +3412,10 @@ def emit_single_type(lines, type_str, indent):
lines.append(f'{indent}{DCS_MAP[type_str]}')
return
- # DynamicList
- if type_str == 'DynamicList':
- lines.append(f'{indent}cfg:DynamicList')
+ # Голые конфигурационные типы (cfg: без .Имя): дин-список, набор констант, общий объект отчёта.
+ # Корпус (acc+erp 8.3.24): DynamicList 5205, ConstantsSet 103, ReportObject 10.
+ if type_str in ('DynamicList', 'ConstantsSet', 'ReportObject'):
+ lines.append(f'{indent}cfg:{type_str}')
return
# TypeSet (набор типов) → : определяемый тип / характеристика (именованные)
diff --git a/docs/form-dsl-spec.md b/docs/form-dsl-spec.md
index a7e039ad..39bf0899 100644
--- a/docs/form-dsl-spec.md
+++ b/docs/form-dsl-spec.md
@@ -1142,6 +1142,8 @@ Forgiving-синонимы типа: XML-имя (`SpreadSheetDocumentField`) и
| `"FormattedString"` | `v8ui:FormattedString` |
| `"Picture"` | `v8ui:Picture` |
| `"DynamicList"` | `cfg:DynamicList` |
+| `"ConstantsSet"` | `cfg:ConstantsSet` (набор констант; голый конфигурационный тип без `.Имя`) |
+| `"ReportObject"` | `cfg:ReportObject` (общий объект отчёта без `.Имя`; дотированная форма `ReportObject.Имя` — отдельный отчёт) |
| `"StandardPeriod"` | `v8:StandardPeriod` (forgiving: `СтандартныйПериод`, `v8:StandardPeriod`) |
| `"StandardBeginningDate"` | `v8:StandardBeginningDate` (синоним `СтандартнаяДатаНачала`) |
| `"UUID"` | `v8:UUID` (синоним `УникальныйИдентификатор`) |
diff --git a/tests/skills/cases/form-compile/attributes-types.json b/tests/skills/cases/form-compile/attributes-types.json
index 80680c8b..ac0b7b44 100644
--- a/tests/skills/cases/form-compile/attributes-types.json
+++ b/tests/skills/cases/form-compile/attributes-types.json
@@ -31,6 +31,8 @@
{ "name": "СписокЗначений", "type": "ValueList", "valueType": "string(50) | decimal(10,2)" },
{ "name": "СписокЛюбой", "type": "ValueList", "valueType": "" },
{ "name": "Идентификатор", "type": "v8:UUID" },
+ { "name": "НаборКонстант", "type": "ConstantsSet" },
+ { "name": "ОбъектОтчета", "type": "ReportObject" },
{ "name": "Таблица", "type": "ValueTable", "title": "Таблица", "columns": [
{ "name": "ИНН", "type": "string(12,fixed)" },
{ "name": "Код", "type": "string(9,fixed)" },
diff --git a/tests/skills/cases/form-compile/snapshots/attributes-types/DataProcessors/Типы/Forms/Форма/Ext/Form.xml b/tests/skills/cases/form-compile/snapshots/attributes-types/DataProcessors/Типы/Forms/Форма/Ext/Form.xml
index a2a374ae..de800de4 100644
--- a/tests/skills/cases/form-compile/snapshots/attributes-types/DataProcessors/Типы/Forms/Форма/Ext/Form.xml
+++ b/tests/skills/cases/form-compile/snapshots/attributes-types/DataProcessors/Типы/Forms/Форма/Ext/Form.xml
@@ -165,7 +165,29 @@
v8:UUID
-
+
+
+
+ ru
+ Набор констант
+
+
+
+ cfg:ConstantsSet
+
+
+
+
+
+ ru
+ Объект отчета
+
+
+
+ cfg:ReportObject
+
+
+
ru
@@ -176,7 +198,7 @@
v8:ValueTable
-
+
xs:string
@@ -185,7 +207,7 @@
-
+
xs:string
@@ -194,7 +216,7 @@
-
+
xs:string