mirror of
https://github.com/Nikolay-Shirokov/cc-1c-skills.git
synced 2026-07-16 15:55:16 +03:00
feat(form-decompile,form-compile): CommandInterface — командный интерфейс формы из ring-3
Снят fast-fail на CommandInterface (4388 форм, 13.5% корпуса — крупнейший
оставшийся триггер ring-3).
Форменный ключ commandInterface = панели commandBar + navigationPanel, списки
переопределений авто-расстановки (платформа эмитит только отклонения). Элемент:
command (verbatim; "0"=пустой), type (Auto опускаем/Added), defaultVisible,
visible (тот же xr-flag, что userVisible/use — bool или {common,roles}),
group (CommandGroup verbatim), index, attribute. Порядок тегов Item:
Command,Type,Attribute,CommandGroup,Index,DefaultVisible,Visible.
Две формы записи панели: плоский массив (декомпилятор эмитит её) + древовидная
{группа:[команды]} как входной сахар (алиасы important/goTo/seeAlso→
FormNavigationPanel*, important/createBasedOn→FormCommandBar*; иной ключ verbatim;
group из ключа, элементы не дублируют). Голый элемент → строка-shorthand.
Переиспользует Decompile-XrFlag/Emit-XrFlag.
Выборка 2.17: ring3 37→7, match 181→197; сам CommandInterface роундтрипится
бит-в-бит (0 CI-diff, остаток TOTAL — несвязанный хвост раскрытых форм). Зеркало
py байт-в-байт, кейс commands (+commandInterface tree-форма) сертифицирован
загрузкой в 1С. Регресс 40/40 (ps1+py).
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -29,6 +29,13 @@
|
||||
],
|
||||
"commands": [
|
||||
{ "name": "Выполнить", "action": "ВыполнитьОбработка", "shortcut": "Ctrl+Enter", "use": false, "modifiesSavedData": true }
|
||||
]
|
||||
],
|
||||
"commandInterface": {
|
||||
"commandBar": {
|
||||
"important": [
|
||||
{ "command": "Form.Command.Выполнить", "defaultVisible": false, "index": 0, "visible": false }
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+14
@@ -90,4 +90,18 @@
|
||||
<Shortcut>Ctrl+Enter</Shortcut>
|
||||
</Command>
|
||||
</Commands>
|
||||
<CommandInterface>
|
||||
<CommandBar>
|
||||
<Item>
|
||||
<Command>Form.Command.Выполнить</Command>
|
||||
<Type>Auto</Type>
|
||||
<CommandGroup>FormCommandBarImportant</CommandGroup>
|
||||
<Index>0</Index>
|
||||
<DefaultVisible>false</DefaultVisible>
|
||||
<Visible>
|
||||
<xr:Common>false</xr:Common>
|
||||
</Visible>
|
||||
</Item>
|
||||
</CommandBar>
|
||||
</CommandInterface>
|
||||
</Form>
|
||||
|
||||
Reference in New Issue
Block a user