Разработка и Конфигурация · 10 мин
Что такое группа команд в 1С и как с ними работать
Разбираем, что такое группа команд в 1С: виды групп кнопок в управляемых формах, настройка командной панели, подменю и типичные ошибки при работе.
Группа команд в 1С — это элемент интерфейса управляемой формы, который объединяет несколько команд (кнопок) в логический блок. Пользователь видит такую группу как подменю в командной панели, набор кнопок, расположенных рядом, или выпадающий список действий. Группировка нужна, чтобы не захламлять форму десятками отдельных кнопок и помочь пользователю быстрее находить нужное действие.
Механизм групп команд работает только в управляемых формах — в обычных формах устаревшего интерфейса структура командной панели устроена иначе. При этом платформа сама создаёт часть групп автоматически: например, стандартные подменю «Создать», «Печать», «Ещё» в типовых конфигурациях — это группы кнопок, сформированные системой или разработчиком.
Понимание устройства групп команд важно и разработчику, и продвинутому пользователю. Разработчик управляет составом и видом групп через конфигуратор или программно, а пользователь в ряде случаев может менять настройки командной панели через режим «Изменить форму». Ниже разберём виды групп, способы их создания и типичные ошибки.
Что представляет собой группа команд в управляемой форме
В дереве элементов управляемой формы группа команд отображается как элемент вида «ГруппаКнопок». Внутрь неё помещаются кнопки, связанные с командами формы или глобальными командами. Сама по себе группа не выполняет действий — она только определяет, как платформа отрисует вложенные кнопки: в виде подменю, компактного списка или ряда кнопок.
Важно отличать группу команд от обычной группы элементов формы (ГруппаФормы). Обычная группа объединяет поля ввода, таблицы и другие элементы и управляет их расположением (горизонтально, вертикально, в колонки). Группа кнопок предназначена исключительно для команд и имеет собственный набор свойств, например «ВидГруппы» и «Отображение».
Виды групп кнопок и их отображение
Платформа поддерживает несколько видов групп кнопок, которые задаются свойством «ВидГруппы». От выбранного вида зависит, как пользователь увидит команды на форме.
- Подменю — группа отображается как пункт командной панели с выпадающим списком вложенных команд. Классический пример — кнопка «Печать» с вариантами печатных форм.
- Компактное отображение — кнопки группы размещаются рядом без разделителей, занимая минимум места.
- Обычная группа кнопок — кнопки идут подряд, визуально выделенные как связанный блок.
Дополнительно свойство «Отображение» определяет, что показывать на кнопках: картинку, текст, картинку с текстом или автоматический выбор платформы. Для подменю часто задают картинку и текст, чтобы пользователь сразу понимал назначение блока.
| Вид группы | Как выглядит | Когда применять |
|---|---|---|
| Подменю | Пункт с выпадающим списком команд | Много однотипных действий: печать, создание на основании |
| Компактная группа | Кнопки вплотную друг к другу | 2–4 часто используемые команды, экономия места |
| Обычная группа | Ряд кнопок, выделенный как блок | Логически связанные действия, которые должны быть на виду |
Как создать группу команд в конфигураторе
Создание группы выполняется в редакторе управляемой формы. Порядок действий одинаков для форм документов, справочников и обработок.
- 1Откройте форму объекта в конфигураторе и перейдите в дерево элементов формы.
- 2Выделите командную панель или другой родительский элемент, внутри которого должна быть группа.
- 3Добавьте новый элемент и выберите тип «Группа» с видом «ГруппаКнопок».
- 4В свойствах задайте ВидГруппы (например, «Подменю»), заголовок и картинку.
- 5Перетащите нужные кнопки внутрь группы или создайте новые кнопки, связанные с командами формы.
- 6Сохраните форму и проверьте результат в режиме предприятия.
После создания группы проверьте порядок команд внутри неё: платформа выводит кнопки в том порядке, в котором они идут в дереве элементов. Перетаскивание элементов мышью в редакторе меняет их положение и на форме.
Если команда не отображается внутри группы, чаще всего причина в том, что кнопка ссылается на команду, недоступную в текущем контексте, либо у команды снято свойство видимости по функциональным опциям или правам.
Программное создание группы команд
В некоторых задачах группу нужно создать динамически — например, когда набор команд зависит от вида документа или настроек пользователя. Это делается в модуле формы, обычно в обработчике «ПриСозданииНаСервере».
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
// Создаём команду
НоваяКоманда = Команды.Добавить("КомандаОтгрузка");
НоваяКоманда.Действие = "Подключаемый_Отгрузка";
НоваяКоманда.Заголовок = "Отгрузка";
// Создаём группу-подменю в командной панели
Группа = Элементы.Добавить("ГруппаДействия", Тип("ГруппаФормы"), Элементы.КоманднаяПанель);
Группа.Вид = ВидГруппыФормы.Подменю;
Группа.Заголовок = "Действия";
// Добавляем кнопку в группу
Кнопка = Элементы.Добавить("КнопкаОтгрузка", Тип("КнопкаФормы"), Группа);
Кнопка.ИмяКоманды = "КомандаОтгрузка";
КонецПроцедурыПри программном добавлении важно помнить: элементы и команды, созданные на сервере, существуют только в рамках текущего экземпляра формы. При повторном открытии формы код выполнится заново, поэтому дублирования не произойдёт, но и сохранить «навсегда» такие элементы нельзя — для постоянных изменений используйте конфигуратор.
Стандартные группы команд в типовых конфигурациях
В типовых решениях (1С:Бухгалтерия, 1С:Управление торговлей и других) большинство групп команд уже настроены разработчиками. Пользователь сталкивается с ними ежедневно: подменю «Создать» в панели разделов, подменю «Печать» и «Ещё» в формах документов, группы команд в панели навигации.
Часть этих групп формируется автоматически подсистемами Библиотеки стандартных подсистем (БСП). Например, состав подменю «Печать» определяется менеджером печати объекта, а содержимое «Ещё» — стандартными командами изменения формы, выгрузки и прочими служебными действиями. Вмешиваться в эти механизмы напрямую в форме не стоит — изменения могут быть потеряны при обновлении конфигурации.
Настройка командной панели пользователем
Конечный пользователь без доступа к конфигуратору может в ограниченных пределах менять состав командной панели. Для этого в форме есть команда «Изменить форму» (обычно в подменю «Ещё» или через меню «Все действия»). В открывшемся окне настройки можно включать и отключать видимость отдельных кнопок и групп, менять порядок элементов.
Ограничения пользовательской настройки: нельзя создать новую группу или команду, нельзя изменить вид группы и её свойства — доступны только видимость и расположение уже существующих элементов. Настройки сохраняются для конкретного пользователя и конкретной формы.
Как проверить результат
Подменю или ряд кнопок виден в командной панели
Группы нет — проверьте видимость, права и функциональные опции
Каждая кнопка выполняет действие без ошибок
Кнопка неактивна или выдаёт ошибку — проверьте обработчик команды
Кнопки идут в логичной последовательности
Порядок случайный — поправьте расположение в дереве элементов
Типичные ошибки и ограничения
При работе с группами команд разработчики и пользователи регулярно сталкиваются с одними и теми же проблемами. Знание их причин экономит время на диагностике.
Ещё одно ограничение: вложенность подменю не бесконечна, и глубокая вложенность ухудшает удобство интерфейса. Практическое правило — не более двух уровней вложенности групп внутри командной панели.
Частые команды лучше выносить из подменю прямо в командную панель: каждый лишний уровень вложенности увеличивает время выполнения операции. Подменю оставляйте для редких и однотипных действий.
Часто задаваемые вопросы
Чем группа команд отличается от командной панели?
Командная панель — это контейнер верхнего уровня на форме, в котором размещаются кнопки и группы. Группа команд — элемент внутри командной панели (или другой группы), объединяющий несколько команд в подменю или блок кнопок.
Почему созданная группа не видна в режиме предприятия?
Наиболее вероятные причины: у всех команд внутри группы отключена видимость по функциональным опциям или правам, у самой группы снят флаг «Видимость», либо группа добавлена не в тот родительский элемент. Проверьте дерево элементов формы и свойства каждой команды.
Можно ли изменить группу команд без доработки конфигурации?
Частично. Пользователь может скрывать и перемещать кнопки через «Изменить форму», но создать новую группу или поменять её вид нельзя. Для полноценных изменений без правки типовой конфигурации используйте механизм расширений.
Как добавить команду в подменю «Печать» типовой конфигурации?
В типовых решениях на базе БСП печатные формы регистрируются в модуле менеджера печати объекта или через дополнительные отчеты и обработки. Прямая правка формы для этого не требуется и не рекомендуется.
Сохранятся ли программно созданные группы после закрытия формы?
Нет. Элементы, добавленные кодом, существуют только в текущем экземпляре формы и пересоздаются при каждом её открытии. Для постоянных элементов используйте редактор формы в конфигураторе или расширение.
Работают ли группы команд в обычных формах?
Механизм групп кнопок с видами «Подменю» и «Компактное отображение» относится к управляемым формам. В обычных формах используется собственная модель командных панелей и меню, и переносить описанные приёмы туда напрямую нельзя.
Что важно запомнить
Группа команд в 1С — это элемент управляемой формы «ГруппаКнопок», объединяющий команды в подменю, компактный или обычный блок. Создаётся в редакторе формы или программно, настраивается через свойства вида и отображения. Типовые группы лучше менять через расширения, а пользователю доступна только настройка видимости и порядка кнопок.