Новая команда в навигации 1С: через настройки и в конфигураторе

· 9 мин

Содержание

Кнопку в панель навигации 1С добавляют двумя способами. Если нужен уже существующий раздел или список, откройте Главное меню → Вид → Настройка навигации и перетащите команду в нужную группу. Если команды в системе нет совсем, её создают в конфигураторе как общую команду и размещают в командном интерфейсе подсистемы.

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

Что такое панель навигации и чем она отличается от соседних панелей

В «Такси» команды живут в нескольких местах, и путаница между ними — главная причина вопроса «куда делась кнопка».

ЭлементГде находитсяЧто содержит
Панель разделовВерхняя часть окнаПодсистемы верхнего уровня
Панель навигацииСлева в окне разделаСписки, справочники, документы раздела
Панель действийСправа вверху разделаСоздание, отчёты, сервис
Навигация формыЛевая часть или верх формы объектаСвязанные списки и команды объекта

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

Для конфигуратора это значит: команда не «висит» сама по себе. Она всегда принадлежит подсистеме и попадает в одну из групп. Нет подсистемы — нет и кнопки.

Настройка навигации без программиста

Этот способ меняет только отображение. Команда должна уже существовать и быть доступной вашей роли.

  1. Откройте нужный раздел в панели разделов.
  2. Зайдите в Главное меню → Вид → Настройка навигации.
  3. В левом списке выберите команду, в правом — группу назначения.
  4. Нажмите кнопку добавления, при необходимости сдвиньте команду стрелками.
  5. Подтвердите изменения кнопкой ОК.

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

Настройка хранится для пользователя. Коллеге ваши изменения не видны. Вернуть заводской вид можно кнопкой сброса в том же окне.

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

Создание команды в конфигураторе

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

Шаг 1. Общая команда

В дереве конфигурации откройте ветку Общие → Общие команды, нажмите Добавить. Заполните:

  • Имя — без пробелов, например ОткрытьОбработкуЗагрузки;
  • Синоним — то, что увидит пользователь на кнопке;
  • Группа — место команды. Для панели навигации выбирают одно из значений группы навигации (обычное, важное, «См. также»);
  • Тип параметра команды — оставьте пустым, если команда работает сама по себе, и укажите тип, если она должна принимать выбранный объект;
  • Картинка — по желанию.

Шаг 2. Модуль команды

Откройте модуль команды. В нём одна процедура:

&НаКлиенте
Процедура ОбработкаКоманды(ПараметрКоманды, ПараметрыВыполненияКоманды)
    ОткрытьФорму("Обработка.ЗагрузкаДанных.Форма", , ПараметрыВыполненияКоманды.Источник, ПараметрыВыполненияКоманды.Уникальность, ПараметрыВыполненияКоманды.Окно);
КонецПроцедуры

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

Шаг 3. Размещение в подсистеме

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

Запустите 1С:Предприятие из конфигуратора и проверьте раздел. Для отладки удобно открыть базу под учётной записью с полными правами.

Параметры команды и свойства, которые меняют поведение

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

СвойствоНа что влияет
ГруппаПанель навигации, панель действий, группа внутри неё
Тип параметра командыДля каких объектов команда доступна; пустой — для любых случаев вызова без объекта
Режим использования параметраОдно значение или несколько выделенных
Функциональные опцииКоманда пропадает, если опция выключена
Изменяет данныеПризнак для проверки режима «только чтение»

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

Не называйте команды именами типовых объектов. Имя общей команды уникально в пределах конфигурации, и конфликт заметите только при сохранении.

Кнопка в навигации формы

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

  1. Откройте нужную форму в конфигураторе.
  2. На вкладке Команды создайте команду формы и привяжите к ней действие, то есть процедуру на клиенте.
  3. Перейдите на вкладку Командный интерфейс формы.
  4. В разделе панели навигации добавьте свою команду в нужную группу.

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

Порядок, группы и значки: мелочи, которые влияют на удобство

Кнопки в панели навигации читают сверху вниз, поэтому порядок важен. Что стоит учесть:

  • ⭐ в «Важное» отправляйте только то, чем пользуются каждый день. Если там десять команд, группа перестаёт выделяться;
  • 📌 в «См. также» кладите редкие и справочные команды;
  • 🖼️ картинка нужна не везде: в панели навигации она не обязательна, а в панели действий делает кнопку заметнее;
  • ✏️ синоним пишите как действие или как объект («Загрузка выписок», «Заявки на оплату»), без служебных слов вроде «Команда» и «Обработка».

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

Права и видимость: почему кнопку видит не каждый

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

  • Роль. У общей команды есть право Просмотр. Без него роль команду не увидит, а администратор всё ещё увидит. Типичная картина: «у меня есть, у бухгалтера нет».
  • Подсистема. Если у роли нет права на саму подсистему, раздел не появится в панели разделов.
  • Функциональная опция. Выключенная опция скрывает команду у всех.
  • Объект внутри команды. Кнопка может быть видна, а открываемая обработка нет: пользователь получит сообщение об отсутствии права.

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

Типовая конфигурация и расширение

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

Через расширение конфигурации то же самое делается без снятия с поддержки:

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

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

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

Перед выкладкой кнопки в рабочую базу
Выполнено: 0 / 4

Мини-кейс: кнопка «Загрузка выписок» в разделе банка

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

Порядок действий такой:

  1. Создаём в расширении общую команду ЗагрузкаВыписокБыстро с синонимом «Загрузка выписок».
  2. Группу ставим «Важное», чтобы кнопка стояла выше остальных, а тип параметра оставляем пустым.
  3. В модуле команды открываем форму обработки процедурой ОткрытьФорму, как в примере выше.
  4. В роли бухгалтера выдаём право Просмотр на эту команду, остальным ролям не даём.
  5. В заимствованной подсистеме банка включаем команду в панели навигации.

Расширение при этом остаётся отдельным файлом: его можно отключить одним действием, если команда окажется ненужной.

Результат: у бухгалтера кнопка вверху списка, у остальных пользователей панель выглядит как раньше. Проверить это просто: войдите под разными ролями и сравните.

Когда кнопку добавлять не нужно

Не каждая задача решается новой командой. Подумайте дважды, если:

  • нужный список уже есть в разделе, просто скрыт в «См. также». Достаточно поднять его выше через настройку навигации;
  • кнопка нужна одному человеку на неделю. Хватит избранного: добавьте ссылку на форму в избранное и забудьте;
  • команда вызывает действие, которое меняет много данных. Такие кнопки лучше прятать в менее заметные места и сопровождать подтверждением, иначе их нажмут случайно;
  • вы собираетесь править типовой модуль ради одной кнопки. Расширение дешевле в сопровождении.

Избранное тоже можно использовать как лёгкую альтернативу: оно хранится у пользователя и не требует прав на конфигурацию.

Если кнопка не появилась

Диагностика: выберите симптом

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

Можно ли поменять порядок кнопок в панели навигации?
Да. В окне настройки навигации выберите команду и сдвиньте стрелками внутри группы. Между группами команду переносят отдельным действием.
Нужно ли перезапускать 1С после добавления команды?
Для настройки пользователя достаточно закрыть окно настроек. После изменения конфигурации или расширения перезапустите клиент.
Почему у коллеги тот же раздел, но без моей кнопки?
Личные настройки не передаются. Если кнопка нужна всем, оформите её в конфигурации и проверьте права ролей.
Как открыть через кнопку внешнюю обработку?
Если обработка входит в конфигурацию, команда открывает её форму методом `ОткрытьФорму`. Внешний файл в конфигурацию не вшит, поэтому для него используют механизм дополнительных отчётов и обработок, а не общую команду.
Можно ли добавить кнопку без программирования?
Только из уже существующих команд. Для новой функции нужна хотя бы минимальная процедура в модуле команды.