mirror of
https://github.com/Nikolay-Shirokov/cc-1c-skills.git
synced 2026-09-07 18:50:53 +03:00
form-add отказывал видом объекта 'Table', хотя платформа такие формы делает, а в DSL таблицы есть слоты defaultObjectForm/defaultRecordForm/defaultListForm/defaultChoiceForm. Инструкция при этом обещала обратное — строка исправлена. Таблица — единственный вид, чьи ссылки трёхчастные: слот ExternalDataSource.<И>.Table.<Т>.Form.<Ф>, главный реквизит ExternalDataSourceTableObject.<И>.<Т>, MainTable динамического списка ExternalDataSource.<И>.Table.<Т>. Имя источника в файле таблицы не хранится — берётся из пути ExternalDataSources/<И>/Tables/<Т>.xml, единственное место, где навык смотрит на путь. Набор назначений зависит от вида данных таблицы — замерено загрузками на 8.3.24.1691: ObjectData даёт Object/List/Choice, NonobjectData — Record/List/Choice. Неверная пара схемой формы не отвергается: она валит загрузку ВСЕЙ конфигурации «Исключением XDTO при чтении файла» без указания причины, поэтому form-add проверяет её сам и объясняет, а без -Purpose у таблицы с составным ключом основной становится форма записи. form-validate: типы ExternalDataSourceTable* добавлены в список известных cfg-префиксов — иначе корректная форма получала предупреждение «unrecognized cfg prefix». Проверено: form-add и form-validate зелёные в обоих рантаймах, гарды прошли (в том числе check-form-purposes: спека и оба порта сходятся), снэпшот eds-table-forms принят платформой, формы всех четырёх назначений загружены в базу и выгружены обратно со ссылками без потерь. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01NBsZA5cr2WFThtgp7i5WVi
52 lines
1.8 KiB
JSON
52 lines
1.8 KiB
JSON
{
|
|
"name": "Таблица внешнего источника: формы списка и объекта с трёхчастными ссылками",
|
|
"preRun": [
|
|
{
|
|
"script": "meta-compile/scripts/meta-compile",
|
|
"input": {
|
|
"type": "ExternalDataSource",
|
|
"name": "PG",
|
|
"tables": {
|
|
"products": {
|
|
"keyFields": ["id"],
|
|
"tableDataType": "ObjectData",
|
|
"fields": ["id: Number(10,0)", "name: String(150)"]
|
|
}
|
|
}
|
|
},
|
|
"args": { "-JsonPath": "{inputFile}", "-OutputDir": "{workDir}" }
|
|
},
|
|
{
|
|
"script": "form-add/scripts/form-add",
|
|
"args": {
|
|
"-ObjectPath": "{workDir}/ExternalDataSources/PG/Tables/products.xml",
|
|
"-FormName": "ФормаСписка",
|
|
"-Purpose": "List"
|
|
}
|
|
}
|
|
],
|
|
"params": {
|
|
"objectPath": "ExternalDataSources/PG/Tables/products.xml",
|
|
"formName": "ФормаОбъекта"
|
|
},
|
|
"args_extra": ["-Purpose", "Object"],
|
|
"validatePath": "ExternalDataSources/PG/Tables/products/Forms/ФормаОбъекта",
|
|
"expect": {
|
|
"stdoutContains": ["DefaultObjectForm: ExternalDataSource.PG.Table.products.Form.ФормаОбъекта"],
|
|
"fileContains": [
|
|
{
|
|
"file": "ExternalDataSources/PG/Tables/products/Forms/ФормаОбъекта/Ext/Form.xml",
|
|
"text": "<v8:Type>cfg:ExternalDataSourceTableObject.PG.products</v8:Type>"
|
|
},
|
|
{
|
|
"file": "ExternalDataSources/PG/Tables/products/Forms/ФормаСписка/Ext/Form.xml",
|
|
"text": "<MainTable>ExternalDataSource.PG.Table.products</MainTable>"
|
|
},
|
|
{
|
|
"file": "ExternalDataSources/PG/Tables/products.xml",
|
|
"text": ["<Form>ФормаСписка</Form>", "<Form>ФормаОбъекта</Form>"]
|
|
}
|
|
]
|
|
}
|
|
}
|