mirror of
https://github.com/Nikolay-Shirokov/cc-1c-skills.git
synced 2026-09-07 18:50:53 +03:00
Раундтрип B на стенде вскрыл пробел: у таблицы внешнего источника декомпилятор не снимал DefaultObjectForm/DefaultRecordForm/DefaultListForm/DefaultChoiceForm, хотя DSL их поддерживает, компилятор эмитит, а у прочих объектов они снимаются. Пересборка стенда молча теряла назначенную форму списка. Сами формы вне скоупа раундтрипа (это отдельные файлы, их делает навык form-add), поэтому собранная из такого DSL конфигурация не загрузится — ровно как и у справочника с формой. Договорённость одна и та же, записана в docs/meta-dsl-spec.md. Раундтрип B после правки: из выгрузки стенда → DSL → meta-compile → загрузка в базу → выгрузка платформой = побайтово то же, что собрал компилятор. Против исходной выгрузки стенда остаются два известных расхождения: UnfilledParentValue (загрузкой XML не задаётся, замерено тремя опытами) и регистрация <Form> (вне скоупа). Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01NBsZA5cr2WFThtgp7i5WVi
35 lines
999 B
JSON
35 lines
999 B
JSON
{
|
|
"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",
|
|
"defaultListForm": "ExternalDataSource.PG.Table.products.Form.ФормаСписка",
|
|
"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",
|
|
"flags": ["readonly"]
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"functions": {
|
|
"total": {
|
|
"expression": "public.f_total(&1, &2)",
|
|
"returns": "Number(15,2)"
|
|
},
|
|
"nextKey": "NEXT VALUE FOR public.seq_key"
|
|
}
|
|
} |