Files
cc-1c-skills/tests/skills/cases/meta-validate/eds-table-refs.json
T
Nick ShirokovandClaude Opus 5 89ce1af9fa feat(meta-validate): проверка ссылок на поля таблицы внешнего источника
Свойства таблицы ссылаются на её же поля шестичастным путём
(ExternalDataSource.И.Table.Т.Field.П). Опечатка в имени поля даёт «Неизвестный объект
метаданных» при загрузке, а глазами в таком пути её не видно. Проверка 21 разбирает форму
пути, требует, чтобы таблица в ссылке была той же самой, и чтобы поле существовало —
в сообщении перечисляются имеющиеся поля.

Отдельно: таблица без ключевых полей даёт предупреждение, а не ошибку. Загрузку XML такой
таблицы платформа принимает молча (измерено на 8.3.24.1691), Конфигуратор интерактивно
требует ключ, а рабочие конфигурации без ключей существуют — значит это повод предупредить,
а не отвергнуть.

Закрыты последние пункты плана: раздел про внешние источники в docs/meta-dsl-spec.md
(формой и связями с общими конвенциями, без дублирования таблицы свойств — она живёт
в reference навыка) и кейсы meta-validate, включая негативный.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01NBsZA5cr2WFThtgp7i5WVi
2026-09-06 15:35:56 +03:00

46 lines
1.1 KiB
JSON

{
"name": "Таблица внешнего источника: ссылки на поля разрешаются, пустой ключ — предупреждение",
"setup": "empty-config",
"preRun": [
{
"script": "meta-compile/scripts/meta-compile",
"input": {
"type": "ExternalDataSource",
"name": "PG",
"tables": {
"products": {
"tableDataType": "ObjectData",
"keyFields": [
"id"
],
"presentationField": "name",
"dataLockFields": [
"id"
],
"fields": [
"id: Number(10,0)",
"name: String(150)"
]
},
"prices": [
"product_id: Number(10,0)",
"price: Number(15,2)"
]
}
},
"args": {
"-JsonPath": "{inputFile}",
"-OutputDir": "{workDir}"
}
}
],
"params": {
"objectPath": "ExternalDataSources/PG/Tables/products.xml"
},
"expect": {
"stdoutContains": [
"Validation OK: Table.products"
]
}
}