mirror of
https://github.com/Nikolay-Shirokov/cc-1c-skills.git
synced 2026-09-07 18:50:53 +03:00
Мелкие находки ревью, по одному кейсу на каждую: - meta-compile: BinaryData(N[,fixed|variable]) — фиксированная длина больше не теряется; голая форма по-прежнему 4294967292/Fixed, как её пишет платформа при импорте из СУБД. Посторонний текст в скобках (BinaryData(abc)) отвергается, а не даёт тихий безлимит — PS принимал его и молча подставлял дефолт, py такой тип не понимал вовсе. - meta-decompile: сворачивает в голый BinaryData только точное совпадение с этим дефолтом. - meta-info: xs:base64Binary без квалификаторов — вторая форма ХранилищаЗначения, а не двоичные данные; раньше два навыка читали один и тот же узел по-разному. - meta-remove (py): в ветке «файлов нет» корень реестра был жёстко Configuration, поэтому осиротевшая таблица внешнего источника не находилась и навык падал, тогда как PS её разрегистрировал. Сообщение в обоих портах теперь называет реальный реестр. Проверено: наборы meta-compile/decompile/info/remove/edit/validate зелёные в обоих рантаймах, гарды прошли, снэпшот eds-binary-data принят платформой 8.3.24.1691. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01NBsZA5cr2WFThtgp7i5WVi
82 lines
2.3 KiB
JSON
82 lines
2.3 KiB
JSON
{
|
|
"name": "Декомпиляция внешнего источника: таблицы из отдельных файлов, функции, поля",
|
|
"preRun": [
|
|
{
|
|
"script": "meta-compile/scripts/meta-compile",
|
|
"input": {
|
|
"type": "ExternalDataSource",
|
|
"name": "PG",
|
|
"dataLockControlMode": "AutomaticAndManaged",
|
|
"tables": {
|
|
"prices": [
|
|
"product_id: Number(10,0)",
|
|
"price: Number(15,2)"
|
|
],
|
|
"products": {
|
|
"nameInDataSource": "eds.public.products",
|
|
"tableDataType": "ObjectData",
|
|
"keyFields": [
|
|
"id"
|
|
],
|
|
"presentationField": "name",
|
|
"transactionsIsolationLevel": "ReadUncommitted",
|
|
"fields": [
|
|
"id: Number(10,0)",
|
|
"name: String(150)",
|
|
"photo: BinaryData | nullable",
|
|
"sig: BinaryData(256,fixed) | nullable",
|
|
{
|
|
"name": "cost",
|
|
"type": "Number(15,2)",
|
|
"nameInDataSource": "cost_net",
|
|
"readOnly": true
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"functions": {
|
|
"total": {
|
|
"expression": "public.f_total(&1, &2)",
|
|
"returns": "Number(15,2)"
|
|
},
|
|
"nextKey": "NEXT VALUE FOR public.seq_key"
|
|
}
|
|
},
|
|
"args": {
|
|
"-JsonPath": "{inputFile}",
|
|
"-OutputDir": "{workDir}"
|
|
}
|
|
}
|
|
],
|
|
"params": {
|
|
"objectPath": "ExternalDataSources/PG.xml",
|
|
"outputPath": "draft.json"
|
|
},
|
|
"expect": {
|
|
"files": [
|
|
"draft.json"
|
|
],
|
|
"fileContains": [
|
|
{
|
|
"file": "draft.json",
|
|
"text": [
|
|
"\"dataLockControlMode\": \"AutomaticAndManaged\"",
|
|
"\"keyFields\": [\"id\"]",
|
|
"\"nameInDataSource\": \"eds.public.products\"",
|
|
"\"transactionsIsolationLevel\": \"ReadUncommitted\"",
|
|
"photo: BinaryData | nullable",
|
|
"\"nameInDataSource\": \"cost_net\"",
|
|
"\"nextKey\": \"NEXT VALUE FOR public.seq_key\"",
|
|
"sig: BinaryData(256,fixed) | nullable"
|
|
]
|
|
}
|
|
],
|
|
"fileNotContains": [
|
|
{
|
|
"file": "draft.json",
|
|
"text": "ValueStorage"
|
|
}
|
|
]
|
|
}
|
|
}
|