mirror of
https://github.com/Nikolay-Shirokov/cc-1c-skills.git
synced 2026-06-26 06:54:38 +03:00
feat(form-decompile,form-compile): формат и формат редактирования (Format/EditFormat)
Ключи format/editFormat на InputField/LabelField/CheckBoxField (1408/958
файлов в корпусе). LocalStringType как inputHint/title: строка или {ru,en} —
переиспользование Emit-MLText (компилятор) и Get-LangText (декомпилятор).
Декомпилятор: хелпер Add-FormatProps в 3 ветках. Зеркало py.
Round-trip чистый (0 остатка на 30 формах с Format/EditFormat). Кейс
input-fields: format/editFormat строкой на input/check + мультиязык-объект
на labelField; снэпшот сертифицирован загрузкой в 1С.
Заодно добавлены забытые ключи (format/editFormat/choiceParameters/
choiceParameterLinks/typeLink) в allowlist knownKeys (ps1+py), чтобы не
сыпать ложный warning «unknown key».
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -16,8 +16,8 @@
|
||||
"input": {
|
||||
"title": "Поля ввода",
|
||||
"elements": [
|
||||
{ "input": "ОбычноеПоле", "path": "ОбычноеПоле", "title": "Обычное поле", "tooltip": "Введите значение поля", "tooltipRepresentation": "ShowBottom", "editMode": "EnterOnInput", "horizontalStretch": false, "verticalStretch": false },
|
||||
{ "labelField": "Ссылка", "path": "ОбычноеПоле", "titleLocation": "left", "hyperlink": true },
|
||||
{ "input": "ОбычноеПоле", "path": "ОбычноеПоле", "title": "Обычное поле", "tooltip": "Введите значение поля", "tooltipRepresentation": "ShowBottom", "editMode": "EnterOnInput", "horizontalStretch": false, "verticalStretch": false, "format": "ЧДЦ=2", "editFormat": "ЧДЦ=2; ЧН=" },
|
||||
{ "labelField": "Ссылка", "path": "ОбычноеПоле", "titleLocation": "left", "hyperlink": true, "format": { "ru": "ДЛФ=D", "en": "DLF=D" } },
|
||||
{ "input": "МногострочноеПоле", "path": "МногострочноеПоле", "multiLine": true, "height": 5, "title": "Комментарий", "wrap": false, "showInHeader": false, "showInFooter": false, "autoCellHeight": true, "footerHorizontalAlign": "Right", "openButton": false, "chooseType": false },
|
||||
{ "input": "ПолеПароля", "path": "ПолеПароля", "passwordMode": true, "title": "Пароль" },
|
||||
{ "input": "ПолеСКнопками", "path": "ПолеСКнопками", "choiceButton": true, "clearButton": true, "title": "Выбор" },
|
||||
@@ -48,7 +48,7 @@
|
||||
{ "check": "Флаг", "path": "Флаг", "title": "Включено" },
|
||||
{ "check": "ФлагПлатформенный", "path": "ФлагПлатформенный", "title": "Слева", "titleLocation": "" },
|
||||
{ "check": "ФлагЯвный", "path": "ФлагЯвный", "title": "Сверху", "titleLocation": "top" },
|
||||
{ "check": "ФлагТумблер", "path": "ФлагТумблер", "title": "Тумблер", "checkBoxType": "switcher" }
|
||||
{ "check": "ФлагТумблер", "path": "ФлагТумблер", "title": "Тумблер", "checkBoxType": "switcher", "format": "БЛ=Нет; БИ=Да" }
|
||||
],
|
||||
"attributes": [
|
||||
{ "name": "Объект", "type": "DataProcessorObject.ПоляВвода", "main": true },
|
||||
|
||||
+28
@@ -27,6 +27,18 @@
|
||||
<EditMode>EnterOnInput</EditMode>
|
||||
<HorizontalStretch>false</HorizontalStretch>
|
||||
<VerticalStretch>false</VerticalStretch>
|
||||
<Format>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>ЧДЦ=2</v8:content>
|
||||
</v8:item>
|
||||
</Format>
|
||||
<EditFormat>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>ЧДЦ=2; ЧН=</v8:content>
|
||||
</v8:item>
|
||||
</EditFormat>
|
||||
<ContextMenu name="ОбычноеПолеКонтекстноеМеню" id="2"/>
|
||||
<ExtendedTooltip name="ОбычноеПолеРасширеннаяПодсказка" id="3"/>
|
||||
</InputField>
|
||||
@@ -34,6 +46,16 @@
|
||||
<DataPath>ОбычноеПоле</DataPath>
|
||||
<TitleLocation>Left</TitleLocation>
|
||||
<Hiperlink>true</Hiperlink>
|
||||
<Format>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>ДЛФ=D</v8:content>
|
||||
</v8:item>
|
||||
<v8:item>
|
||||
<v8:lang>en</v8:lang>
|
||||
<v8:content>DLF=D</v8:content>
|
||||
</v8:item>
|
||||
</Format>
|
||||
<ContextMenu name="СсылкаКонтекстноеМеню" id="5"/>
|
||||
<ExtendedTooltip name="СсылкаРасширеннаяПодсказка" id="6"/>
|
||||
</LabelField>
|
||||
@@ -323,6 +345,12 @@
|
||||
</Title>
|
||||
<CheckBoxType>Switcher</CheckBoxType>
|
||||
<TitleLocation>Right</TitleLocation>
|
||||
<Format>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>БЛ=Нет; БИ=Да</v8:content>
|
||||
</v8:item>
|
||||
</Format>
|
||||
<ContextMenu name="ФлагТумблерКонтекстноеМеню" id="38"/>
|
||||
<ExtendedTooltip name="ФлагТумблерРасширеннаяПодсказка" id="39"/>
|
||||
</CheckBoxField>
|
||||
|
||||
Reference in New Issue
Block a user