diff --git a/.claude/skills/epf-build/scripts/stub-db-create.ps1 b/.claude/skills/epf-build/scripts/stub-db-create.ps1 index 1043f2d9..dde1a7bf 100644 --- a/.claude/skills/epf-build/scripts/stub-db-create.ps1 +++ b/.claude/skills/epf-build/scripts/stub-db-create.ps1 @@ -239,7 +239,7 @@ if ($hasRefTypes) { ) "AccountingRegister" = @( @{p="AccountingRegisterRecord";c="Record"},@{p="AccountingRegisterManager";c="Manager"}, - @{p="AccountingRegisterSelection";c="Selection"},@{p="AccountingRegisterExtDimensionTypes";c="ExtDimensionTypes"}, + @{p="AccountingRegisterSelection";c="Selection"},@{p="AccountingRegisterExtDimensions";c="ExtDimensions"}, @{p="AccountingRegisterList";c="List"},@{p="AccountingRegisterRecordSet";c="RecordSet"}, @{p="AccountingRegisterRecordKey";c="RecordKey"} ) diff --git a/.claude/skills/epf-build/scripts/stub-db-create.py b/.claude/skills/epf-build/scripts/stub-db-create.py index 87a6c2a8..2f9882e0 100644 --- a/.claude/skills/epf-build/scripts/stub-db-create.py +++ b/.claude/skills/epf-build/scripts/stub-db-create.py @@ -192,7 +192,7 @@ GT_DEFS = { 'Task': [('TaskObject','Object'),('TaskRef','Ref'),('TaskSelection','Selection'),('TaskList','List'),('TaskManager','Manager')], 'InformationRegister': [('InformationRegisterRecord','Record'),('InformationRegisterManager','Manager'),('InformationRegisterSelection','Selection'),('InformationRegisterList','List'),('InformationRegisterRecordSet','RecordSet'),('InformationRegisterRecordKey','RecordKey'),('InformationRegisterRecordManager','RecordManager')], 'AccumulationRegister': [('AccumulationRegisterRecord','Record'),('AccumulationRegisterManager','Manager'),('AccumulationRegisterSelection','Selection'),('AccumulationRegisterList','List'),('AccumulationRegisterRecordSet','RecordSet'),('AccumulationRegisterRecordKey','RecordKey')], - 'AccountingRegister': [('AccountingRegisterRecord','Record'),('AccountingRegisterManager','Manager'),('AccountingRegisterSelection','Selection'),('AccountingRegisterExtDimensionTypes','ExtDimensionTypes'),('AccountingRegisterList','List'),('AccountingRegisterRecordSet','RecordSet'),('AccountingRegisterRecordKey','RecordKey')], + 'AccountingRegister': [('AccountingRegisterRecord','Record'),('AccountingRegisterManager','Manager'),('AccountingRegisterSelection','Selection'),('AccountingRegisterExtDimensions','ExtDimensions'),('AccountingRegisterList','List'),('AccountingRegisterRecordSet','RecordSet'),('AccountingRegisterRecordKey','RecordKey')], 'CalculationRegister': [('CalculationRegisterRecord','Record'),('CalculationRegisterManager','Manager'),('CalculationRegisterSelection','Selection'),('CalculationRegisterList','List'),('CalculationRegisterRecordSet','RecordSet'),('CalculationRegisterRecordKey','RecordKey')], 'DefinedType': [('DefinedType','DefinedType')], } diff --git a/.claude/skills/meta-compile/scripts/meta-compile.ps1 b/.claude/skills/meta-compile/scripts/meta-compile.ps1 index 85dbee1d..6995acc3 100644 --- a/.claude/skills/meta-compile/scripts/meta-compile.ps1 +++ b/.claude/skills/meta-compile/scripts/meta-compile.ps1 @@ -421,12 +421,13 @@ $script:generatedTypes = @{ @{ prefix = "AccumulationRegisterRecordKey"; category = "RecordKey" } ) "AccountingRegister" = @( - @{ prefix = "AccountingRegisterRecord"; category = "Record" } - @{ prefix = "AccountingRegisterManager"; category = "Manager" } - @{ prefix = "AccountingRegisterSelection"; category = "Selection" } - @{ prefix = "AccountingRegisterList"; category = "List" } - @{ prefix = "AccountingRegisterRecordSet"; category = "RecordSet" } - @{ prefix = "AccountingRegisterRecordKey"; category = "RecordKey" } + @{ prefix = "AccountingRegisterRecord"; category = "Record" } + @{ prefix = "AccountingRegisterExtDimensions"; category = "ExtDimensions" } + @{ prefix = "AccountingRegisterRecordSet"; category = "RecordSet" } + @{ prefix = "AccountingRegisterRecordKey"; category = "RecordKey" } + @{ prefix = "AccountingRegisterSelection"; category = "Selection" } + @{ prefix = "AccountingRegisterList"; category = "List" } + @{ prefix = "AccountingRegisterManager"; category = "Manager" } ) "CalculationRegister" = @( @{ prefix = "CalculationRegisterRecord"; category = "Record" } @@ -444,11 +445,12 @@ $script:generatedTypes = @{ @{ prefix = "ChartOfAccountsManager"; category = "Manager" } ) "ChartOfCharacteristicTypes" = @( - @{ prefix = "ChartOfCharacteristicTypesObject"; category = "Object" } - @{ prefix = "ChartOfCharacteristicTypesRef"; category = "Ref" } - @{ prefix = "ChartOfCharacteristicTypesSelection"; category = "Selection" } - @{ prefix = "ChartOfCharacteristicTypesList"; category = "List" } - @{ prefix = "ChartOfCharacteristicTypesManager"; category = "Manager" } + @{ prefix = "ChartOfCharacteristicTypesObject"; category = "Object" } + @{ prefix = "ChartOfCharacteristicTypesRef"; category = "Ref" } + @{ prefix = "ChartOfCharacteristicTypesSelection"; category = "Selection" } + @{ prefix = "ChartOfCharacteristicTypesList"; category = "List" } + @{ prefix = "ChartOfCharacteristicTypesCharacteristic"; category = "Characteristic" } + @{ prefix = "ChartOfCharacteristicTypesManager"; category = "Manager" } ) "ChartOfCalculationTypes" = @( @{ prefix = "ChartOfCalculationTypesObject"; category = "Object" } @@ -457,15 +459,19 @@ $script:generatedTypes = @{ @{ prefix = "ChartOfCalculationTypesList"; category = "List" } @{ prefix = "ChartOfCalculationTypesManager"; category = "Manager" } @{ prefix = "DisplacingCalculationTypes"; category = "DisplacingCalculationTypes" } + @{ prefix = "DisplacingCalculationTypesRow"; category = "DisplacingCalculationTypesRow" } @{ prefix = "BaseCalculationTypes"; category = "BaseCalculationTypes" } + @{ prefix = "BaseCalculationTypesRow"; category = "BaseCalculationTypesRow" } @{ prefix = "LeadingCalculationTypes"; category = "LeadingCalculationTypes" } + @{ prefix = "LeadingCalculationTypesRow"; category = "LeadingCalculationTypesRow" } ) "BusinessProcess" = @( - @{ prefix = "BusinessProcessObject"; category = "Object" } - @{ prefix = "BusinessProcessRef"; category = "Ref" } - @{ prefix = "BusinessProcessSelection"; category = "Selection" } - @{ prefix = "BusinessProcessList"; category = "List" } - @{ prefix = "BusinessProcessManager"; category = "Manager" } + @{ prefix = "BusinessProcessObject"; category = "Object" } + @{ prefix = "BusinessProcessRef"; category = "Ref" } + @{ prefix = "BusinessProcessSelection"; category = "Selection" } + @{ prefix = "BusinessProcessList"; category = "List" } + @{ prefix = "BusinessProcessManager"; category = "Manager" } + @{ prefix = "BusinessProcessRoutePointRef"; category = "RoutePointRef" } ) "Task" = @( @{ prefix = "TaskObject"; category = "Object" } diff --git a/.claude/skills/meta-compile/scripts/meta-compile.py b/.claude/skills/meta-compile/scripts/meta-compile.py index b2c6e548..045b09af 100644 --- a/.claude/skills/meta-compile/scripts/meta-compile.py +++ b/.claude/skills/meta-compile/scripts/meta-compile.py @@ -392,11 +392,12 @@ generated_types = { ], 'AccountingRegister': [ {'prefix': 'AccountingRegisterRecord', 'category': 'Record'}, - {'prefix': 'AccountingRegisterManager', 'category': 'Manager'}, - {'prefix': 'AccountingRegisterSelection', 'category': 'Selection'}, - {'prefix': 'AccountingRegisterList', 'category': 'List'}, + {'prefix': 'AccountingRegisterExtDimensions', 'category': 'ExtDimensions'}, {'prefix': 'AccountingRegisterRecordSet', 'category': 'RecordSet'}, {'prefix': 'AccountingRegisterRecordKey', 'category': 'RecordKey'}, + {'prefix': 'AccountingRegisterSelection', 'category': 'Selection'}, + {'prefix': 'AccountingRegisterList', 'category': 'List'}, + {'prefix': 'AccountingRegisterManager', 'category': 'Manager'}, ], 'CalculationRegister': [ {'prefix': 'CalculationRegisterRecord', 'category': 'Record'}, @@ -418,6 +419,7 @@ generated_types = { {'prefix': 'ChartOfCharacteristicTypesRef', 'category': 'Ref'}, {'prefix': 'ChartOfCharacteristicTypesSelection', 'category': 'Selection'}, {'prefix': 'ChartOfCharacteristicTypesList', 'category': 'List'}, + {'prefix': 'ChartOfCharacteristicTypesCharacteristic', 'category': 'Characteristic'}, {'prefix': 'ChartOfCharacteristicTypesManager', 'category': 'Manager'}, ], 'ChartOfCalculationTypes': [ @@ -427,8 +429,11 @@ generated_types = { {'prefix': 'ChartOfCalculationTypesList', 'category': 'List'}, {'prefix': 'ChartOfCalculationTypesManager', 'category': 'Manager'}, {'prefix': 'DisplacingCalculationTypes', 'category': 'DisplacingCalculationTypes'}, + {'prefix': 'DisplacingCalculationTypesRow', 'category': 'DisplacingCalculationTypesRow'}, {'prefix': 'BaseCalculationTypes', 'category': 'BaseCalculationTypes'}, + {'prefix': 'BaseCalculationTypesRow', 'category': 'BaseCalculationTypesRow'}, {'prefix': 'LeadingCalculationTypes', 'category': 'LeadingCalculationTypes'}, + {'prefix': 'LeadingCalculationTypesRow', 'category': 'LeadingCalculationTypesRow'}, ], 'BusinessProcess': [ {'prefix': 'BusinessProcessObject', 'category': 'Object'}, @@ -436,6 +441,7 @@ generated_types = { {'prefix': 'BusinessProcessSelection', 'category': 'Selection'}, {'prefix': 'BusinessProcessList', 'category': 'List'}, {'prefix': 'BusinessProcessManager', 'category': 'Manager'}, + {'prefix': 'BusinessProcessRoutePointRef', 'category': 'RoutePointRef'}, ], 'Task': [ {'prefix': 'TaskObject', 'category': 'Object'}, diff --git a/docs/1c-config-objects-spec.md b/docs/1c-config-objects-spec.md index c70b4ece..70b715b3 100644 --- a/docs/1c-config-objects-spec.md +++ b/docs/1c-config-objects-spec.md @@ -1792,7 +1792,38 @@ XML-элемент: ``. Трёхуровневая вложенно --- -## 29. Кодировка +## 29. GeneratedType категории + +Каждый объект метаданных содержит блок `` с элементами ``, описывающими платформенные типы. Ниже — эталонная таблица категорий по типам объектов (источник: выгрузки ACC 8.3.24, ERP 8.3.24). + +| Тип объекта | Категории | +|---|---| +| Catalog | Object, Ref, Selection, List, Manager | +| Document | Object, Ref, Selection, List, Manager | +| Enum | Ref, Manager, List | +| Constant | Manager, ValueManager, ValueKey | +| InformationRegister | Record, Manager, Selection, List, RecordSet, RecordKey, RecordManager | +| AccumulationRegister | Record, Manager, Selection, List, RecordSet, RecordKey | +| AccountingRegister | Record, ExtDimensions, RecordSet, RecordKey, Selection, List, Manager | +| CalculationRegister | Record, Manager, Selection, List, RecordSet, RecordKey | +| ChartOfAccounts | Object, Ref, Selection, List, Manager | +| ChartOfCharacteristicTypes | Object, Ref, Selection, List, Characteristic, Manager | +| ChartOfCalculationTypes | Object, Ref, Selection, List, Manager, DisplacingCalculationTypes, DisplacingCalculationTypesRow, BaseCalculationTypes, BaseCalculationTypesRow, LeadingCalculationTypes, LeadingCalculationTypesRow | +| BusinessProcess | Object, Ref, Selection, List, Manager, RoutePointRef | +| Task | Object, Ref, Selection, List, Manager | +| ExchangePlan | Object, Ref, Selection, List, Manager (+ ThisNode как отдельный UUID-элемент) | +| DocumentJournal | Selection, List, Manager | +| Report | Object, Manager | +| DataProcessor | Object, Manager | +| DefinedType | DefinedType | + +Формат `name` в XML: `{Prefix}.{ObjectName}`, где Prefix = `{MetaType}{Category}` (например `CatalogObject.Номенклатура`, `AccountingRegisterExtDimensions.Хозрасчетный`). + +Примечание: TabularSection/TabularSectionRow генерируются динамически для каждой табличной части. ChartOfAccounts может иметь условные ExtDimensionTypes/ExtDimensionTypesRow (зависит от наличия `extDimensionTypes`). + +--- + +## 30. Кодировка Все XML-файлы используют кодировку UTF-8 с BOM (байты `EF BB BF`):