mirror of
https://github.com/Nikolay-Shirokov/cc-1c-skills.git
synced 2026-07-19 09:09:41 +03:00
feat(meta-compile,meta-decompile): Command>Picture — структурный блок (v1.29/v0.20)
Ключ `picture` команды компилятор писал плоской строкой, склеивая содержимое
структурного блока: <Picture><xr:Ref>CommonPicture.X</xr:Ref>
<xr:LoadTransparent>false</xr:LoadTransparent></Picture> → «CommonPicture.Xfalse»
(декомпилятор брал .InnerText всего блока). Багофикс формы значения.
Зеркало form-compile/form-decompile:
• picture — строка-ref (StdPicture.X / CommonPicture.X; встроенная abs: → <xr:Abs>)
+ sibling `loadTransparent` (дефолт true, конвенция кнопки/команды — фиксируем
только false) ЛИБО объект {src, loadTransparent?, transparentPixel?}.
• Emit-CommandPicture (компилятор) + структурный захват в декомпиляторе.
Структура {Ref, LoadTransparent} стабильна на корпусе (40/40, Std/CommonPicture).
Попутно (вскрыто roundtrip-сверкой ps1↔py): в py object-form реквизита список
flags не лоуэркейзился (в отличие от строкового пути), из-за чего декомпиляторный
`indexAdditional` не матчил `indexadditional` — PS -contains регистронезависим, а
py `in` нет → py писал DontIndex вместо IndexWithAdditionalOrder. Фикс зеркалит
строковый путь.
Роундтрип 120 объектов: match 94→95, TOTAL 183→158 (−25), Command>Picture=0,
новых diff нет. Регресс 46/46 ps1+py, ps1↔py identical. spec §7.1.3, кейс
catalog-command (3 формы picture: строка/loadTransparent:false/объект+transparentPixel).
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -9,7 +9,16 @@
|
||||
"commandParameterType": "CatalogRef.Номенклатура",
|
||||
"parameterUseMode": "Multiple",
|
||||
"modifiesData": true,
|
||||
"tooltip": "Печать этикеток для выбранных товаров"
|
||||
"tooltip": "Печать этикеток для выбранных товаров",
|
||||
"picture": "StdPicture.Print"
|
||||
},
|
||||
"ЗагрузитьИзФайла": {
|
||||
"synonym": "Загрузить из файла",
|
||||
"picture": "CommonPicture.Загрузка",
|
||||
"loadTransparent": false
|
||||
},
|
||||
"ОбновитьСписок": {
|
||||
"picture": { "src": "StdPicture.Refresh", "transparentPixel": { "x": 0, "y": 0 } }
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
+53
-1
@@ -114,7 +114,59 @@
|
||||
<v8:content>Печать этикеток для выбранных товаров</v8:content>
|
||||
</v8:item>
|
||||
</ToolTip>
|
||||
<Picture/>
|
||||
<Picture>
|
||||
<xr:Ref>StdPicture.Print</xr:Ref>
|
||||
<xr:LoadTransparent>true</xr:LoadTransparent>
|
||||
</Picture>
|
||||
<Shortcut/>
|
||||
<OnMainServerUnavalableBehavior>Auto</OnMainServerUnavalableBehavior>
|
||||
</Properties>
|
||||
</Command>
|
||||
<Command uuid="UUID-013">
|
||||
<Properties>
|
||||
<Name>ЗагрузитьИзФайла</Name>
|
||||
<Synonym>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Загрузить из файла</v8:content>
|
||||
</v8:item>
|
||||
</Synonym>
|
||||
<Comment/>
|
||||
<Group></Group>
|
||||
<CommandParameterType/>
|
||||
<ParameterUseMode>Single</ParameterUseMode>
|
||||
<ModifiesData>false</ModifiesData>
|
||||
<Representation>Auto</Representation>
|
||||
<ToolTip/>
|
||||
<Picture>
|
||||
<xr:Ref>CommonPicture.Загрузка</xr:Ref>
|
||||
<xr:LoadTransparent>false</xr:LoadTransparent>
|
||||
</Picture>
|
||||
<Shortcut/>
|
||||
<OnMainServerUnavalableBehavior>Auto</OnMainServerUnavalableBehavior>
|
||||
</Properties>
|
||||
</Command>
|
||||
<Command uuid="UUID-014">
|
||||
<Properties>
|
||||
<Name>ОбновитьСписок</Name>
|
||||
<Synonym>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Обновить список</v8:content>
|
||||
</v8:item>
|
||||
</Synonym>
|
||||
<Comment/>
|
||||
<Group></Group>
|
||||
<CommandParameterType/>
|
||||
<ParameterUseMode>Single</ParameterUseMode>
|
||||
<ModifiesData>false</ModifiesData>
|
||||
<Representation>Auto</Representation>
|
||||
<ToolTip/>
|
||||
<Picture>
|
||||
<xr:Ref>StdPicture.Refresh</xr:Ref>
|
||||
<xr:LoadTransparent>true</xr:LoadTransparent>
|
||||
<xr:TransparentPixel x="0" y="0"/>
|
||||
</Picture>
|
||||
<Shortcut/>
|
||||
<OnMainServerUnavalableBehavior>Auto</OnMainServerUnavalableBehavior>
|
||||
</Properties>
|
||||
|
||||
+6
@@ -0,0 +1,6 @@
|
||||
&НаКлиенте
|
||||
Процедура ОбработкаКоманды(ПараметрКоманды, ПараметрыВыполненияКоманды)
|
||||
|
||||
// Вставьте обработчик команды.
|
||||
|
||||
КонецПроцедуры
|
||||
+6
@@ -0,0 +1,6 @@
|
||||
&НаКлиенте
|
||||
Процедура ОбработкаКоманды(ПараметрКоманды, ПараметрыВыполненияКоманды)
|
||||
|
||||
// Вставьте обработчик команды.
|
||||
|
||||
КонецПроцедуры
|
||||
Reference in New Issue
Block a user