mirror of
https://github.com/Nikolay-Shirokov/cc-1c-skills.git
synced 2026-09-07 18:50:53 +03:00
Свойства таблицы ссылаются на её же поля шестичастным путём (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
47 lines
1.1 KiB
JSON
47 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/prices.xml"
|
|
},
|
|
"expect": {
|
|
"stdoutContains": [
|
|
"KeyFields пуст",
|
|
"0 errors, 1 warnings"
|
|
]
|
|
}
|
|
}
|