fix(form-compile): default TitleLocation=Right для CheckBoxField

Платформенный default TitleLocation для CheckBoxField — Left, что почти
никогда не соответствует UX-ожиданиям. В acc 8.3.27 для CheckBoxField:
Right (явно): 811, без тега (=Left): 406, None: 140, Left: 14, Top: 3 —
доминирующий паттерн «заголовок справа от флажка».

Эмитим <TitleLocation>Right</TitleLocation> по умолчанию для check.
Переопределяется через titleLocation: 'Left' / 'None' / 'Top' / 'Bottom'.

v1.11. Обновил 5 snapshot'ов.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
Nick Shirokov
2026-05-02 16:59:31 +03:00
parent a59be4b914
commit e216db5734
7 changed files with 16 additions and 7 deletions
@@ -1,4 +1,4 @@
# form-compile v1.10 — Compile 1C managed form from JSON or object metadata
# form-compile v1.11 — Compile 1C managed form from JSON or object metadata
# Source: https://github.com/Nikolay-Shirokov/cc-1c-skills
param(
[string]$JsonPath,
@@ -2055,9 +2055,8 @@ function Emit-Check {
Emit-Title -el $el -name $name -indent $inner
Emit-CommonFlags -el $el -indent $inner
if ($el.titleLocation) {
X "$inner<TitleLocation>$($el.titleLocation)</TitleLocation>"
}
$tl = if ($el.titleLocation) { "$($el.titleLocation)" } else { "Right" }
X "$inner<TitleLocation>$tl</TitleLocation>"
# Companions
Emit-Companion -tag "ContextMenu" -name "${name}КонтекстноеМеню" -indent $inner
@@ -1,5 +1,5 @@
#!/usr/bin/env python3
# form-compile v1.10 — Compile 1C managed form from JSON or object metadata
# form-compile v1.11 — Compile 1C managed form from JSON or object metadata
# Source: https://github.com/Nikolay-Shirokov/cc-1c-skills
import argparse
import copy
@@ -1771,8 +1771,8 @@ def emit_check(lines, el, name, eid, indent):
emit_title(lines, el, name, inner)
emit_common_flags(lines, el, inner)
if el.get('titleLocation'):
lines.append(f'{inner}<TitleLocation>{el["titleLocation"]}</TitleLocation>')
tl = el.get('titleLocation') or 'Right'
lines.append(f'{inner}<TitleLocation>{tl}</TitleLocation>')
# Companions
emit_companion(lines, 'ContextMenu', f'{name}\u041a\u043e\u043d\u0442\u0435\u043a\u0441\u0442\u043d\u043e\u0435\u041c\u0435\u043d\u044e', inner)
@@ -34,6 +34,7 @@
</UsualGroup>
<CheckBoxField name="ЗагружаетсяИзИнтернета" id="11">
<DataPath>Объект.ЗагружаетсяИзИнтернета</DataPath>
<TitleLocation>Right</TitleLocation>
<ContextMenu name="ЗагружаетсяИзИнтернетаКонтекстноеМеню" id="12"/>
<ExtendedTooltip name="ЗагружаетсяИзИнтернетаРасширеннаяПодсказка" id="13"/>
</CheckBoxField>
@@ -53,6 +53,7 @@
</InputField>
<CheckBoxField name="Забалансовый" id="16">
<DataPath>Объект.OffBalance</DataPath>
<TitleLocation>Right</TitleLocation>
<ContextMenu name="ЗабалансовыйКонтекстноеМеню" id="17"/>
<ExtendedTooltip name="ЗабалансовыйРасширеннаяПодсказка" id="18"/>
</CheckBoxField>
@@ -68,11 +69,13 @@
<ChildItems>
<CheckBoxField name="Валютный" id="21">
<DataPath>Объект.Валютный</DataPath>
<TitleLocation>Right</TitleLocation>
<ContextMenu name="ВалютныйКонтекстноеМеню" id="22"/>
<ExtendedTooltip name="ВалютныйРасширеннаяПодсказка" id="23"/>
</CheckBoxField>
<CheckBoxField name="Количественный" id="24">
<DataPath>Объект.Количественный</DataPath>
<TitleLocation>Right</TitleLocation>
<ContextMenu name="КоличественныйКонтекстноеМеню" id="25"/>
<ExtendedTooltip name="КоличественныйРасширеннаяПодсказка" id="26"/>
</CheckBoxField>
@@ -93,16 +96,19 @@
</InputField>
<CheckBoxField name="ТолькоОбороты" id="36">
<DataPath>Объект.ExtDimensionTypes.TurnoversOnly</DataPath>
<TitleLocation>Right</TitleLocation>
<ContextMenu name="ТолькоОборотыКонтекстноеМеню" id="37"/>
<ExtendedTooltip name="ТолькоОборотыРасширеннаяПодсказка" id="38"/>
</CheckBoxField>
<CheckBoxField name="Валютный" id="39">
<DataPath>Объект.ExtDimensionTypes.Валютный</DataPath>
<TitleLocation>Right</TitleLocation>
<ContextMenu name="ВалютныйКонтекстноеМеню" id="40"/>
<ExtendedTooltip name="ВалютныйРасширеннаяПодсказка" id="41"/>
</CheckBoxField>
<CheckBoxField name="Количественный" id="42">
<DataPath>Объект.ExtDimensionTypes.Количественный</DataPath>
<TitleLocation>Right</TitleLocation>
<ContextMenu name="КоличественныйКонтекстноеМеню" id="43"/>
<ExtendedTooltip name="КоличественныйРасширеннаяПодсказка" id="44"/>
</CheckBoxField>
@@ -111,6 +111,7 @@
</InputField>
<CheckBoxField name="Исправление" id="46">
<DataPath>Объект.Исправление</DataPath>
<TitleLocation>Right</TitleLocation>
<ContextMenu name="ИсправлениеКонтекстноеМеню" id="47"/>
<ExtendedTooltip name="ИсправлениеРасширеннаяПодсказка" id="48"/>
</CheckBoxField>
@@ -38,6 +38,7 @@
</InputField>
<CheckBoxField name="ПерваяСтрокаЗаголовок" id="6">
<DataPath>ПерваяСтрокаЗаголовок</DataPath>
<TitleLocation>Right</TitleLocation>
<ContextMenu name="ПерваяСтрокаЗаголовокКонтекстноеМеню" id="7"/>
<ExtendedTooltip name="ПерваяСтрокаЗаголовокРасширеннаяПодсказка" id="8"/>
</CheckBoxField>
@@ -81,6 +81,7 @@
<v8:content>Включено</v8:content>
</v8:item>
</Title>
<TitleLocation>Right</TitleLocation>
<ContextMenu name="ФлагКонтекстноеМеню" id="17"/>
<ExtendedTooltip name="ФлагРасширеннаяПодсказка" id="18"/>
</CheckBoxField>