К статье
Практический материал

Разработка и Конфигурация · 10 мин

Группа команд в 1С: что это и как её использовать

Группа команд в 1С — что это, где находится в конфигураторе, как создать, назначить картинку и сгруппировать кнопки командной панели формы.

Группа команд — это элемент интерфейса управляемой формы в 1С:Предприятии, который объединяет несколько команд (кнопок) в один выпадающий список или подменю. Вместо пяти отдельных кнопок на командной панели пользователь видит одну кнопку-меню, например «Печать», «Создать на основании» или «Ещё», раскрыв которую получает доступ ко всем вложенным командам. За счёт этого командная панель остаётся компактной даже при большом количестве доступных действий.

Механизм групп команд работает только в управляемых формах (тонкий клиент, веб-клиент, мобильный клиент). В обычных формах используется другой подход — подменю командной панели, которое настраивается иначе. Группы команд применяются и в настройке интерфейса прикладного решения в целом: в свойствах подсистем и в разделе «Командный интерфейс» конфигурации.

Понимать, как устроены группы команд, полезно не только разработчику. Рядовой пользователь сталкивается с ними каждый день: стандартная кнопка «Ещё» в документах — это и есть группа команд, собранная платформой автоматически. Зная, где и как эти группы формируются, можно объяснить, почему какая-то операция «спряталась» в подменю, и при необходимости вынести её на видное место.

Что такое группа команд и какие виды бывают

Группа команд — это контейнер, который сам по себе не выполняет никакого действия, а лишь содержит ссылки на другие команды. В дереве команд формы (закладка «Команды» редактора формы) она отображается как отдельный узел, внутрь которого можно перетаскивать команды мышью. При отображении на форме группа превращается либо в кнопку с выпадающим списком, либо в визуально объединённый блок кнопок.

Платформа поддерживает несколько видов групп. Основные из них:

  • Подменю — классическое выпадающее меню. Именно так выглядит кнопка «Ещё» или «Печать» в типовых конфигурациях.
  • Группа кнопок — команды отображаются подряд, но логически объединены; используется реже, в основном для визуальной компоновки.
  • Автоматические группы — формируются платформой без участия разработчика: «Командная панель формы», «Глобальные команды», группа навигации и другие служебные наборы.

Важно различать группу команд и группу элементов формы. Группа элементов (обычная группа, группа страниц, командная панель) — это часть визуального дерева элементов формы, отвечающая за расположение. Группа команд — часть дерева команд, отвечающая за логику объединения действий. На практике они работают в связке: команда помещается в группу команд, а группа команд выводится внутрь командной панели.

Где находятся группы команд в конфигураторе

Чтобы увидеть и настроить группы команд, откройте нужную форму в конфигураторе и перейдите на закладку «Команды» в верхней части редактора формы. Дерево команд состоит из двух уровней: сами команды (связанные с процедурами модуля формы или стандартные команды реквизитов) и группы, в которые эти команды можно вкладывать.

Стандартные группы, которые платформа создаёт автоматически, видны в том же дереве: например, «Глобальные команды» для команд общего назначения или группа стандартных команд табличной части. Их состав частично управляется платформой, поэтому не каждую автоматическую группу можно удалить или переименовать — можно лишь наполнять её своими командами или менять отображение.

Отдельное место, где встречаются группы команд, — настройка командного интерфейса подсистемы. В свойствах подсистемы (кнопка «Командный интерфейс») видно, как команды создания объектов и открытия списков распределены по группам панели разделов. Там группировка выполняется автоматически по типу действия, но порядок и видимость можно менять вручную.

Как создать группу команд и добавить в неё команды

Создание группы занимает несколько шагов и не требует написания кода. Сначала убедитесь, что нужные команды уже добавлены в форму: либо это стандартные команды реквизитов, либо собственные команды, созданные на закладке «Команды» с привязанной процедурой-обработчиком в модуле формы.

Порядок создания группы команд
  1. 1
    Откройте форму в конфигураторе и перейдите на закладку «Команды»
  2. 2
    Нажмите «Добавить» и выберите «Группа команд» — появится новый узел в дереве
  3. 3
    Задайте имя группы, заголовок (то, что увидит пользователь) и при необходимости картинку
  4. 4
    Перетащите нужные команды внутрь группы в дереве команд
  5. 5
    В дереве элементов формы перетащите группу в командную панель формы или табличной части
  6. 6
    Обновите конфигурацию базы данных и проверьте отображение в режиме 1С:Предприятие

После переноса группы в дерево элементов формы проверьте её свойства: свойство «Вид» определяет, будет ли это подменю или группа кнопок, а «Отображение» — показывать ли картинку, текст или и то и другое. Если забыть перетащить группу из дерева команд в дерево элементов, она не появится на форме вовсе — это самая частая причина «пропавшей» кнопки.

Для команд внутри группы можно индивидуально настроить видимость и доступность. Например, команду проведения документа имеет смысл показывать только при определённом статусе. Это делается программно через свойство Видимость элемента формы в обработчике ПриОткрытии или через функциональные опции.

Настройка картинки, заголовка и важности команд

У группы команд есть свойство «Картинка» — оно определяет значок на кнопке подменю. Картинку можно выбрать из стандартной библиотеки платформы или из общих картинок конфигурации. Для типовых действий вроде печати или создания на основании в библиотеке уже есть подходящие пиктограммы, и лучше использовать их: пользователь привык к этим значкам в других формах.

Свойство «Важность» у отдельной команды влияет на то, попадёт ли она в подменю «Ещё» при нехватке места на командной панели. Команды с обычной важностью платформа может автоматически убрать в «Ещё», а команды с высокой важностью старается оставить на виду. Это удобный механизм адаптации под узкие окна, но злоупотреблять высокой важностью не стоит — иначе панель переполнится.

Типичные сценарии использования

Самый распространённый сценарий — группировка печатных форм. Когда у документа пять-десять вариантов печати, выносить их отдельными кнопками нерационально: создаётся группа «Печать», внутрь которой помещаются все команды формирования печатных форм. Пользователь нажимает одну кнопку и выбирает нужный вариант из списка.

Второй сценарий — команды обработки данных: «Заполнить», «Подобрать», «Распределить» в табличных частях документов. Их объединяют в группу на командной панели табличной части, чтобы не смешивать со стандартными командами добавления и удаления строк.

Третий сценарий — вынос редких административных действий (перепроведение, служебная выгрузка, заполнение по данным прошлого периода) в отдельное подменю «Сервис». Это снижает риск случайного нажатия: пользователь должен осознанно раскрыть меню, прежде чем запустить потенциально опасную операцию.

Частые ошибки и ограничения

Типичные ошибки
01
Группа создана в дереве команд, но не перенесена в дерево элементов формы — на форме она не отображается
02
В группу добавлены команды без обработчиков — кнопки видны, но при нажатии ничего не происходит
03
У группы не задан заголовок — пользователь видит пустую или технически названную кнопку
04
Слишком много групп на одной панели — интерфейс превращается в набор меню, найти действие сложнее, чем раньше
05
Попытка настроить группу команд в обычной форме — механизм работает только в управляемых формах

Есть и ограничения платформы. Вложенность групп команд ограничена: глубокие многоуровневые меню платформа не поддерживает, да и с точки зрения удобства их следует избегать. Также нельзя программно создать группу команд «на лету» произвольным образом — состав формы определяется в конфигураторе, а в коде доступно лишь управление видимостью и доступностью уже существующих элементов.

Ещё одна тонкость касается расширений конфигурации. Группы команд можно добавлять через расширение, но если в основной конфигурации форма сильно изменится при обновлении, заимствованные элементы могут «слететь». После каждого обновления типовой конфигурации проверяйте формы, доработанные расширением.

Контрольные точки

Как проверить результат

Отображение группы на форме
Норма

Кнопка с заданным заголовком и картинкой видна в командной панели

Тревожный признак

Группы нет — она не перенесена в дерево элементов или скрыта настройками видимости

Состав выпадающего списка
Норма

Все команды присутствуют и нажимаются

Тревожный признак

Часть команд отсутствует — проверьте видимость команд и права доступа

Работа обработчиков
Норма

При нажатии выполняется нужная процедура

Тревожный признак

Ничего не происходит — у команды не назначен обработчик действия

Часто задаваемые вопросы

Чем группа команд отличается от командной панели?

Командная панель — это элемент формы, полоса с кнопками. Группа команд — логический контейнер внутри неё, объединяющий несколько кнопок в подменю. Командная панель может содержать и отдельные кнопки, и группы команд одновременно.

Почему моя команда попала в кнопку «Ещё», хотя я этого не делал?

Платформа автоматически переносит команды в «Ещё», когда на командной панели не хватает места или когда у команды обычная важность. Поднимите свойство «Важность» или расширьте окно — команда вернётся на видное место.

Можно ли создать группу команд программно из кода?

Полноценно создать новую группу в произвольном месте формы из кода нельзя — структура формы задаётся в конфигураторе. Программно доступно управление видимостью, доступностью и заголовком уже существующих групп и команд.

Работают ли группы команд в обычных формах?

Нет, механизм групп команд предназначен для управляемых форм. В обычных формах используется редактор командных панелей с подменю, который настраивается отдельно и имеет другие возможности.

Как изменить порядок команд внутри группы?

В дереве команд редактора формы перетащите команды мышью в нужном порядке или используйте кнопки перемещения вверх/вниз. Порядок в дереве определяет порядок пунктов в выпадающем меню.

Можно ли назначить горячую клавишу команде внутри группы?

Да, у команды есть свойство «Сочетание клавиш». Оно работает независимо от того, лежит команда в группе или на панели напрямую, но выбирайте сочетания, не занятые стандартными командами платформы.

Итог

Что важно запомнить

Группа команд — это способ объединить кнопки управляемой формы в подменю. Создаётся на закладке «Команды» редактора формы, обязательно переносится в дерево элементов, настраивается через заголовок, картинку и важность. Кнопка «Ещё» — автоматическая группа, в которую платформа убирает команды при нехватке места.