feat(form-decompile,form-compile): CommandSet/excludedCommands таблиц (кластер F)

CommandSet встречается на Table (23) и Form (8). Форменный excludedCommands
уже поддержан, табличный — нет.

- compiler PS1+PY: Emit-Table — excludedCommands → <CommandSet>; заодно
  viewStatusLocation/searchControlLocation (из того же блока свойств таблицы).
- decompiler: Table — CommandSet→excludedCommands, searchStringLocation
  (раньше не ловился), viewStatusLocation/searchControlLocation.
- docs/form-dsl-spec: excludedCommands + view/searchControl у таблицы.
- tests: table расширен, сертифицирован в 1С.

ExcludedCommand ушёл из топа LOST. Регресс 32/32 PS1+PY, churn нулевой.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
Nick Shirokov
2026-06-04 19:18:17 +03:00
co-authored by Claude Opus 4.8
parent 0941fc717d
commit 9c1ea1662a
6 changed files with 48 additions and 6 deletions
@@ -12,6 +12,14 @@
<Table name="Данные" id="1">
<DataPath>Данные</DataPath>
<ChangeRowSet>true</ChangeRowSet>
<ViewStatusLocation>None</ViewStatusLocation>
<SearchControlLocation>None</SearchControlLocation>
<CommandSet>
<ExcludedCommand>Add</ExcludedCommand>
<ExcludedCommand>Delete</ExcludedCommand>
<ExcludedCommand>MoveUp</ExcludedCommand>
<ExcludedCommand>MoveDown</ExcludedCommand>
</CommandSet>
<ContextMenu name="ДанныеКонтекстноеМеню" id="2"/>
<AutoCommandBar name="ДанныеКоманднаяПанель" id="3"/>
<SearchStringAddition name="ДанныеСтрокаПоиска" id="4"/>
+3 -1
View File
@@ -16,7 +16,9 @@
"input": {
"title": "Просмотр данных",
"elements": [
{ "table": "Данные", "path": "Данные", "changeRowSet": true, "columns": [
{ "table": "Данные", "path": "Данные", "changeRowSet": true,
"viewStatusLocation": "None", "searchControlLocation": "None",
"excludedCommands": ["Add", "Delete", "MoveUp", "MoveDown"], "columns": [
{ "input": "Дата", "path": "Данные.Дата" },
{ "input": "Сумма", "path": "Данные.Сумма" },
{ "input": "Комментарий", "path": "Данные.Комментарий" }