fix(meta-compile,stub-db-create): add missing GeneratedType categories

Add 6 missing categories to meta-compile (ps1+py):
- AccountingRegister: ExtDimensions
- ChartOfCharacteristicTypes: Characteristic
- ChartOfCalculationTypes: DisplacingCalculationTypesRow, BaseCalculationTypesRow, LeadingCalculationTypesRow
- BusinessProcess: RoutePointRef

Fix incorrect category name in stub-db-create (ps1+py):
- AccountingRegisterExtDimensionTypes/ExtDimensionTypes → AccountingRegisterExtDimensions/ExtDimensions

Add GeneratedType reference table to 1c-config-objects-spec.md (section 29).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Nick Shirokov
2026-03-07 20:24:31 +03:00
parent dee85e19d5
commit 69c89d3d70
5 changed files with 65 additions and 22 deletions
@@ -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"}
)
@@ -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')],
}
@@ -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" }
@@ -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'},
+32 -1
View File
@@ -1792,7 +1792,38 @@ XML-элемент: `<WebService>`. Трёхуровневая вложенно
---
## 29. Кодировка
## 29. GeneratedType категории
Каждый объект метаданных содержит блок `<InternalInfo>` с элементами `<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`):