Командный интерфейс в конфигураторе 1С: разделы, команды, права
Содержание
Добавили в конфигурацию новый справочник, зашли под пользователем, а в меню его нет. Разработчик открывает конфигуратор и понимает: объект создан, но в командный интерфейс он не попал. Так бывает почти всегда, потому что платформа не показывает объект сама. Пункты меню собираются из подсистем, команд и прав.
Чтобы добавить пункт или раздел, нужно включить объект в состав подсистемы, при необходимости создать для него команду и выдать роли право на просмотр. Ниже этот путь разобран шаг за шагом для платформы 8.3 с интерфейсом «Такси».
Речь о работе в конфигураторе. Если вам нужно просто переставить разделы и убрать лишнее на своём рабочем месте, переходите к разделу про пользовательские настройки.
Из чего собирается командный интерфейс
Командный интерфейс состоит из четырёх частей. Каждая отвечает за своё место на экране.
| Часть | Где видна | Чем управляется |
|---|---|---|
| Панель разделов | Верхняя полоса или левая колонка | Подсистемы первого уровня |
| Панель навигации | Слева под разделом | Подсистема и команды в её составе |
| Панель действий | Сверху в разделе | Подсистема и команды в её составе |
| Командный интерфейс формы | Внутри окна объекта | Свойства команд формы |
Команда — это то, что пользователь нажимает: открыть список, сформировать отчёт, запустить обработку. Подсистема — это контейнер, который группирует объекты. Раздел в интерфейсе — подсистема верхнего уровня, а вложенные подсистемы превращаются в группы внутри панели навигации.
Откуда берутся команды:
- 📂 у справочников, документов, журналов и отчётов команды открытия списка создаются автоматически, ничего писать не нужно;
- 🧩 общие команды вы создаёте сами в ветке
Общие → Общие команды; - 📝 команды формы живут внутри конкретной формы.
Первое, что стоит запомнить: для объектов метаданных достаточно положить их в подсистему. Отдельная команда нужна только для нестандартных действий.
Создание разделов и подсистем
Разделы и группы создаются одним и тем же объектом. Меняется только уровень вложенности.
- В дереве конфигурации раскройте
Общие → Подсистемы. - Нажмите правой кнопкой на ветке «Подсистемы» и выберите добавление. Для вложенной группы добавляйте подсистему внутри уже созданной.
- Задайте имя и синоним. Синоним увидит пользователь, поэтому пишите его по-человечески: «Склад», а не «СкладскойУчёт».
- Проверьте флажок «Включать в командный интерфейс». Если он снят, подсистема есть в конфигурации, но в меню её нет.
- Выберите картинку. Для горизонтальной панели разделов она важна: без неё раздел выглядит как пустая кнопка.
- Откройте состав подсистемы и отметьте объекты, которые должны в неё входить.
Один объект можно включить в несколько подсистем. Справочник «Контрагенты» нормально живёт и в «Продажах», и в «Закупках». Он появится в обоих разделах, а открывается одна и та же форма.
Подсистемы не дают доступ к данным. Если объект лежит в составе, но у роли нет права просмотра, пользователь его не увидит.
Порядок разделов и группировка
Порядок разделов задаётся в окне командного интерфейса корня конфигурации. Его открывают из контекстного меню ветки «Подсистемы». Там же можно передвинуть раздел вверх или вниз стрелками.
Группировка внутри раздела устроена так:
- 🔹 вложенные подсистемы становятся заголовками групп в панели навигации;
- 🔹 внутри группы пункты идут в порядке, который вы зададите в окне командного интерфейса этой подсистемы;
- 🔹 пустая подсистема, где нет ни одного доступного объекта, в меню не отображается.
Последний пункт часто сбивает с толку. Создали раздел, ничего в него не положили, а он не появился. Это нормальное поведение.
Панель навигации: как добавить команду в раздел
Откройте подсистему двойным щелчком, а в её окне нажмите кнопку «Командный интерфейс». Откроется редактор с двумя вкладками: панель навигации и панель действий. В каждой есть группы.
Группы панели навигации:
| Группа | Для чего |
|---|---|
| Важное | Основные списки, с которыми работают каждый день |
| Обычное | Остальные списки и справочники |
| См. также | Редко нужное: настройки, служебные обработки |
Чтобы поставить команду на панель:
- Откройте редактор командного интерфейса нужной подсистемы.
- В левой части найдите команду. Если её нет в списке, значит объект не включён в состав подсистемы (см. шаг 6 выше).
- Перетащите команду в нужную группу правой части или отметьте её флажком.
- Расставьте порядок стрелками. Самые частые списки поднимайте в «Важное».
- Сохраните и запустите конфигурацию в режиме отладки:
F5.
Если команда вам не нужна в разделе, достаточно снять флажок. Объект при этом останется в составе подсистемы.
Общая команда для нескольких разделов
Когда одно действие нужно в разных местах, заводят общую команду.
Общие → Общие команды → Добавить.- В свойствах укажите группу: например, панель навигации или панель действий, раздел «Важное» или «Обычное».
- В свойстве «Тип параметра команды» выберите тип объектов, к которым команда применима. Для команды «без контекста» оставьте пустым.
- Откройте модуль команды и напишите обработчик.
- Включите команду в состав нужных подсистем и добавьте в их командный интерфейс.
Минимальный обработчик, который открывает список контрагентов:
&НаКлиенте
Процедура ОбработкаКоманды(ПараметрКоманды, ПараметрыВыполненияКоманды)
ОткрытьФорму("Справочник.Контрагенты.ФормаСписка");
КонецПроцедуры
Если параметр команды задан, в ПараметрКоманды придёт ссылка (или массив ссылок) на выбранные объекты. Так делают, например, команду «Распечатать» для списка документов.
Панель действий и контекстное меню
Панель действий — полоса вверху раздела. Туда ставят то, что пользователь делает, а не то, что он открывает: создать документ , сформировать отчёт, запустить обработку.
Настраивается она там же, в окне командного интерфейса подсистемы, на второй вкладке. Группы такие же: «Важное», «Обычное», «См. также».
Что обычно кладут в панель действий:
- ➕ команды создания новых объектов, если они не включены автоматически;
- 📊 отчёты, которые открывают чаще всего;
- ⚙️ обработки «в один клик»: загрузка, закрытие периода .
Отдельная история — командный интерфейс формы. В редакторе формы откройте вкладку «Командный интерфейс». Там две панели: навигации формы (ссылки на связанные данные, например «Договоры контрагента») и действий формы (кнопки вверху окна).
Свойства команды формы, которые стоит проверить:
- 🔸 «Расположение» в группе панели формы: у команды должна быть группа, иначе она не появится на панели автоматически;
- 🔸 «Действие»: процедура-обработчик должна быть и на клиенте, и иметь директиву
&НаКлиенте; - 🔸 «Отображение» (картинка, текст или оба): для узкой панели лучше текст.
Для контекстного меню в списке и на поле формы используют отдельное размещение: перетащите команду в нужный элемент на вкладке «Элементы». Команда подтянется в меню правой кнопки.
Видимость пунктов: роли и функциональные опции
Пункт меню видит пользователь, если выполнено сразу три условия:
- Подсистема и объект включены в командный интерфейс.
- У роли есть право
Просмотрна подсистему и на объект (для общей команды — на саму команду). - Не отключена функциональная опция, с которой связан объект.
Права настраиваются в ветке Общие → Роли. Откройте роль и найдите нужную подсистему в списке: пометьте «Просмотр». Если снять право с подсистемы, раздел исчезнет целиком, даже когда у отдельных справочников право осталось.
Функциональные опции работают иначе. У подсистемы, команды или объекта есть свойство «Функциональные опции». Пока опция выключена, пункт скрыт. Именно так в типовых конфигурациях пропадают разделы, которые отключены в настройках учёта.
Для разных ситуаций подходят разные инструменты:
| Задача | Инструмент |
|---|---|
| Скрыть раздел у группы сотрудников | Право Просмотр у роли |
| Скрыть функциональность для всей базы | Функциональная опция |
| Скрыть команду только на одной форме | Свойство «Видимость» элемента формы |
| Показать пункт по условию во время работы | Код в ПриСозданииНаСервере формы |
Скрытие пункта меню не защита данных. Пользователь с правом чтения всё равно сможет получить данные через отчёт или поиск. Ограничивайте доступ правами и RLS, а не одним только интерфейсом.
Настройка меню самим пользователем
Не всё нужно делать через конфигуратор. Пользователь вправе поправить интерфейс под себя в режиме 1С:Предприятие.
Нужные команды находятся в меню «Сервис и настройки» (значок шестерёнки или меню главной кнопки):
- 🧭 «Настройка навигации»: какие команды показывать в панели навигации раздела и в каком порядке;
- 🛠️ «Настройка панели действий»: то же для панели действий;
- 🏠 «Настройка начальной страницы»: расположение форм на стартовом окне.
Эти настройки хранятся отдельно для каждого пользователя. Не нужно менять конфигурацию, чтобы бухгалтер убрал лишнее с экрана.
Если разработчик хочет вернуть интерфейс к исходному, достаточно сбросить настройки: в тех же окнах есть кнопка восстановления стандартной настройки. Команду, снятую в конфигураторе, пользователь вернуть не сможет, а скрытую самим пользователем можно вернуть всегда.
Когда нужен отдельный интерфейс для разных групп пользователей, смотрите в сторону ролей и функциональных опций, а не отдельных конфигураций.
Расширения: добавляем пункты без правки типовой конфигурации
В типовой конфигурации (поставка с поддержкой) менять подсистемы напрямую не стоит: после обновления придётся разбираться с конфликтами. Надёжнее сделать расширение.
Что можно добавить в расширении:
- ➕ новую подсистему с собственными картинками и составом;
- ➕ общую команду с обработчиком;
- ➕ отчёт или обработку, включённые в существующий раздел.
Порядок такой:
- Создайте расширение:
Конфигурация → Расширения конфигурации → Добавить. - Добавьте объекты (команду, отчёт) уже в дереве расширения.
- Включите их в состав подсистемы. Подсистему типовой конфигурации можно «взять в расширение», чтобы дополнить её состав.
- Выдайте роли расширения право просмотра.
Типовые подсистемы при этом остаются нетронутыми. При обновлении релиза расширение продолжает работать, нужна только проверка на совместимость.
Типичные ошибки и проверка результата
Когда меню не показывает то, что должно, идите по цепочке сверху вниз. Большинство проблем находится на первых двух шагах.
Просмотр на подсистему или на объект. Откройте роль, найдите подсистему и пометьте право. После этого пользователю нужно перезапустить сеанс.Перед передачей доработки заказчику пройдите проверку, она занимает пять минут:
Тестируйте под обычной учётной записью, а не под администратором. У полных прав виден весь интерфейс, и ошибки видимости остаются незамеченными.
Частые вопросы
Чем отличается подсистема от раздела?
Нужно ли писать код, чтобы добавить пункт меню?
Почему новый раздел не появился после сохранения?
Можно ли скрыть команду только для одной группы сотрудников?
Просмотр на объект или подсистему у роли этой группы. Для остальных пункт останется.