docs(meta-compile): терминология групп команд — «раздела/формы» вместо «секционные»

«Секционные» — выдуманный термин, в 1С его нет. Группы противопоставляются как
командный интерфейс РАЗДЕЛА (панель навигации/действий) и ФОРМЫ. Поправлены
reference/blocks.md, тексты ошибок и комментарии (ps1+py). Поведение не изменилось
(имена переменных внутренние; expectError-подстроки на месте).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
Nick Shirokov
2026-07-11 19:15:02 +03:00
parent 9ad9c12c9b
commit 5d877973a4
3 changed files with 10 additions and 9 deletions
@@ -48,13 +48,14 @@ BusinessProcess, Task и др.).
**Группа (`group`) обязательна** — каждая команда размещается в группе командного интерфейса:
- **Секционные** (панель раздела; `commandParameterType` **недоступен**): `NavigationPanelImportant` /
`NavigationPanelOrdinary` / `NavigationPanelSeeAlso`, `ActionsPanelCreate` / `ActionsPanelReports` / `ActionsPanelTools`.
- **Формы** (`commandParameterType` допустим): `FormCommandBarImportant` / `FormCommandBarCreateBasedOn`,
`FormNavigationPanelImportant` / `FormNavigationPanelGoTo` / `FormNavigationPanelSeeAlso`.
- **Командный интерфейс раздела** (панель навигации / панель действий; `commandParameterType` **недоступен**):
`NavigationPanelImportant` / `NavigationPanelOrdinary` / `NavigationPanelSeeAlso`,
`ActionsPanelCreate` / `ActionsPanelReports` / `ActionsPanelTools`.
- **Командный интерфейс формы** (`commandParameterType` допустим): `FormCommandBarImportant` /
`FormCommandBarCreateBasedOn`, `FormNavigationPanelImportant` / `FormNavigationPanelGoTo` / `FormNavigationPanelSeeAlso`.
- **Кастомная группа:** `CommandGroup.<Имя>` (параметр допустим).
Секционная группа вместе с `commandParameterType` → ошибка.
Группа раздела вместе с `commandParameterType` → ошибка.
## `inputByString` / `dataLockFields` / `basedOn`
@@ -268,7 +268,7 @@ $script:validEnumValues = @{
}
# --- Группы команд объекта (командный интерфейс) ---
# Секционные группы (панель раздела): команда БЕЗ параметра. Групповые формы: параметр доступен.
# Группы командного интерфейса РАЗДЕЛА (панель навигации/действий): команда БЕЗ параметра. Группы формы: параметр доступен.
$script:sectionCommandGroups = @(
"NavigationPanelImportant","NavigationPanelOrdinary","NavigationPanelSeeAlso",
"ActionsPanelCreate","ActionsPanelReports","ActionsPanelTools"
@@ -1960,7 +1960,7 @@ function Emit-Command {
if ($cmd.comment) { X "$indent`t`t<Comment>$(Esc-XmlText "$($cmd.comment)")</Comment>" } else { X "$indent`t`t<Comment/>" }
$group = Resolve-CommandGroup $cmd.group $cmdName
if ($cmd.commandParameterType -and ($script:sectionCommandGroups -contains $group)) {
Write-Error "Команда '$cmdName': тип параметра (commandParameterType) недоступен для команд секционной панели ('$group'). Тип параметра — только для групп формы (FormCommandBar*/FormNavigationPanel*) или CommandGroup.<Имя>."
Write-Error "Команда '$cmdName': тип параметра (commandParameterType) недоступен для команд командного интерфейса раздела ('$group'). Тип параметра — только для групп формы (FormCommandBar*/FormNavigationPanel*) или CommandGroup.<Имя>."
exit 1
}
X "$indent`t`t<Group>$(Esc-Xml $group)</Group>"
@@ -413,7 +413,7 @@ valid_enum_values = {
}
# --- Группы команд объекта (командный интерфейс) ---
# Секционные группы (панель раздела): команда БЕЗ параметра. Групповые формы: параметр доступен.
# Группы командного интерфейса РАЗДЕЛА (панель навигации/действий): команда БЕЗ параметра. Группы формы: параметр доступен.
SECTION_COMMAND_GROUPS = [
'NavigationPanelImportant', 'NavigationPanelOrdinary', 'NavigationPanelSeeAlso',
'ActionsPanelCreate', 'ActionsPanelReports', 'ActionsPanelTools',
@@ -2032,7 +2032,7 @@ def emit_command(indent, cmd_name, cmd):
group = resolve_command_group(cmd.get('group'), cmd_name)
if cmd.get('commandParameterType') and group in SECTION_COMMAND_GROUPS:
sys.stderr.write(f"Команда '{cmd_name}': тип параметра (commandParameterType) недоступен для команд "
f"секционной панели ('{group}'). Тип параметра — только для групп формы "
f"командного интерфейса раздела ('{group}'). Тип параметра — только для групп формы "
f"(FormCommandBar*/FormNavigationPanel*) или CommandGroup.<Имя>.\n")
sys.exit(1)
X(f'{indent}\t\t<Group>{esc_xml(group)}</Group>')