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