feat(form-decompile,form-compile): ToolTip companion ExtendedTooltip (подсказка расширенной подсказки)

Companion <ExtendedTooltip> (это LabelDecoration) может нести собственный <ToolTip> —
реальный текст подсказки (ML), а не пустой Title. Декомпилятор ловил Title/layout/flags/
events компаньона, но НЕ его ToolTip → реальный двуязычный текст молча терялся (форма
ВводОстатков/ФормаТовары: расширенная подсказка ЕдиницаИзмеренияТНВЭД).

DSL: extendedTooltip.tooltip (ML-текст). Декомпилятор: захват <lf:ToolTip> компаньона
(Get-LangText). Компилятор (ps1+py): tooltip в companionStructKeys + эмит <ToolTip> после
Title (порядок схемы LabelDecoration). ≠ элементного tooltip обычной подсказки —
скоупится вложенностью (могут сосуществовать).

Редкое (1 форма в rt-iter), но реальная потеря контента. Форма ВводОстатков → match.
Кейс input-fields (ОбычноеПоле: элементный tooltip + extendedTooltip с text+tooltip+events)
сертифицирован загрузкой в 1С — оба tooltip сосуществуют. Регресс 43/43, ps1==py.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
Nick Shirokov
2026-06-12 21:26:15 +03:00
co-authored by Claude Opus 4.8
parent abcd5be2b0
commit 03b2b5a64e
6 changed files with 25 additions and 7 deletions
@@ -52,6 +52,16 @@
<v8:content>Расширенная подсказка поля</v8:content>
</v8:item>
</Title>
<ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Подсказка самой расширенной подсказки</v8:content>
</v8:item>
<v8:item>
<v8:lang>en</v8:lang>
<v8:content>Tooltip of the extended tooltip</v8:content>
</v8:item>
</ToolTip>
<Events>
<Event name="URLProcessing">ОбычноеПолеРасширеннаяПодсказкаОбработкаНавигационнойСсылки</Event>
</Events>