feat(form-decompile,form-compile): командные панели (кластер D)

- form-decompile: форменный AutoCommandBar → autoCmdBar-элемент; ButtonGroup;
  команды tooltip/currentRowUse; choiceList value type (число/булево) — раньше.
- form-compile (PS1+PY): новый тип ButtonGroup; команды ToolTip/CurrentRowUse.
- docs/form-dsl-spec: buttonGroup, autoCmdBar (панель формы), tooltip/currentRowUse.
- tests: кейс form-compile/button-group (+snapshot, платформенно валидирован).

АварийныйРежим раундтрип: diff 44→18. Регресс form-compile зелёный (PS1+PY).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
Nick Shirokov
2026-06-04 16:22:07 +03:00
co-authored by Claude Opus 4.8
parent 7c38422e2c
commit 67eaa1c3c8
14 changed files with 631 additions and 10 deletions
@@ -0,0 +1,36 @@
{
"name": "ButtonGroup в командной панели + команды с tooltip/currentRowUse",
"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": "Группы кнопок",
"elements": [
{ "cmdBar": "Панель", "children": [
{ "button": "Выполнить", "command": "Выполнить", "defaultButton": true },
{ "buttonGroup": "ГруппаПереместить", "title": "Переместить", "children": [
{ "button": "Вверх", "command": "Вверх" },
{ "button": "Вниз", "command": "Вниз" }
]}
]}
],
"attributes": [
{ "name": "Объект", "type": "DataProcessorObject.ГруппыКнопок", "main": true }
],
"commands": [
{ "name": "Выполнить", "action": "ВыполнитьОбработка", "tooltip": "Запустить обработку", "shortcut": "Ctrl+Enter" },
{ "name": "Вверх", "action": "ВверхОбработка", "currentRowUse": "DontUse" },
{ "name": "Вниз", "action": "ВнизОбработка", "currentRowUse": "DontUse" }
]
}
}