feat(form-decompile,form-compile): события ExtendedTooltip-компаньона (переиспользование механизма событий элемента)

ExtendedTooltip (companion = LabelDecoration) может нести <Events> (напр.
URLProcessing у hyperlink-подсказки — ОбработкаНавигационнойСсылки). Декомпилятор
ловил own-content (layout/оформление/флаги/hyperlink), но НЕ события → весь блок
Events LOST (топ list-iter: ExtendedTooltip>Events 492 impact). Был отложенный хвост
кластера ExtendedTooltip own-content.

Переиспользован механизм событий элемента: декомпилятор Get-Events → etObj['events'];
компилятор Emit-Events (typeKey 'label', после Title) + 'events' в companionStructKeys
(чтобы text+events шёл структурной веткой). Зеркало py. Round-trip формы
НастройкиИнтеграцииМаркетплейс/ФормаЭлемента бит-в-бит (3 ExtendedTooltip с URLProcessing).
Кейс input-fields (extendedTooltip +hyperlink +events URLProcessing) сертифицирован
в 1С. Регресс 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-11 20:46:20 +03:00
co-authored by Claude Opus 4.8
parent 32273d2be8
commit 9900f8f656
6 changed files with 18 additions and 9 deletions
@@ -43,6 +43,7 @@
</EditFormat>
<ContextMenu name="ОбычноеПолеКонтекстноеМеню" id="2"/>
<ExtendedTooltip name="ОбычноеПолеРасширеннаяПодсказка" id="3">
<Hyperlink>true</Hyperlink>
<AutoMaxWidth>false</AutoMaxWidth>
<Width>30</Width>
<Title formatted="false">
@@ -51,6 +52,9 @@
<v8:content>Расширенная подсказка поля</v8:content>
</v8:item>
</Title>
<Events>
<Event name="URLProcessing">ОбычноеПолеРасширеннаяПодсказкаОбработкаНавигационнойСсылки</Event>
</Events>
</ExtendedTooltip>
</InputField>
<LabelField name="Ссылка" id="4">