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