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

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

Как удалить кнопку из командной панели в 1С

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

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

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

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

Определите, откуда взялась кнопка

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

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

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

Удаляется выделением и клавишей Delete в редакторе формы

Кнопки нет в дереве, но она есть на формеСтандартная команда или команда объекта

Управляется через свойства формы и командный интерфейс

Кнопка появилась после установки расширенияЭлемент расширения

Удаляется вместе с расширением или отключается в нём

Кнопка есть только у части пользователейНастройка формы конкретного пользователя

Сбрасывается через «Изменить форму» или администрирование настроек

Удаление кнопки в конфигураторе через редактор формы

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

Выделите кнопку и нажмите Delete либо выберите «Удалить» в контекстном меню. Если у кнопки был связанный обработчик в модуле формы (процедура с директивой &НаКлиенте или &НаСервере), платформа предложит удалить и его — соглашайтесь, иначе останется «мёртвый» код. Если обработчик используется другими элементами, удалите только привязку, а процедуру оставьте.

После удаления сохраните форму (Ctrl+S) и обновите конфигурацию базы данных (F7). Затем запустите режим Предприятия и проверьте, что кнопка исчезла, а остальные функции формы работают как раньше.

Скрытие кнопки вместо удаления

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

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

Программное скрытие и удаление

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

&НаСервере

Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)

Кнопка = Элементы.Найти("ФормаОтправитьПоПочте");

Если Кнопка <> Неопределено Тогда

Кнопка.Видимость = Ложь;

КонецЕсли;

КонецПроцедуры

Обратите внимание на проверку через Элементы.Найти() перед обращением: если кнопку когда-нибудь переименуют или удалят в конфигураторе, код без проверки вызовет ошибку и форма не откроется. Полное программное удаление элемента выполняется через Элементы.Удалить(Элементы.ИмяКнопки), но применять его стоит только для динамически созданных кнопок — для статических достаточно видимости.

Удаление кнопки в типовой конфигурации через расширение

Если конфигурация типовая (1С:Бухгалтерия, Управление торговлей, УТ, ERP) и стоит на поддержке, прямое редактирование формы приведёт к снятию с поддержки и сложностям при обновлении. Правильный инструмент — расширение конфигурации.

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

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

Удаление кнопки пользователем через «Изменить форму»

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

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

Как выбрать подходящий способ

Сравнение способов

Удаление в редакторе формы

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

Скрытие через свойство «Видимость»

Универсальный безопасный вариант, кнопку легко вернуть. Не отключает горячие клавиши команды

Программное управление

Когда видимость зависит от роли, статуса или других условий. Требует проверки на Неопределено

Расширение конфигурации

Единственный корректный путь для типовых конфигураций на поддержке. Требует контроля после обновлений

«Изменить форму» в режиме Предприятия

Для персональной настройки без разработчика. Действует только на одного пользователя

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

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

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

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

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

Отображение кнопки
Норма

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

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

Кнопка видна части пользователей — изменена только персональная настройка

Открытие формы
Норма

Форма открывается без сообщений об ошибках

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

Ошибка обращения к элементу — в коде осталось обращение к удалённой кнопке

Работа остальных команд
Норма

Запись, проведение и прочие действия выполняются

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

Сломано смежное действие — удалён элемент, от которого зависела другая команда

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

Кнопка появилась снова после обновления конфигурации. Почему?

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

Можно ли удалить стандартную кнопку «Провести» или «Записать»?

Физически удалить стандартные команды платформы нельзя, но можно скрыть их через свойство «Видимость» в редакторе формы или программно. Учтите, что скрытие не отменяет сочетание клавиш и не запрещает действие — для запрета используйте роли и права доступа к объекту.

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

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

Кнопка есть на форме, но её нет в дереве элементов конфигуратора. Как её удалить?

Это стандартная команда платформы или команда объекта, добавляемая автоматически. Откройте палитру свойств командной панели или формы и проверьте источники команд, либо скройте кнопку программно через Элементы.Найти() с установкой Видимость = Ложь. Также проверьте, не добавлена ли кнопка расширением или внешней обработкой.

Что делать, если после удаления кнопки форма перестала открываться?

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

Можно ли вернуть удалённую кнопку?

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

Итог

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

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