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