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