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