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

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

Как вывести кнопку на панель в 1С

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

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

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

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

Какие панели есть в 1С и куда можно вывести кнопку

Прежде чем что-то настраивать, определите, о какой панели идёт речь. В управляемом интерфейсе «Такси» их несколько, и механизм добавления кнопки у каждой свой:

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

Если нужно вывести кнопку отчёта или обработки «на панель» в разделе — работайте с командным интерфейсом подсистемы. Если кнопка должна выполнять действие над конкретным документом — добавляйте команду на форму. Эти два сценария разобраны ниже пошагово.

Вывод кнопки в раздел через настройку интерфейса (без конфигуратора)

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

Порядок действий в режиме «Предприятие»:

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

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

Добавление команды в командный интерфейс подсистемы

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

Чтобы вывести, например, кнопку отчёта в раздел «Отчёты»:

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

Учтите: объект должен входить в состав подсистемы. Если отчёта нет в списке команд подсистемы, сначала откройте свойства самого отчёта и на закладке «Подсистемы» отметьте нужные разделы.

Вывод кнопки на командную панель формы

Когда кнопка должна выполнять действие над открытым объектом — например, запустить обработку заполнения или вызвать свою печатную форму — команду добавляют непосредственно на форму. Есть два пути: стандартная команда объекта и произвольная команда формы.

Стандартная команда объекта

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

Произвольная команда формы

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

  1. Откройте форму в конфигураторе, перейдите на закладку «Команды» → «Команды формы» и добавьте новую команду, например ЗаполнитьЦены.
  2. В свойствах команды задайте заголовок — это текст на кнопке.
  3. В поле «Действие» создайте обработчик: платформа сгенерирует процедуру &НаКлиенте в модуле формы.
  4. Перетащите команду из панели команд в дерево элементов формы — в ветку командной панели или в группу кнопок.
  5. В свойствах кнопки при необходимости задайте картинку, отображение (надпись, картинка или оба варианта) и свойство «Важность».
bsl
&НаКлиенте
Процедура ЗаполнитьЦены(Команда)
	ЗаполнитьЦеныНаСервере();
	Элементы.Товары.Обновить();
КонецПроцедуры

&НаСервере
Процедура ЗаполнитьЦеныНаСервере()
	// серверная логика заполнения
КонецПроцедуры

Помните про контекст: клиентский обработчик не имеет доступа к запросам и данным СУБД, поэтому тяжёлую логику выносите в серверную процедуру. Если кнопка должна быть доступна без открытия формы — это признак того, что команду нужно размещать в командном интерфейсе подсистемы, а не на форме.

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

Вывод кнопки обработки или отчёта через «Дополнительные отчеты и обработки»

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

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

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

После обновления конфигурации откройте «Предприятие» и убедитесь, что кнопка видна именно там, где планировалось, и выполняет нужное действие. Проверьте её под пользователем с ограниченными правами — команда, видимая администратору, может быть скрыта у менеджера из-за прав доступа.

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

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

Кнопка в разделе
Норма

Команда видна в панели функций раздела у всех пользователей с правами

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

Кнопка есть только у администратора — проверьте роли и права на объект

Кнопка на форме
Норма

Кнопка отображается в командной панели и выполняет обработчик без ошибок

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

Кнопка серая или отсутствует — команда не перенесена в дерево элементов или нет обработчика

После обновления
Норма

Кнопка остаётся на месте после обновления конфигурации БД

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

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

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

Что делать, если кнопка не появляется

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

Отдельный случай — кнопка есть, но нажатие ничего не даёт или вызывает ошибку. Тогда проверяйте обработчик команды: не пустая ли процедура, не обращается ли клиентский код к серверным данным напрямую. Ошибки выполнения смотрите в журнале регистрации и через отладчик (точка останова в обработчике команды).

Итог

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

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

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

Можно ли вывести кнопку на панель без конфигуратора?

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

Почему кнопка видна администратору, но не видна менеджеру?

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

Как вывести кнопку в подменю «Печать» документа?

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

Кнопка появилась, но серая и не нажимается. В чём причина?

Чаще всего команда не привязана к обработчику (пустое поле «Действие») либо у кнопки не задано свойство «ИмяКоманды». Также проверьте условия доступности: например, параметризуемая команда недоступна, пока не выбрана строка в таблице.

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

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

Пропадёт ли кнопка после обновления типовой конфигурации?

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