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

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

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

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

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

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

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

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

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

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

Если задача — дать пользователю быстрый доступ к отчёту или обработке, обычно достаточно панели функций. Если требуется новое действие внутри документа (например, «Заполнить по шаблону»), придётся работать с командной панелью формы.

Добавление кнопки в панель функций без программирования

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

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

Аналогично работает пункт «Настройка панели разделов» — он определяет, какие разделы вообще видны в программе. Учтите, что настройка панелей индивидуальна для каждого пользователя: изменения под одной учётной записью не применятся к остальным. Для централизованной настройки интерфейса всем пользователям нужно править командный интерфейс подсистем в конфигураторе.

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

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

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

В редакторе формы перейдите на вкладку «Команды» → «Команды формы» и нажмите «Добавить». Задайте имя команды (например, ЗаполнитьПоШаблону), заголовок — именно он отобразится на кнопке, при необходимости картинку и сочетание клавиш. В свойстве «Действие» нажмите кнопку с лупой — конфигуратор создаст заготовку обработчика в модуле формы.

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

bsl
&НаКлиенте
Процедура ЗаполнитьПоШаблону(Команда)
	ЗаполнитьПоШаблонуНаСервере();
	ЭтаФорма.Модифицированность = Истина;
КонецПроцедуры

&НаСервере
Процедура ЗаполнитьПоШаблонуНаСервере()
	Объект.Комментарий = "Заполнено по шаблону";
КонецПроцедуры

Программное создание кнопки на форме

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

Логика такая: сначала в коллекцию ЭтаФорма.Команды добавляется новая команда с указанием имени обработчика, затем в элементы формы добавляется кнопка с типом «Кнопка формы», родителем которой назначается командная панель. Кнопке присваивается созданная команда через свойство «ИмяКоманды».

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

Добавление кнопки через расширение конфигурации

Если конфигурация типовая и находится на поддержке, прямое изменение формы приведёт к снятию с поддержки и сложностям при обновлении. Правильный путь — расширение. В конфигураторе откройте «Конфигурация» → «Расширения конфигурации», создайте новое расширение и задайте ему имя и префикс.

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

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

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

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

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

Если кнопка не отображается, проверьте в редакторе формы, что элемент действительно находится внутри командной панели, а не вне видимой области. Если команда есть, но не работает, откройте модуль формы и убедитесь, что имя процедуры-обработчика совпадает с именем, указанным в свойстве «Действие» команды.

Итог

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

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

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

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

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

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

Настройка панелей в режиме «1С:Предприятие» индивидуальна для каждого пользователя. Если кнопка добавлена в конфигураторе, но не видна — проверьте права доступа к объекту и настройки видимости команды в командном интерфейсе подсистемы.

Как добавить кнопку в подменю «Ещё»?

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

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

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

Можно ли назначить кнопке картинку и горячие клавиши?

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

Как добавить кнопку сразу во все документы?

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