mirror of
https://github.com/Nikolay-Shirokov/cc-1c-skills.git
synced 2026-06-14 18:04:58 +03:00
feat(form-decompile,form-compile): суппресс авто-вывода (MainAttribute/SavedData/AutoTitle) + AutoFillAvailableFields + SaveWindowSettings
Раундтрип TOTAL 40→25, match 138→146. Три класса «компилятор додумывает на main/titled формах» (декомпилятор не давал суппресс-маркера) + два непокрытых свойства. - MainAttribute: эвристика 11b.3 (нет явного main + ровно 1 объектный реквизит → помечает main). Декомпилятор зеркалит условие → ставит main:false (компилятор уже исключает такие кандидаты). Объектные реквизиты часто НЕ main (DynamicList 1207 без, RecordSet 226 без, и т.д.). Decompiler-only. - SavedData: эвристика $mainSaved (main + Catalog/Document/ChartOf*/ExchangePlan/ BusinessProcess/Task Object + RecordManager → SavedData=true). Часто отсутствует (DocumentObject 332 без = 23%). Компилятор: явный savedData:false побеждает; декомпилятор ставит savedData:false для main-реквизита saved-типа без <SavedData>. - AutoTitle: компилятор инъектит false при наличии title (~95% форм). Редкие 5% (Title есть, AutoTitle нет) → декомпилятор ставит autoTitle:"", компилятор пропускает пустую строку в Emit-Properties (общий ""-суппресс). - AutoFillAvailableFields: свойство <Settings> дин-списка (дефолт true, эмит только отклонение false; ключ settings.autoFillAvailableFields). - SaveWindowSettings: форменный bool (KNOWN_FORM_PROPS + auto-PascalCase). Зеркало py (компилятор). Кейс dynamic-list-form +saveWindowSettings (сертифицирован). Формы ЗадачаИсполнителя/Дополнительно, БизнесСеть/*, АнализПравДоступа → чисто. Регресс 39/39 в обоих рантаймах. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -15,6 +15,7 @@
|
||||
"validatePath": "Catalogs/Товары/Forms/ФормаСписка/Ext/Form.xml",
|
||||
"input": {
|
||||
"title": "Товары",
|
||||
"properties": { "saveWindowSettings": false },
|
||||
"attributes": [
|
||||
{ "name": "Список", "type": "DynamicList", "useAlways": ["~Артикул", "Список.Code", "Description"], "settings": {
|
||||
"mainTable": "Catalog.Товары", "dynamicDataRead": true,
|
||||
|
||||
+1
@@ -7,6 +7,7 @@
|
||||
</v8:item>
|
||||
</Title>
|
||||
<AutoTitle>false</AutoTitle>
|
||||
<SaveWindowSettings>false</SaveWindowSettings>
|
||||
<AutoCommandBar name="ФормаКоманднаяПанель" id="-1"/>
|
||||
<ChildItems>
|
||||
<Table name="Список" id="1">
|
||||
|
||||
Reference in New Issue
Block a user