mirror of
https://github.com/Nikolay-Shirokov/cc-1c-skills.git
synced 2026-08-02 01:37:45 +03:00
feat(form-decompile,form-compile): встроенные картинки (xr:Abs) + TransparentPixel + Page Picture (категория картинок)
Закрыты картиночные потери из ROOT-секции корпуса: Page>Picture (702),
PictureField>ValuesPicture (abs), Button>Picture (abs), а также RowsPicture
и командные/popup-картинки. ColumnGroup>HeaderPicture уже ловился (Add-CommonProps),
бэклог-числа были от старого прогона v0.62.
Две системные дыры + один полный пробел (по корпусу 36707 форм):
- xr:Abs (встроенная картинка) игнорировался везде, кроме PictureDecoration:
Get-PictureRef и Button/Popup/Command picture брали только <xr:Ref>. Теперь
src с префиксом "abs:" → <xr:Abs> (как у PictureDecoration). ~358 ValuesPicture
+ ~153 Button + хвост.
- xr:TransparentPixel ловился только у PictureDecoration. Теперь — в объектной
форме картинки-ссылки {src, loadTransparent?, transparentPixel:{x,y}} у
ValuesPicture/HeaderPicture/FooterPicture/RowsPicture/Page и у командных картинок.
- Page>Picture не поддерживался ни компилятором, ни декомпилятором. Новый ключ
picture на Page (конвенция ValuesPicture: дефолт LoadTransparent=false, по корпусу
416/286). Позиция XSD: после Title/ToolTip/флагов, перед Group/ShowTitle.
Компилятор: Emit-PictureRef + Emit-CommandPicture расширены abs/transparentPixel;
Emit-Page эмитит picture; RowsPicture переведён на Emit-PictureRef (был кастомный
блок без abs/TP). Декомпилятор: Get-PictureRef ловит xr:Abs/TransparentPixel;
новый хелпер Set-CommandPicture (Button/Popup/Command — abs + TP через объектную
форму при наличии TP, иначе скаляр); Page и RowsPicture через Get-PictureRef.
Зеркало py (байт-в-байт). abs валидируется раундтрипом на корпусе (нужен встроенный
бинарь — в синтет-кейсы не кладём); transparentPixel + Page picture сертифицированы
загрузкой в 1С (кейсы picture-field/pages/commands). Регресс 43/43 (ps1+py).
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 4.8
parent
73f1e6ec26
commit
606ac10fdb
@@ -28,7 +28,7 @@
|
||||
{ "name": "Результат", "type": "string" }
|
||||
],
|
||||
"commands": [
|
||||
{ "name": "Выполнить", "action": "ВыполнитьОбработка", "shortcut": "Ctrl+Enter", "use": false, "modifiesSavedData": true }
|
||||
{ "name": "Выполнить", "action": "ВыполнитьОбработка", "shortcut": "Ctrl+Enter", "use": false, "modifiesSavedData": true, "picture": { "src": "StdPicture.ExecuteTask", "transparentPixel": { "x": 1, "y": 1 } } }
|
||||
],
|
||||
"commandInterface": {
|
||||
"commandBar": {
|
||||
|
||||
@@ -18,10 +18,10 @@
|
||||
"properties": { "autoTitle": false },
|
||||
"elements": [
|
||||
{ "pages": "СтраницыМастера", "pagesRepresentation": "None", "tooltip": "Страницы мастера настройки", "children": [
|
||||
{ "page": "Шаг1", "title": "", "showTitle": false, "children": [
|
||||
{ "page": "Шаг1", "title": "", "showTitle": false, "picture": "StdPicture.ExecuteTask", "children": [
|
||||
{ "input": "Параметр1", "path": "Параметр1" }
|
||||
]},
|
||||
{ "page": "Шаг2", "title": "Результат", "titleDataPath": "Итог", "tooltip": "Шаг \"Результат\"", "group": "horizontalIfPossible", "children": [
|
||||
{ "page": "Шаг2", "title": "Результат", "titleDataPath": "Итог", "tooltip": "Шаг \"Результат\"", "group": "horizontalIfPossible", "picture": { "src": "StdPicture.FilterCriterion", "loadTransparent": true, "transparentPixel": { "x": 2, "y": 4 } }, "children": [
|
||||
{ "input": "Итог", "path": "Итог", "readOnly": true }
|
||||
]}
|
||||
]},
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
"on": ["Selection"], "handlers": { "Selection": "ТаблицаДанныхВыбор" },
|
||||
"columns": [
|
||||
{ "input": "ТаблицаДанныхНоменклатура", "path": "ТаблицаДанных.Номенклатура" },
|
||||
{ "picField": "ТаблицаДанныхКартинка", "path": "ТаблицаДанных.Картинка", "titleLocation": "none", "editMode": "EnterOnInput", "hyperlink": true, "shortcut": "Ctrl+S", "headerPicture": "StdPicture.ExecuteTask", "valuesPicture": { "src": "StdPicture.FilterCriterion", "loadTransparent": true } },
|
||||
{ "picField": "ТаблицаДанныхКартинка", "path": "ТаблицаДанных.Картинка", "titleLocation": "none", "editMode": "EnterOnInput", "hyperlink": true, "shortcut": "Ctrl+S", "headerPicture": "StdPicture.ExecuteTask", "valuesPicture": { "src": "StdPicture.FilterCriterion", "loadTransparent": true, "transparentPixel": { "x": 7, "y": 3 } } },
|
||||
{ "check": "ТаблицаДанныхКартинкаФлаг", "path": "ТаблицаДанных.Картинка", "title": "Флаг", "headerPicture": { "src": "StdPicture.ClearFilter", "loadTransparent": true } }
|
||||
]}
|
||||
],
|
||||
|
||||
+5
@@ -88,6 +88,11 @@
|
||||
<Action>ВыполнитьОбработка</Action>
|
||||
<ModifiesSavedData>true</ModifiesSavedData>
|
||||
<Shortcut>Ctrl+Enter</Shortcut>
|
||||
<Picture>
|
||||
<xr:Ref>StdPicture.ExecuteTask</xr:Ref>
|
||||
<xr:LoadTransparent>true</xr:LoadTransparent>
|
||||
<xr:TransparentPixel x="1" y="1"/>
|
||||
</Picture>
|
||||
</Command>
|
||||
</Commands>
|
||||
<CommandInterface>
|
||||
|
||||
+9
@@ -20,6 +20,10 @@
|
||||
<ExtendedTooltip name="СтраницыМастераРасширеннаяПодсказка" id="2"/>
|
||||
<ChildItems>
|
||||
<Page name="Шаг1" id="3">
|
||||
<Picture>
|
||||
<xr:Ref>StdPicture.ExecuteTask</xr:Ref>
|
||||
<xr:LoadTransparent>false</xr:LoadTransparent>
|
||||
</Picture>
|
||||
<ShowTitle>false</ShowTitle>
|
||||
<ExtendedTooltip name="Шаг1РасширеннаяПодсказка" id="4"/>
|
||||
<ChildItems>
|
||||
@@ -43,6 +47,11 @@
|
||||
<v8:content>Шаг "Результат"</v8:content>
|
||||
</v8:item>
|
||||
</ToolTip>
|
||||
<Picture>
|
||||
<xr:Ref>StdPicture.FilterCriterion</xr:Ref>
|
||||
<xr:LoadTransparent>true</xr:LoadTransparent>
|
||||
<xr:TransparentPixel x="2" y="4"/>
|
||||
</Picture>
|
||||
<Group>HorizontalIfPossible</Group>
|
||||
<TitleDataPath>Итог</TitleDataPath>
|
||||
<ExtendedTooltip name="Шаг2РасширеннаяПодсказка" id="9"/>
|
||||
|
||||
+1
@@ -57,6 +57,7 @@
|
||||
<ValuesPicture>
|
||||
<xr:Ref>StdPicture.FilterCriterion</xr:Ref>
|
||||
<xr:LoadTransparent>true</xr:LoadTransparent>
|
||||
<xr:TransparentPixel x="7" y="3"/>
|
||||
</ValuesPicture>
|
||||
<ContextMenu name="ТаблицаДанныхКартинкаКонтекстноеМеню" id="18"/>
|
||||
<ExtendedTooltip name="ТаблицаДанныхКартинкаРасширеннаяПодсказка" id="19"/>
|
||||
|
||||
Reference in New Issue
Block a user