mirror of
https://github.com/Nikolay-Shirokov/cc-1c-skills.git
synced 2026-07-28 07:31:00 +03:00
feat(form-compile): авто-генерация пустого ExtendedTooltip для Table/CommandBar/Popup (companion presence)
Платформа всегда ставит companion <ExtendedTooltip> на Table/CommandBar/Popup (подтверждено корпусом: 13174/6086/15681 — 100%), но компилятор его не генерил (не было call-site в Emit-Table/CommandBar/Popup) → пустой companion терялся при раундтрипе (вскрыто фиксом метрики). Добавлена эмиссия ExtendedTooltip в Emit-Table (после AutoCommandBar), Emit-CommandBar и Emit-Popup (перед ChildItems) — с контентом el.extendedTooltip (единый механизм). Зеркало в form-compile.py идентично. Валидация: ExtendedTooltip LOST 437→276 — Table(117→1)/CommandBar(46→0) закрыты, Popup 13→7; сертификация в 1С PASS; регресс 33/33 ps+py (снэпшоты перегенерированы — +ExtendedTooltip и каскад перенумерации id); py==ps1; harness 8144→7911, match 8→9. Остаток ExtendedTooltip LOST (Button 213 + ButtonGroup 34) — НЕ ExtendedTooltip: это cascade от непокрытого контента AutoCommandBar (кастомные кнопки/ButtonGroup командной панели не генерятся компилятором) — отдельный кластер. CheckBoxField 7 — ExtendedTooltip с own-layout (<Width>). В BACKLOG. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 4.8
parent
b147e491ee
commit
f34993b805
@@ -1,4 +1,4 @@
|
||||
# form-compile v1.45 — Compile 1C managed form from JSON or object metadata
|
||||
# form-compile v1.46 — Compile 1C managed form from JSON or object metadata
|
||||
# Source: https://github.com/Nikolay-Shirokov/cc-1c-skills
|
||||
param(
|
||||
[string]$JsonPath,
|
||||
@@ -3122,6 +3122,7 @@ function Emit-Table {
|
||||
} else {
|
||||
Emit-Companion -tag "AutoCommandBar" -name "${name}КоманднаяПанель" -indent $inner
|
||||
}
|
||||
Emit-Companion -tag "ExtendedTooltip" -name "${name}РасширеннаяПодсказка" -indent $inner -content $el.extendedTooltip
|
||||
Emit-TableAddition -tag "SearchStringAddition" -tableName $name -nameSuffix "СтрокаПоиска" -srcType "SearchStringRepresentation" -indent $inner
|
||||
Emit-TableAddition -tag "ViewStatusAddition" -tableName $name -nameSuffix "СостояниеПросмотра" -srcType "ViewStatusRepresentation" -indent $inner
|
||||
Emit-TableAddition -tag "SearchControlAddition" -tableName $name -nameSuffix "УправлениеПоиском" -srcType "SearchControl" -indent $inner
|
||||
@@ -3417,6 +3418,7 @@ function Emit-CommandBar {
|
||||
|
||||
Emit-CommonFlags -el $el -indent $inner
|
||||
Emit-Layout -el $el -indent $inner
|
||||
Emit-Companion -tag "ExtendedTooltip" -name "${name}РасширеннаяПодсказка" -indent $inner -content $el.extendedTooltip
|
||||
|
||||
# Children
|
||||
if ($el.children -and $el.children.Count -gt 0) {
|
||||
@@ -3480,6 +3482,7 @@ function Emit-Popup {
|
||||
X "$inner<Representation>$($el.representation)</Representation>"
|
||||
}
|
||||
Emit-Layout -el $el -indent $inner
|
||||
Emit-Companion -tag "ExtendedTooltip" -name "${name}РасширеннаяПодсказка" -indent $inner -content $el.extendedTooltip
|
||||
|
||||
# Children
|
||||
if ($el.children -and $el.children.Count -gt 0) {
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#!/usr/bin/env python3
|
||||
# form-compile v1.45 — Compile 1C managed form from JSON or object metadata
|
||||
# form-compile v1.46 — Compile 1C managed form from JSON or object metadata
|
||||
# Source: https://github.com/Nikolay-Shirokov/cc-1c-skills
|
||||
import argparse
|
||||
import copy
|
||||
@@ -2822,6 +2822,7 @@ def emit_table(lines, el, name, eid, indent):
|
||||
lines.append(f'{inner}</AutoCommandBar>')
|
||||
else:
|
||||
emit_companion(lines, 'AutoCommandBar', f'{name}\u041a\u043e\u043c\u0430\u043d\u0434\u043d\u0430\u044f\u041f\u0430\u043d\u0435\u043b\u044c', inner)
|
||||
emit_companion(lines, 'ExtendedTooltip', f'{name}\u0420\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u043d\u0430\u044f\u041f\u043e\u0434\u0441\u043a\u0430\u0437\u043a\u0430', inner, el.get('extendedTooltip'))
|
||||
emit_table_addition(lines, 'SearchStringAddition', name, '\u0421\u0442\u0440\u043e\u043a\u0430\u041f\u043e\u0438\u0441\u043a\u0430', 'SearchStringRepresentation', inner)
|
||||
emit_table_addition(lines, 'ViewStatusAddition', name, '\u0421\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435\u041f\u0440\u043e\u0441\u043c\u043e\u0442\u0440\u0430', 'ViewStatusRepresentation', inner)
|
||||
emit_table_addition(lines, 'SearchControlAddition', name, '\u0423\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435\u041f\u043e\u0438\u0441\u043a\u043e\u043c', 'SearchControl', inner)
|
||||
@@ -3086,6 +3087,7 @@ def emit_command_bar(lines, el, name, eid, indent):
|
||||
|
||||
emit_common_flags(lines, el, inner)
|
||||
emit_layout(lines, el, inner)
|
||||
emit_companion(lines, 'ExtendedTooltip', f'{name}РасширеннаяПодсказка', inner, el.get('extendedTooltip'))
|
||||
|
||||
# Children
|
||||
if el.get('children') and len(el['children']) > 0:
|
||||
@@ -3113,6 +3115,7 @@ def emit_popup(lines, el, name, eid, indent):
|
||||
if el.get('representation'):
|
||||
lines.append(f'{inner}<Representation>{el["representation"]}</Representation>')
|
||||
emit_layout(lines, el, inner)
|
||||
emit_companion(lines, 'ExtendedTooltip', f'{name}РасширеннаяПодсказка', inner, el.get('extendedTooltip'))
|
||||
|
||||
# Children
|
||||
if el.get('children') and len(el['children']) > 0:
|
||||
|
||||
Reference in New Issue
Block a user