Панель инструментов в 1С 8.3: где её взять и как собрать свою

· 9 мин

Содержание

Классической панели инструментов с кнопками, которую можно просто «включить галочкой», в управляемом интерфейсе 1С 8.3 нет. Её роль выполняют командные панели форм и панель действий в интерфейсе «Такси». Добавить на форму свою панель с кнопками можно в Конфигураторе, а пользователь без доступа к Конфигуратору может настроить только то, что разработчик оставил открытым.

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

Что в 1С считается панелью инструментов

Сначала определите, что вам нужно. От этого зависит, нужен ли Конфигуратор.

Что нужноГде это находитсяНужен Конфигуратор
Кнопки над списком или внутри документаКомандная панель формыДа, если нужны новые кнопки
Быстрые ссылки вверху окнаПанель действийНет, для личной настройки
Переход между разделамиПанель разделовНет
Кнопка «Заполнить», «Печать» в своей формеГруппа «Командная панель» на формеДа

Если вы только хотите вернуть «пропавшие» кнопки, начните с настройки формы самим пользователем (раздел про права ниже), а не с Конфигуратора.

Настройка панели в режиме «Такси»

В «Такси» общий каркас окна состоит из панели разделов, панели действий и панели инструментов самой формы (командная панель). Панель разделов и панель действий пользователь настраивает сам.

Порядок для пользователя:

  1. Откройте меню настроек (значок шестерёнки в правой верхней части окна).
  2. Выберите пункт настройки панели действий.
  3. Перенесите нужные команды из левого списка в правый и сохраните.

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

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

Команда, которой нет в командном интерфейсе подсистемы, на панели действий не появится. Если кнопка отсутствует, проверьте сначала этот список, а не код формы.

Режим 8.2 и классический вид

Старый вид интерфейса задаёт свойство конфигурации. В Конфигураторе откройте свойства корня конфигурации и найдите режим совместимости интерфейса: варианты «Такси», «Версия 8.2», «Версия 8.2 и Такси». Режим для пользователя можно переключить, если разработчик оставил вариант «Версия 8.2 и Такси».

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

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

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

Здесь работа в Конфигураторе. Пример: нужна своя кнопка «Заполнить по шаблону» в форме обработки.

  1. Откройте нужную форму: в дереве конфигурации найдите объект, его раздел «Формы», двойной клик по форме.
  2. Откроется редактор формы. Слева сверху вкладки «Элементы», «Реквизиты», «Команды», «Параметры».
  3. На вкладке «Элементы» нажмите правой кнопкой по корню формы и выберите добавление группы. Нужна «Командная панель» (вид группы — командная панель).
  4. В свойствах группы задайте имя, например КоманднаяПанельШаблона, а заголовок оставьте пустым, если подпись не нужна.
  5. Перенесите группу туда, где она должна стоять, — перетаскиванием на нужное место в иерархии элементов.

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

Если нужно, чтобы стандартные команды остались, а ваша кнопка добавилась рядом, лучше не трогать автоматическую панель, а добавить кнопку в уже существующую группу. Для этого достаточно перетащить команду из вкладки «Команды» в нужную группу на вкладке «Элементы».

Свои команды и кнопки

Кнопка — это элемент формы, который ссылается на команду. Сначала создаётся команда, потом кнопка.

Создание команды

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

Простейший пример обработчика:

&НаКлиенте
Процедура ЗаполнитьПоШаблону(Команда)
    ПоказатьПредупреждение(, "Команда выполнена");
КонецПроцедуры

Для реальной задачи обращение к серверу выносят в отдельную процедуру &НаСервере и вызывают её из клиентской: так делает типовой код.

Размещение кнопки

Перетащите команду с вкладки «Команды» на вкладку «Элементы» в нужную группу. Платформа создаст кнопку. У кнопки полезно сразу задать:

  • Картинку — из библиотеки стандартных картинок или собственной.
  • Отображение — только картинка, только текст или оба варианта.
  • Подсказку — короткий текст при наведении.
  • Сочетание клавиш, если действие частое.

Для кнопок над списком хватит картинки и подсказки: так панель короче и не прыгает при изменении ширины окна.

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

Группировка и порядок элементов

Если кнопок больше пяти-шести, их стоит разбить на группы. Это удобно и в готовой форме, и при настройке самим пользователем.

Что есть в арсенале:

  • 📂 Обычная группа внутри командной панели — объединяет кнопки вертикально или горизонтально.
  • 🔽 Подменю — выпадающий список. Подходит для редких команд (выгрузка, служебные действия).
  • 🔀 Группа-разделитель (элемент «Декорация» или специальный вид группы) — визуально отделяет связанные действия.
  • ⭐ Кнопка по умолчанию — выделяется цветом, обычно это главное действие формы.

Порядок задаётся положением в дереве элементов: выше в списке — левее на панели. Чтобы сдвинуть кнопку, используйте стрелки в панели редактора или перетащите элемент.

Правила, которые экономят время при поддержке:

  1. Главное действие — первое слева и единственное с выделением.
  2. Опасные действия (очистка, удаление) уберите в подменю, а не рядом с «Записать».
  3. Имена групп начинайте с общего префикса, чтобы их было видно в дереве элементов и в коде.

Видимость и права доступа

Показ кнопки зависит от нескольких слоёв. Каждый слой убирает кнопку по-своему, поэтому при отладке проверяйте их в таком порядке.

СлойГде настраиваетсяКогда кнопка исчезает
Свойство «Видимость» элементаРедактор формыВыключено в свойствах или в коде
Функциональная опцияСвойство командыОпция отключена в настройках программы
РолиСвойства команды, вкладка правУ пользователя нет прав на команду
Командный интерфейс подсистемыКонфигурация → ПодсистемыКоманду не включили в подсистему

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

Скрыть кнопку из кода можно при открытии формы:

&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
    Элементы.ЗаполнитьПоШаблону.Видимость = ПравоДоступа("Изменение", Метаданные.Справочники.Номенклатура);
КонецПроцедуры

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

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

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

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

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

  1. В Конфигураторе откройте Конфигурация → Расширения конфигурации и создайте новое расширение.
  2. Добавьте в него нужную форму: «Добавить в расширение» из контекстного меню объекта, затем форму.
  3. Откройте форму в расширении. Здесь доступны те же вкладки «Элементы» и «Команды», что и в обычной форме.
  4. Добавьте команду и кнопку, как описано выше. Обработчик команды пишется в модуле формы расширения.
  5. Сохраните расширение и обновите конфигурацию базы данных.

Типовые элементы формы в расширении можно скрыть или переставить, но не удалить. Это нормально: при обновлении типовой конфигурации расширение продолжит работать, пока исходные элементы остались на месте.

Если кнопка не появилась
Выполнено: 0 / 5

Как проверить результат перед выдачей пользователям

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

Что проверить по порядку:

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

Если у вас несколько пользовательских ролей, пройдите проверку под каждой. Расхождения по ролям — самая частая причина жалоб «у меня есть, а у коллеги нет».

Типичные ошибки

  • Кнопка есть в Конфигураторе, но не появилась в программе. Вы забыли обновить конфигурацию базы данных или запускаете не ту информационную базу. Нажмите F7 в Конфигураторе или запустите «Отладка → Начать отладку».
  • Кнопка нажимается, ничего не происходит. У команды не указано действие либо процедура объявлена без директивы &НаКлиенте. Проверьте свойство «Действие».
  • Панель дублирует стандартные команды. У группы включено автоматическое заполнение, а вы добавили те же команды вручную. Отключите автозаполнение либо уберите ручные кнопки.
  • В типовой конфигурации нельзя изменить форму. Конфигурация стоит на поддержке с запретом изменений. Для такой базы делают расширение конфигурации и меняют форму в нём. Расширения появились в платформе 8.3.6, а загрузка файла .cfe и «Обновить конфигурацию БД» — отдельные шаги.
  • Кнопка видна одному пользователю и не видна другому. Сравните роли и сохранённую персональную настройку формы: пользователь мог скрыть кнопку сам.

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

Можно ли вернуть панель инструментов, как в 7.7?
Нет. В 8.3 привычные панели 7.7 заменены командными панелями форм и панелью действий. Похожее поведение возможно только в режиме совместимости интерфейса 8.2, но для типовых конфигураций он не рекомендуется.
Нужен ли Конфигуратор, чтобы изменить панель?
Для личной настройки панели действий и разделов нет, это делает пользователь из меню настроек. Новые кнопки и команды без Конфигуратора не создать.
Как добавить панель в типовую конфигурацию на поддержке?
Через расширение конфигурации. Оно не снимает базу с поддержки, и форма меняется без правки типового кода.
Почему кнопка не поместилась на панель?
Платформа переносит лишние кнопки в меню «Ещё». Сократите число кнопок, уберите подписи у частых команд, оставив картинку, или вынесите редкие действия в подменю.
Можно ли добавить кнопку, которая откроет внешнюю обработку?
Да, через механизм дополнительных отчётов и обработок: в разделе администрирования подключается обработка, и команда появляется в нужной форме. Конкретное размещение зависит от конфигурации.