docs(mxl-compile): ссылка на картинку не различает источник

Одна и та же запись `ref="v8ui:Имя"` стоит и за предопределённой картинкой
платформы, и за общей картинкой конфигурации — по макету источник не
определить. Загрузку это не ломает: платформа ссылку при загрузке не
проверяет, макет со ссылкой на отсутствующую общую картинку принимается.

Заодно снят прежний вывод «tx/ty с ref не встречаются»: на стенде такая
запись есть, координаты идут перед ссылкой. Раундтрип на ней сходится.
This commit is contained in:
Nick Shirokov
2026-08-15 20:42:39 +03:00
parent 20bb45fb9e
commit daaa0aeaf8
4 changed files with 39 additions and 8 deletions
@@ -419,8 +419,9 @@
Порядок в списке `drawings` — порядок в документе; кто кого перекрывает, задаёт `zOrder`.
Запись в `pictures` — либо ссылка на библиотеку картинок платформы (`ref`), либо сами данные
в base64 (`data`). Пустая запись `{}` — картинка не задана, такое в макетах встречается.
Запись в `pictures` — либо ссылка (`ref`), либо сами данные в base64 (`data`). Ссылкой
задаются и предопределённая картинка платформы, и общая картинка конфигурации — пишутся они
одинаково, префиксом `v8ui:`. Пустая запись `{}` — картинка не задана, такое в макетах встречается.
С данными сочетаются `transparent` и `transparentPixel` — два способа записать прозрачность,
исключающие друг друга: `transparent: false` — прозрачного фона нет,
`transparentPixel: { "x": …, "y": … }` — прозрачным считается цвет пикселя с этими координатами
+12 -4
View File
@@ -744,10 +744,18 @@ AARnQUlBAACxjwv8YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAA</picture>
в корпусе встречается `tx="97" ty="83"` при картинке 368×117, то есть Конфигуратор углом
не ограничен.
Прозрачность не привязана к тому, где лежит картинка: `t` пишется и у ссылочной записи, причём
ПЕРЕД `ref``<picture t="false" ref="v8ui:Имя"/>`. В «Бухгалтерии предприятия» на 8.3.27 таких
записей 67, а `t="false"` стоит у 11 135 картинок; значения `true` у этого атрибута не бывает
ни в одной проверенной конфигурации — включённую прозрачность выражают `tx`/`ty`.
Прозрачность не привязана к тому, где лежит картинка: и `t`, и `tx`/`ty` пишутся у ссылочной
записи тоже, причём ПЕРЕД `ref``<picture t="false" ref="v8ui:Имя"/>`,
`<picture tx="24" ty="29" ref="v8ui:CalculationType"/>`. В «Бухгалтерии предприятия» на 8.3.27
ссылочных записей с `t` 67, а `t="false"` стоит у 11 135 картинок; значения `true` у этого
атрибута не встретилось ни в одной проверенной конфигурации — включённую прозрачность
выражают `tx`/`ty`.
Сама ссылка не различает, откуда картинка: и предопределённая картинка платформы, и общая
картинка конфигурации записываются одинаково, префиксом `v8ui:`. Проверить, что за ней стоит,
по одному макету нельзя — нужна конфигурация. При загрузке макета платформа ссылку не проверяет:
макет со ссылкой на общую картинку грузится в базу, где такой картинки нет (в отличие
от ссылочных типов у ячейки-поля ввода, которым нужна матч-конфигурация).
## Рисунки
+3 -2
View File
@@ -427,8 +427,9 @@
Порядок в списке `drawings` — порядок в документе; кто кого перекрывает, задаёт `zOrder`.
Запись в `pictures` — либо ссылка на библиотеку картинок платформы (`ref`), либо сами данные
в base64 (`data`). Пустая запись `{}` — картинка не задана, такое в макетах встречается.
Запись в `pictures` — либо ссылка (`ref`), либо сами данные в base64 (`data`). Ссылкой
задаются и предопределённая картинка платформы, и общая картинка конфигурации — пишутся они
одинаково, префиксом `v8ui:`. Пустая запись `{}` — картинка не задана, такое в макетах встречается.
С данными сочетаются `transparent` и `transparentPixel` — два способа записать прозрачность,
исключающие друг друга: `transparent: false` — прозрачного фона нет,
`transparentPixel: { "x": …, "y": … }` — прозрачным считается цвет пикселя с этими координатами
@@ -230,6 +230,23 @@
<zOrder>12</zOrder>
<pictureIndex>3</pictureIndex>
</drawing>
<drawing>
<drawingType>Picture</drawingType>
<id>13</id>
<formatIndex>0</formatIndex>
<beginRow>29</beginRow>
<beginRowOffset>0</beginRowOffset>
<endRow>29</endRow>
<endRowOffset>38</endRowOffset>
<beginColumn>2</beginColumn>
<beginColumnOffset>0</beginColumnOffset>
<endColumn>2</endColumn>
<endColumnOffset>38</endColumnOffset>
<autoSize>false</autoSize>
<pictureSize>Stretch</pictureSize>
<zOrder>13</zOrder>
<pictureIndex>4</pictureIndex>
</drawing>
<templateMode>true</templateMode>
<defaultFormatIndex>8</defaultFormatIndex>
<height>31</height>
@@ -311,4 +328,8 @@ XvkDAGiVKbfel/HTPEnZy6hXpXRVsS9iOcXg0bpv9me2msW0lS42Z/b6zXvrcWBf
QnLqhED0yxE0niZMaADTqW9sxdmwLSAWufFtTBMwTdpzfa8u8AsvEH/3qV8i/x95
A0x239DYKjuDAAAAAElFTkSuQmCC</picture>
</picture>
<picture>
<index>3</index>
<picture tx="24" ty="29" ref="v8ui:CalculationType"/>
</picture>
</document>