feat(spec): измерена позиция внешнего источника данных в порядке ChildObjects

В корпусе выгрузок внешних источников нет ни одного, поэтому позиция вида в порядке
ChildObjects была неизвестна, а check-type-maps держал ExternalDataSource исключением
с причиной «позиция в порядке не измерена».

Измерено на платформе 8.3.24.1691: в конфигурацию с объектами-маркерами семи видов
(CommonModule … Task) и настоящим сервисом интеграции загружен внешний источник,
выгрузка показала порядок Task → ExternalDataSource → IntegrationService. Независимо
подтверждено рабочей конфигурацией с внешними источниками.

Спека: ExternalDataSource = 46, IntegrationService сдвинут на 47; добавлены наборы
GeneratedType источника (3 категории) и его таблицы (8 категорий, имя элемента
трёхчастное: префикс.Источник.Таблица).

Вид внесён в 52 карты одиннадцати навыков — без этого cf-validate считал бы каталог
ExternalDataSources/ неизвестным, а порядок в ChildObjects навыки-создатели ставили бы
в конец блока, откуда платформа переставила бы группу при первой же выгрузке.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01NBsZA5cr2WFThtgp7i5WVi
This commit is contained in:
Nick Shirokov
2026-09-05 20:21:47 +03:00
co-authored by Claude Opus 5
parent 5592590a0e
commit c1f07f96ad
24 changed files with 87 additions and 53 deletions
+10 -1
View File
@@ -227,6 +227,7 @@ ClassId — фиксированные идентификаторы классо
<!-- CalculationRegister (только ERP и аналогичные) -->
<BusinessProcess>Задание</BusinessProcess>
<Task>ЗадачаИсполнителя</Task>
<ExternalDataSource>ВнешниеДанные</ExternalDataSource>
<IntegrationService>ОбменСообщениями</IntegrationService>
</ChildObjects>
```
@@ -280,7 +281,8 @@ ClassId — фиксированные идентификаторы классо
| 43 | `CalculationRegister` | `CalculationRegisters/` | Регистры расчёта |
| 44 | `BusinessProcess` | `BusinessProcesses/` | Бизнес-процессы |
| 45 | `Task` | `Tasks/` | Задачи |
| 46 | `IntegrationService` | `IntegrationServices/` | Сервисы интеграции |
| 46 | `ExternalDataSource` | `ExternalDataSources/` | Внешние источники данных |
| 47 | `IntegrationService` | `IntegrationServices/` | Сервисы интеграции |
Внутри одного типа объекты отсортированы по имени (алфавитный порядок). Типы, для которых нет объектов, в ChildObjects не записываются.
@@ -315,6 +317,13 @@ ClassId — фиксированные идентификаторы классо
| `IntegrationService` | `IntegrationServiceManager`/Manager |
| `WSReference` | `WSReferenceManager`/Manager |
| `DefinedType` | `DefinedType`/DefinedType |
| `ExternalDataSource` | `ExternalDataSourceManager`/Manager, `ExternalDataSourceTablesManager`/TablesManager, `ExternalDataSourceCubesManager`/CubesManager |
| `ExternalDataSource``Table` | `ExternalDataSourceTableManager`/Manager, `ExternalDataSourceTableObject`/Object, `ExternalDataSourceTableRef`/Ref, `ExternalDataSourceTableList`/List, `ExternalDataSourceTableRecord`/Record, `ExternalDataSourceTableRecordSet`/RecordSet, `ExternalDataSourceTableRecordKey`/RecordKey, `ExternalDataSourceTableRecordManager`/RecordManager |
Таблица внешнего источника — единственный подчинённый объект со своим `<InternalInfo>` в отдельном файле;
имя элемента у неё **трёхчастное**: `<префикс>.<ИмяИсточника>.<ИмяТаблицы>` (например
`ExternalDataSourceTableRef.PG.eds_public_products`). У `<Field>` и `<Function>` блока `InternalInfo` нет —
только атрибут `uuid`.
Табличные части объектов несут собственную пару в своём `<InternalInfo>`: `<Тип>TabularSection.<Объект>.<ТЧ>`/TabularSection и `<Тип>TabularSectionRow.<Объект>.<ТЧ>`/TabularSectionRow.