feat(form-decompile,form-compile): MobileDeviceCommandBarContent (состав моб-панели)

Форменное свойство <MobileDeviceCommandBarContent> = список имён командных
панелей/кнопок для командной панели мобильного устройства. DSL:
mobileCommandBarContent: ["Имя1", "Имя2", …] (массив строк).

Константы подтверждены по корпусу (161 файл): Presentation пустой,
CheckState=0, Value xsi:type=xs:string всегда — варьируется только имя-Value.
Компилятор ставит константы, эмитит перед AutoCommandBar; декомпилятор
собирает список имён.

Зеркало py (байт-в-байт). Форма BusinessProcesses/Задание/ФормаСписка →
round-trip match. Кейс commands сертифицирован в 1С. Регресс 39/39 ps1+py.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
Nick Shirokov
2026-06-08 21:11:18 +03:00
parent ea43522b5a
commit 8915e99ac8
6 changed files with 53 additions and 3 deletions
@@ -15,6 +15,7 @@
"validatePath": "DataProcessors/Команды/Forms/Форма/Ext/Form.xml",
"input": {
"title": "Форма с командами",
"mobileCommandBarContent": ["Панель", "Выполнить"],
"elements": [
{ "cmdBar": "Панель", "horizontalLocation": "right", "children": [
{ "button": "Выполнить", "command": "Выполнить", "defaultButton": true },
@@ -7,6 +7,18 @@
</v8:item>
</Title>
<AutoTitle>false</AutoTitle>
<MobileDeviceCommandBarContent>
<xr:Item>
<xr:Presentation/>
<xr:CheckState>0</xr:CheckState>
<xr:Value xsi:type="xs:string">Панель</xr:Value>
</xr:Item>
<xr:Item>
<xr:Presentation/>
<xr:CheckState>0</xr:CheckState>
<xr:Value xsi:type="xs:string">Выполнить</xr:Value>
</xr:Item>
</MobileDeviceCommandBarContent>
<AutoCommandBar name="ФормаКоманднаяПанель" id="-1">
<Autofill>false</Autofill>
</AutoCommandBar>