mirror of
https://github.com/Nikolay-Shirokov/cc-1c-skills.git
synced 2026-06-16 18:53:18 +03:00
d7dedd4843
Снят 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>
42 lines
1.7 KiB
JSON
42 lines
1.7 KiB
JSON
{
|
|
"name": "Форма с командами и кнопками",
|
|
"preRun": [
|
|
{
|
|
"script": "meta-compile/scripts/meta-compile",
|
|
"input": { "type": "DataProcessor", "name": "Команды" },
|
|
"args": { "-JsonPath": "{inputFile}", "-OutputDir": "{workDir}" }
|
|
},
|
|
{
|
|
"script": "form-add/scripts/form-add",
|
|
"args": { "-ObjectPath": "{workDir}/DataProcessors/Команды.xml", "-FormName": "Форма" }
|
|
}
|
|
],
|
|
"params": { "outputPath": "DataProcessors/Команды/Forms/Форма/Ext/Form.xml" },
|
|
"validatePath": "DataProcessors/Команды/Forms/Форма/Ext/Form.xml",
|
|
"input": {
|
|
"title": "Форма с командами",
|
|
"mobileCommandBarContent": ["Панель", "Выполнить"],
|
|
"elements": [
|
|
{ "cmdBar": "Панель", "horizontalLocation": "right", "children": [
|
|
{ "button": "Выполнить", "command": "Выполнить", "defaultButton": true },
|
|
{ "button": "Закрыть", "stdCommand": "Close", "representationInContextMenu": "None" }
|
|
]},
|
|
{ "input": "Результат", "path": "Результат", "multiLine": true, "height": 8, "readOnly": true }
|
|
],
|
|
"attributes": [
|
|
{ "name": "Объект", "type": "DataProcessorObject.Команды", "main": true },
|
|
{ "name": "Результат", "type": "string" }
|
|
],
|
|
"commands": [
|
|
{ "name": "Выполнить", "action": "ВыполнитьОбработка", "shortcut": "Ctrl+Enter", "use": false, "modifiesSavedData": true }
|
|
],
|
|
"commandInterface": {
|
|
"commandBar": {
|
|
"important": [
|
|
{ "command": "Form.Command.Выполнить", "defaultVisible": false, "index": 0, "visible": false }
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|