mirror of
https://github.com/Nikolay-Shirokov/cc-1c-skills.git
synced 2026-06-15 02:14:57 +03:00
7905615091
Кластер ring-3: 6 листовых полей-«документ/датчик» больше не валят декомпилятор в fast-fail. По корпусу SpreadSheetDocumentField — 21% форм (самый массовый триггер ring-3), обгоняет CommandInterface. Декомпилятор: +ELEMENT_KEY, общий Decompile-SimpleField (скелет поля) + Add-GaugeScalars (числовые min/max/шаги без xsi:type — ≠ типизированных input). Типоспец. enum/bool скаляры — через GENERIC_SCALARS. enableDrag/enableStartDrag — фактическое значение (платформа эмитит явный false на SS; заодно покрыло не-дин-список таблицы). Форменные ScalingMode/ VerticalSpacing → KNOWN_FORM_PROPS. Компилятор(+py байт-в-байт): тип-ключи spreadsheet/html/textDoc/formattedDoc/ progressBar/trackBar + синонимы (XML-имя/рус), общий Emit-SimpleField, GENERIC_SCALARS (output/protection/scrollbars/viewScalingMode/show*/…). Спец-типы реквизитов с локальным xmlns на <v8:Type> (mxl:SpreadsheetDocument 7387, fd:FormattedDocument, d5p1:TextDocument/Chart/GanttChart/Flowchart/Geo/ DataAnalysis, pdfdoc:PDFDocument, pl:Planner) — резолв по полному значению типа (префикс d5p1 неоднозначен). Выборка 2.17: ring3 61→37 (−24 формы), match 156→166, 0 dec/compile-fail. Кейс special-fields (все 6 типов + спец-типы) сертифицирован загрузкой в 1С. Регресс 40/40 (ps1+py). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
37 lines
2.4 KiB
JSON
37 lines
2.4 KiB
JSON
{
|
|
"name": "Форма со спец-полями (документ/датчик)",
|
|
"preRun": [
|
|
{
|
|
"script": "meta-compile/scripts/meta-compile",
|
|
"input": { "type": "DataProcessor", "name": "СпецПоля" },
|
|
"args": { "-JsonPath": "{inputFile}", "-OutputDir": "{workDir}" }
|
|
},
|
|
{
|
|
"script": "form-add/scripts/form-add",
|
|
"args": { "-ObjectPath": "{workDir}/DataProcessors/СпецПоля.xml", "-FormName": "Форма" }
|
|
}
|
|
],
|
|
"params": { "outputPath": "DataProcessors/СпецПоля/Forms/Форма/Ext/Form.xml" },
|
|
"validatePath": "DataProcessors/СпецПоля/Forms/Форма/Ext/Form.xml",
|
|
"input": {
|
|
"title": "Спец-поля",
|
|
"elements": [
|
|
{ "spreadsheet": "ТаблицаОтчета", "path": "ТаблицаОтчета", "titleLocation": "none", "readOnly": true, "verticalScrollBar": "true", "horizontalScrollBar": "true", "viewScalingMode": "Normal", "output": "Disable", "protection": true, "showGrid": false, "showHeaders": false, "enableDrag": false, "enableStartDrag": false },
|
|
{ "formattedDoc": "Описание", "path": "Описание", "titleLocation": "none", "readOnly": true, "editMode": "EnterOnInput" },
|
|
{ "html": "Содержимое", "path": "Содержимое", "titleLocation": "none", "width": 37, "horizontalStretch": false, "output": "Enable", "warningOnEditRepresentation": "DontShow" },
|
|
{ "textDoc": "ТекстXML", "path": "ТекстXML", "titleLocation": "none", "readOnly": true, "width": 56 },
|
|
{ "progressBar": "Прогресс", "path": "ПроцентВыполнения", "titleLocation": "none", "showPercent": true, "maxValue": 10000, "width": 30 },
|
|
{ "trackBar": "Масштаб", "path": "Масштаб", "titleLocation": "none", "minValue": 20, "maxValue": 400, "largeStep": 5, "markingStep": 20, "markingAppearance": "TopLeft", "width": 50 }
|
|
],
|
|
"attributes": [
|
|
{ "name": "Объект", "type": "DataProcessorObject.СпецПоля", "main": true },
|
|
{ "name": "ТаблицаОтчета", "type": "mxl:SpreadsheetDocument" },
|
|
{ "name": "Описание", "type": "fd:FormattedDocument" },
|
|
{ "name": "Содержимое", "type": "string" },
|
|
{ "name": "ТекстXML", "type": "d5p1:TextDocument" },
|
|
{ "name": "ПроцентВыполнения", "type": "decimal(5,2,nonneg)" },
|
|
{ "name": "Масштаб", "type": "decimal(10,0)" }
|
|
]
|
|
}
|
|
}
|