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

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

Как добавить пункт меню в 1С

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

Пункт меню в 1С может понадобиться в двух разных ситуациях: когда вы настраиваете интерфейс под себя в пользовательском режиме (например, выводите нужный документ в панель функций) и когда дорабатываете конфигурацию в конфигураторе — добавляете новый объект в подсистему или создаёте собственный раздел меню. Подходы в этих случаях принципиально различаются: первый не требует прав на изменение конфигурации, второй требует доступа к конфигуратору и понимания структуры метаданных.

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

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

Как устроено меню в 1С и что именно вы добавляете

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

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

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

Добавление пункта меню в пользовательском режиме без конфигуратора

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

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

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

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

Добавление пункта меню через конфигуратор: подсистемы

Когда требуется добавить в меню новый объект конфигурации (созданный документ, отчёт, обработку) или изменить саму структуру разделов, работа ведётся в конфигураторе. Потребуются права на изменение конфигурации и, для пользователей, обновление конфигурации базы данных.

Базовый сценарий выглядит так. Откройте конфигуратор, найдите в дереве конфигурации нужный объект (например, созданный документ). Вызовите его свойства или откройте ветку «Общие» → «Подсистемы». В свойствах подсистемы, в которую нужно добавить пункт, нажмите кнопку «Состав» и установите флажок напротив вашего объекта. После обновления конфигурации базы данных команда открытия объекта появится в панели функций соответствующего раздела автоматически.

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

Настройка командного интерфейса подсистемы

После включения объектов в подсистему откройте её свойства и нажмите «Командный интерфейс». Здесь управляется, какие команды видны пользователю и в каком порядке: снимайте флажки видимости с лишних команд, меняйте порядок, добавляйте команды в группы. Это позволяет убрать из меню технические объекты, которые не должны отвлекать пользователей, не исключая их из состава подсистемы.

Добавление пункта меню для внешней обработки или отчёта

Частая задача — вывести в меню внешнюю обработку или отчёт, не встраивая их в конфигурацию. В типовых конфигурациях с Библиотекой стандартных подсистем для этого есть механизм «Дополнительные отчеты и обработки». Включите его: «Администрирование» → «Печатные формы, отчеты и обработки» → установите флажок «Дополнительные отчеты и обработки».

Затем откройте одноимённый справочник, загрузите файл обработки или отчёта и в карточке элемента укажите разделы (подсистемы), в которых должен отображаться пункт. После записи команда появится в панели функций выбранных разделов — обычно в группе дополнительных команд или в подменю «Сервис»/«Отчёты» в зависимости от вида объекта. Это самый безопасный способ: конфигурация не изменяется, обновления не затрагиваются.

Особенности для обычных форм и старых конфигураций

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

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

Проверка результата и типичные ошибки

После любого способа добавления проверьте результат под учётной записью того пользователя, для которого делалась настройка, а не только под администратором. У администратора видны все команды, и проблемы с правами останутся незамеченными.

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

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

Пункт виден в меню раздела
Норма

Пункт отображается и открывает нужный объект

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

Пункт есть у администратора, но отсутствует у рядового пользователя — проблема с правами или ролями

Открытие объекта по пункту
Норма

Форма открывается без ошибок

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

Ошибка «Нарушение прав доступа» — у пользователя нет прав на объект

Поведение после обновления конфигурации
Норма

Пункт сохраняется

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

Пункт пропал — изменения были внесены в объект на поддержке и перезаписаны обновлением

Типичные ошибки
01
Редактирование состава подсистем типовой конфигурации напрямую — после обновления изменения теряются или мешают обновлению
02
Забытое обновление конфигурации базы данных (F7) — пункт не появляется, хотя в конфигураторе всё настроено
03
Проверка только под администратором — у обычных пользователей пункт не виден из-за ролей, и это обнаруживается поздно
04
Добавление объекта в подсистему без настройки командного интерфейса — в меню выводятся лишние технические команды
05
Назначение пользователю другого интерфейса в обычных формах — изменения меню не видны

Отдельная частая ситуация — пункт добавлен, но у пользователя не открывается объект с ошибкой доступа. Это означает, что видимость команды настроена, а роли на сам объект не выданы. Проверьте роли пользователя в конфигураторе или через профили групп доступа, если используется соответствующий механизм типовой конфигурации.

Итог

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

Меню в управляемом интерфейсе 1С строится из подсистем и их команд. Существующие команды выводятся настройкой панели функций в пользовательском режиме, новые объекты — включением в состав подсистемы в конфигураторе, внешние обработки — механизмом дополнительных отчётов и обработок. Для типовых конфигураций предпочитайте способы без изменения конфигурации или используйте расширение.

Частые вопросы

Почему добавленный пункт меню не виден у пользователя, хотя у администратора отображается?

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

Можно ли добавить пункт меню, не снимая типовую конфигурацию с поддержки?

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

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

В пользовательском режиме — через «Настроить панель функций»: выделите пункт и перемещайте его кнопками «Вверх»/«Вниз». В конфигураторе порядок команд настраивается в окне «Командный интерфейс» подсистемы, а порядок самих разделов — перемещением подсистем в дереве конфигурации.

Пункт меню исчез после обновления конфигурации. Что произошло?

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

Как добавить в меню пункт, открывающий внешнюю программу или файл?

Штатно команды меню открывают только объекты конфигурации. Для запуска внешнего приложения создайте в конфигураторе общую команду с обработчиком, использующим запуск приложения, или оформите вызов как внешнюю обработку и подключите её через механизм дополнительных отчётов и обработок. Учитывайте, что на серверном и веб-клиенте запуск локальных программ ограничен соображениями безопасности.

Можно ли переименовать существующий пункт меню?

Да, но только в конфигураторе или расширении: текст пункта берётся из синонима объекта или представления команды. Измените синоним объекта (или представление команды в командном интерфейсе подсистемы) — после обновления конфигурации базы данных пункт отобразится с новым названием. В пользовательском режиме переименование штатно не предусмотрено.