Панель инструментов в 1С 8.3: где её взять и как собрать свою
Содержание
Классической панели инструментов с кнопками, которую можно просто «включить галочкой», в управляемом интерфейсе 1С 8.3 нет. Её роль выполняют командные панели форм и панель действий в интерфейсе «Такси». Добавить на форму свою панель с кнопками можно в Конфигураторе, а пользователь без доступа к Конфигуратору может настроить только то, что разработчик оставил открытым.
Ниже: что именно у вас называется «панелью инструментов», как создать командную панель , привязать к кнопке команду, разложить кнопки по группам и ограничить их показ по ролям. Все примеры — для платформы 8.3 с интерфейсом «Такси».
Что в 1С считается панелью инструментов
Сначала определите, что вам нужно. От этого зависит, нужен ли Конфигуратор.
| Что нужно | Где это находится | Нужен Конфигуратор |
|---|---|---|
| Кнопки над списком или внутри документа | Командная панель формы | Да, если нужны новые кнопки |
| Быстрые ссылки вверху окна | Панель действий | Нет, для личной настройки |
| Переход между разделами | Панель разделов | Нет |
| Кнопка «Заполнить», «Печать» в своей форме | Группа «Командная панель» на форме | Да |
Если вы только хотите вернуть «пропавшие» кнопки, начните с настройки формы самим пользователем (раздел про права ниже), а не с Конфигуратора.
Настройка панели в режиме «Такси»
В «Такси» общий каркас окна состоит из панели разделов, панели действий и панели инструментов самой формы (командная панель). Панель разделов и панель действий пользователь настраивает сам.
Порядок для пользователя:
- Откройте меню настроек (значок шестерёнки в правой верхней части окна).
- Выберите пункт настройки панели действий.
- Перенесите нужные команды из левого списка в правый и сохраните.
Аналогично устроена настройка панели разделов : выбираете, какие разделы показывать и в каком порядке.
Разработчик управляет тем же через командный интерфейс подсистемы. В Конфигураторе: Конфигурация → Подсистемы → нужная подсистема → Командный интерфейс. Здесь команда ставится в одну из групп панели навигации или панели действий. Группы называются «Важное», «Обычное», «См. также» — от них зависит порядок и заметность.
Команда, которой нет в командном интерфейсе подсистемы, на панели действий не появится. Если кнопка отсутствует, проверьте сначала этот список, а не код формы.
Режим 8.2 и классический вид
Старый вид интерфейса задаёт свойство конфигурации. В Конфигураторе откройте свойства корня конфигурации и найдите режим совместимости интерфейса: варианты «Такси», «Версия 8.2», «Версия 8.2 и Такси». Режим для пользователя можно переключить, если разработчик оставил вариант «Версия 8.2 и Такси».
Если вы работаете в режиме 8.2, меню и панели привязаны к главному окну: меню называется «Разделы», вверху — панель разделов с командами. Для новых конфигураций типового ряда (Бухгалтерия, ЗУП, УТ) режим «Такси» — штатный, и именно под него есть все современные инструкции. Переключать готовую типовую конфигурацию на 8.2 ради панели инструментов не стоит: часть форм после этого выглядит иначе, а поддержка типовых обновлений усложняется.
Свойства конфигурации типовой базы на поддержке менять нельзя без снятия с поддержки. Сначала оцените, нужно ли это вам.
Как добавить командную панель на форму
Здесь работа в Конфигураторе. Пример: нужна своя кнопка «Заполнить по шаблону» в форме обработки.
- Откройте нужную форму: в дереве конфигурации найдите объект, его раздел «Формы», двойной клик по форме.
- Откроется редактор формы. Слева сверху вкладки «Элементы», «Реквизиты», «Команды», «Параметры».
- На вкладке «Элементы» нажмите правой кнопкой по корню формы и выберите добавление группы. Нужна «Командная панель» (вид группы — командная панель).
- В свойствах группы задайте имя, например
КоманднаяПанельШаблона, а заголовок оставьте пустым, если подпись не нужна. - Перенесите группу туда, где она должна стоять, — перетаскиванием на нужное место в иерархии элементов.
У каждой формы уже есть автоматическая командная панель. Она создаётся платформой и включена по умолчанию. Проверить это можно в свойствах формы: свойство «Автоматическое создание команд» и корневая командная панель формы. Чтобы собрать собственную панель, отключите автозаполнение у нужной группы: в её свойствах снимите флажок, который отвечает за автоматическое заполнение командами.
Если нужно, чтобы стандартные команды остались, а ваша кнопка добавилась рядом, лучше не трогать автоматическую панель, а добавить кнопку в уже существующую группу. Для этого достаточно перетащить команду из вкладки «Команды» в нужную группу на вкладке «Элементы».
Свои команды и кнопки
Кнопка — это элемент формы, который ссылается на команду. Сначала создаётся команда, потом кнопка.
Создание команды
- Перейдите на вкладку «Команды» редактора формы.
- Нажмите «Добавить», задайте имя (
ЗаполнитьПоШаблону) и заголовок (то, что увидит пользователь). - В свойстве «Действие» нажмите на лупу и создайте процедуру обработчика. Платформа предложит клиентскую процедуру в модуле формы.
- Внутри процедуры напишите код действия.
Простейший пример обработчика:
&НаКлиенте
Процедура ЗаполнитьПоШаблону(Команда)
ПоказатьПредупреждение(, "Команда выполнена");
КонецПроцедуры
Для реальной задачи обращение к серверу выносят в отдельную процедуру &НаСервере и вызывают её из клиентской: так делает типовой код.
Размещение кнопки
Перетащите команду с вкладки «Команды» на вкладку «Элементы» в нужную группу. Платформа создаст кнопку. У кнопки полезно сразу задать:
- Картинку — из библиотеки стандартных картинок или собственной.
- Отображение — только картинка, только текст или оба варианта.
- Подсказку — короткий текст при наведении.
- Сочетание клавиш, если действие частое.
Для кнопок над списком хватит картинки и подсказки: так панель короче и не прыгает при изменении ширины окна.
После изменения формы сохраните конфигурацию и запустите 1С в режиме предприятия через меню «Отладка». Кнопка появится в вашей командной панели.
Группировка и порядок элементов
Если кнопок больше пяти-шести, их стоит разбить на группы. Это удобно и в готовой форме, и при настройке самим пользователем.
Что есть в арсенале:
- 📂 Обычная группа внутри командной панели — объединяет кнопки вертикально или горизонтально.
- 🔽 Подменю — выпадающий список. Подходит для редких команд (выгрузка, служебные действия).
- 🔀 Группа-разделитель (элемент «Декорация» или специальный вид группы) — визуально отделяет связанные действия.
- ⭐ Кнопка по умолчанию — выделяется цветом, обычно это главное действие формы.
Порядок задаётся положением в дереве элементов: выше в списке — левее на панели. Чтобы сдвинуть кнопку, используйте стрелки в панели редактора или перетащите элемент.
Правила, которые экономят время при поддержке:
- Главное действие — первое слева и единственное с выделением.
- Опасные действия (очистка, удаление) уберите в подменю, а не рядом с «Записать».
- Имена групп начинайте с общего префикса, чтобы их было видно в дереве элементов и в коде.
Видимость и права доступа
Показ кнопки зависит от нескольких слоёв. Каждый слой убирает кнопку по-своему, поэтому при отладке проверяйте их в таком порядке.
| Слой | Где настраивается | Когда кнопка исчезает |
|---|---|---|
| Свойство «Видимость» элемента | Редактор формы | Выключено в свойствах или в коде |
| Функциональная опция | Свойство команды | Опция отключена в настройках программы |
| Роли | Свойства команды, вкладка прав | У пользователя нет прав на команду |
| Командный интерфейс подсистемы | Конфигурация → Подсистемы | Команду не включили в подсистему |
Права на команды задаются в ролях: в свойствах роли найдите объект «Общие команды» или саму форму, дальше установите право на просмотр. Для команды, привязанной к объекту (документу, справочнику), действует право на этот объект.
Скрыть кнопку из кода можно при открытии формы:
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
Элементы.ЗаполнитьПоШаблону.Видимость = ПравоДоступа("Изменение", Метаданные.Справочники.Номенклатура);
КонецПроцедуры
Пример рабочий: кнопка видна, только если у пользователя есть право изменять справочник «Номенклатура». Подставьте свой объект метаданных.
Отдельно для пользователя: в форме списка или документа выберите «Ещё», затем «Изменить форму». Откроется окно, где можно скрыть или показать кнопки командной панели, поменять их порядок. Настройка сохраняется для этого пользователя и не затрагивает остальных. Если пункта нет, администратор мог запретить изменение форм в профиле пользователя.
Если кнопка не видна всем пользователям, начните с командного интерфейса и функциональных опций, а не с кода формы. Код обычно ни при чём.
Панель в типовой конфигурации через расширение
Если база на поддержке, править форму прямо в конфигурации не стоит: следующее обновление затрёт или осложнит изменения. Правильный путь — расширение конфигурации .
- В Конфигураторе откройте
Конфигурация → Расширения конфигурациии создайте новое расширение. - Добавьте в него нужную форму: «Добавить в расширение» из контекстного меню объекта, затем форму.
- Откройте форму в расширении. Здесь доступны те же вкладки «Элементы» и «Команды», что и в обычной форме.
- Добавьте команду и кнопку, как описано выше. Обработчик команды пишется в модуле формы расширения.
- Сохраните расширение и обновите конфигурацию базы данных.
Типовые элементы формы в расширении можно скрыть или переставить, но не удалить. Это нормально: при обновлении типовой конфигурации расширение продолжит работать, пока исходные элементы остались на месте.
Как проверить результат перед выдачей пользователям
Прежде чем выкладывать изменения в рабочую базу, проверьте их на копии. Скопируйте базу или возьмите тестовую, запустите её от имени пользователя с обычной ролью, а не администратора. Именно так вы увидите, пропали ли кнопки из-за прав.
Что проверить по порядку:
- кнопка отображается в нужной форме и в нужном месте панели;
- подсказка и картинка читаются на обычном размере окна;
- при узком окне лишние кнопки уходят в «Ещё», а главное действие остаётся на виду;
- действие команды отрабатывает без ошибок на реальных данных;
- пользователь без права на объект кнопку не видит или не может ею воспользоваться.
Если у вас несколько пользовательских ролей, пройдите проверку под каждой. Расхождения по ролям — самая частая причина жалоб «у меня есть, а у коллеги нет».
Типичные ошибки
- Кнопка есть в Конфигураторе, но не появилась в программе. Вы забыли обновить конфигурацию базы данных или запускаете не ту информационную базу. Нажмите F7 в Конфигураторе или запустите «Отладка → Начать отладку».
- Кнопка нажимается, ничего не происходит. У команды не указано действие либо процедура объявлена без директивы
&НаКлиенте. Проверьте свойство «Действие». - Панель дублирует стандартные команды. У группы включено автоматическое заполнение, а вы добавили те же команды вручную. Отключите автозаполнение либо уберите ручные кнопки.
- В типовой конфигурации нельзя изменить форму. Конфигурация стоит на поддержке с запретом изменений. Для такой базы делают расширение конфигурации и меняют форму в нём. Расширения появились в платформе 8.3.6, а загрузка файла
.cfeи «Обновить конфигурацию БД» — отдельные шаги. - Кнопка видна одному пользователю и не видна другому. Сравните роли и сохранённую персональную настройку формы: пользователь мог скрыть кнопку сам.