mirror of
https://github.com/Nikolay-Shirokov/cc-1c-skills.git
synced 2026-08-13 15:03:20 +03:00
Три вещи, на которых платформа отвергала расширение, а валидатор молчал. Check 9 — полнота набора GeneratedType у заимствованной оболочки: неполный набор платформа не читает («отсутствует один или более типов объекта»). Карта категорий взята из той же таблицы спецификации (§2.5) и заведена в реестр check-type-maps.mjs, чтобы копия не разошлась с остальными. Check 12 — <AdditionalColumns table="Объект.X"> при незаимствованной табличной части. В отличие от соседних проверок блока, здесь сигнал точный (имя из атрибута), а последствие жёсткое, поэтому ошибка, а не warning. Check 14 — пути Объект.* заимствованных форм против конфигурации-источника, по новому опциональному -ConfigPath. Без него проверка пропускается с явной строкой в отчёте. Отличить живой путь от висячего иначе нельзя: Объект.Партнер валиден и без заимствования (наследуется от базы), а Объект.Товары.Артикул не разрешится нигде. Итоги колонок (Total<Колонка>) и стандартные реквизиты пропускаются — иначе ложные срабатывания на типовых формах. Проверено на пяти расширениях: наши (оба режима) и оба эталона Конфигуратора проходят чисто, расширение с дефектом ловится. Регресс cfe-* 51/51 на обоих рантаймах, гарды дрейфа зелёные.
44 lines
2.0 KiB
JSON
44 lines
2.0 KiB
JSON
{
|
||
"name": "С -ConfigPath ловится путь на несуществующую колонку ТЧ (Объект.Товары.Артикул)",
|
||
"preRun": [
|
||
{
|
||
"script": "meta-compile/scripts/meta-compile",
|
||
"input": {
|
||
"type": "Document", "name": "ЗаказКлиента",
|
||
"tabularSections": { "Товары": [ { "name": "Количество", "type": "Number(10,3)" } ] }
|
||
},
|
||
"args": { "-JsonPath": "{inputFile}", "-OutputDir": "{workDir}" }
|
||
},
|
||
{
|
||
"script": "form-add/scripts/form-add",
|
||
"args": { "-ObjectPath": "{workDir}/Documents/ЗаказКлиента.xml", "-FormName": "ФормаДокумента" }
|
||
},
|
||
{
|
||
"script": "form-compile/scripts/form-compile",
|
||
"input": {
|
||
"title": "Заказ клиента",
|
||
"elements": [
|
||
{ "table": "Товары", "path": "Объект.Товары", "columns": [
|
||
{ "input": "Количество", "path": "Объект.Товары.Количество" },
|
||
{ "input": "Артикул", "path": "Объект.Товары.Артикул" }
|
||
] }
|
||
],
|
||
"attributes": [ { "name": "Объект", "type": "DocumentObject.ЗаказКлиента", "main": true } ]
|
||
},
|
||
"args": { "-JsonPath": "{inputFile}", "-OutputPath": "{workDir}/Documents/ЗаказКлиента/Forms/ФормаДокумента/Ext/Form.xml" }
|
||
},
|
||
{
|
||
"script": "cfe-init/scripts/cfe-init",
|
||
"args": { "-Name": "Тест", "-OutputDir": "{workDir}/ext", "-ConfigPath": "{workDir}" }
|
||
},
|
||
{
|
||
"script": "cfe-borrow/scripts/cfe-borrow",
|
||
"args": { "-ExtensionPath": "{workDir}/ext", "-ConfigPath": "{workDir}", "-Object": "Document.ЗаказКлиента.Form.ФормаДокумента", "-BorrowMainAttribute": "Form" }
|
||
}
|
||
],
|
||
"params": { "extensionPath": "ext" },
|
||
"args_extra": ["-ConfigPath", "{workDir}"],
|
||
"expectError": true,
|
||
"expect": { "stdoutContains": "Объект.Товары.Артикул" }
|
||
}
|