Новый раздел и пункты меню в 1С 8.3: от подсистемы до прав
Содержание
Меню в 1С 8.3 строится из подсистем. Подсистема верхнего уровня становится разделом в панели разделов, вложенная подсистема превращается в группу пунктов внутри раздела. Чтобы добавить меню, откройте конфигурацию в Конфигураторе, создайте подсистему в ветке Общие → Подсистемы, включите в её состав нужные объекты и выдайте ролям право на просмотр.
Если вы не программист и хотите лишь переставить разделы под себя, Конфигуратор не нужен: порядок и набор пунктов настраивает сам пользователь в режиме 1С:Предприятие. Оба пути разобраны ниже, от простого к сложному.
Что именно вы хотите изменить
Слово «меню» в 1С означает три разных вещи. От выбора зависит, куда идти.
Подготовка: доступ, режим и поддержка
Для добавления подсистемы нужен запуск Конфигуратора (в окне запуска выберите базу и нажмите кнопку «Конфигуратор») и учётная запись с правом администрирования. Затем откройте конфигурацию: Конфигурация → Открыть конфигурацию. Слева появится дерево объектов.
Что проверить до начала:
- 🔹 Версия платформы 8.3 и интерфейс «Такси». Описанные ниже окна и пути относятся к ней.
- 🔹 Тип конфигурации. Типовая конфигурация (Бухгалтерия, ЗУП, УТ) стоит на поддержке: менять её объекты напрямую нельзя, пока не включена возможность изменения.
- 🔹 Копия базы. Правки конфигурации обычно делают сначала в тестовой копии.
Если вы снимаете конфигурацию с поддержки (Конфигурация → Поддержка → Настройка поддержки), каждое следующее обновление придётся объединять с вашими правками вручную. Для типовой конфигурации лучше оформить своё меню как расширение, а не менять основную конфигурацию.
Расширение вместо правки типовой
Расширение конфигурации
живёт отдельно от основной и переживает обновления. Создаётся оно через Конфигурация → Расширения конфигурации. В расширении можно заводить собственные объекты, в том числе подсистемы. Порядок работы тот же, что описан дальше, только объекты добавляются в расширение.
После правки расширения его нужно сохранить в базу, а затем обновить конфигурацию базы данных: это отдельные шаги.
Какой путь выбрать
| Способ | Когда подходит | Риски |
|---|---|---|
Настройка пользователя (Вид) | Нужно переставить или скрыть пункты только себе | Почти никаких, всё откатывается |
| Дополнительные обработки | Есть готовый файл отчёта или обработки | Нужна включённая подсистема БСП и права администратора |
| Расширение конфигурации | Нужен свой раздел в типовой конфигурации | Нужен Конфигуратор и аккуратное сохранение в базу |
| Правка основной конфигурации | Своя собственная конфигурация, не на поддержке | Для типовой: сложное объединение при каждом обновлении |
Первые два способа не требуют вмешательства в конфигурацию, и пробовать стоит именно их. К подсистеме переходите, когда меню должно быть единым для всех пользователей.
Структура навигации: панель разделов и подсистемы
Командный интерфейс 8.3 состоит из нескольких частей:
| Элемент | Что это | Из чего строится |
|---|---|---|
| Панель разделов | Верхняя линейка с крупными значками разделов | Подсистемы верхнего уровня |
| Панель навигации | Список пунктов слева внутри выбранного раздела | Команды объектов из состава подсистемы |
| Панель действий | Верх рабочей области раздела: кнопки создания документов, запуска отчётов | Команды, которые вынесены в «командную панель» |
| Начальная страница | Окно, открывающееся при старте | Формы, выбранные в настройке начальной страницы |
В панели навигации пункты разложены по трём группам: Обычное, Важное и См. также. «Важное» показывается выделенно и сверху, «См. также» собирается внизу и подходит для редких справочников.
Из этого следует главное: отдельного объекта «Меню» в платформе нет. Вы создаёте подсистему, а платформа сама строит из неё пункты по составу.
Пошаговое создание нового раздела меню
Шаг 1. Добавьте подсистему
- В дереве конфигурации раскройте ветку
Общие, найдитеПодсистемы. - Нажмите на ней правой кнопкой и выберите
Добавить. - В палитре свойств задайте Имя без пробелов, например
Склад_Доп. Это служебное имя, оно используется в коде и в ролях. - В поле Синоним впишите то, что увидят пользователи, например «Склад: дополнительно». Заголовок раздела в панели берётся именно из синонима.
- Убедитесь, что включено свойство Включать в командный интерфейс. Если флажок снят, раздел не появится ни у кого.
- При желании выберите Картинку для значка раздела.
Чтобы получить группу внутри существующего раздела, а не новый раздел, добавляйте подсистему не на корень, а на нужную подсистему (правой кнопкой по ней → Добавить). Вложенная подсистема станет подразделом.
Шаг 2. Определите состав
Состав — это перечень объектов, которые попадут в раздел. Откройте подсистему двойным щелчком и перейдите к составу. Отметьте галочками нужное: справочники, документы, журналы документов, отчёты, обработки.
Один объект можно включить в несколько подсистем. Так, справочник «Номенклатура» часто виден сразу в закупках, продажах и складе. Дубли не страшны: это просто ещё одна точка входа.
Не включайте в состав всё подряд. Раздел с сорока пунктами читается хуже, чем два раздела по двадцать. Редко нужное отправляйте в «См. также».
Шаг 3. Откройте редактор командного интерфейса подсистемы
Для подсистемы есть отдельный редактор командного интерфейса (кнопка или пункт Командный интерфейс в её контекстном меню). В нём вы видите, какие команды попадут в каждую панель, и переносите их между группами.
Здесь выполняются три типичные операции:
- ✅ перенос команды из «Обычное» в «Важное», чтобы она заметнее лежала в списке;
- ✅ скрытие команды, которая не нужна в этом разделе: объект остаётся в составе, но пункт меню не показывается;
- ✅ вынос команды в панель действий, если нужна быстрая кнопка.
Порядок строк внутри группы задаётся в этом же редакторе. Он применяется ко всем пользователям, пока человек не настроил интерфейс под себя.
Шаг 4. Задайте порядок разделов в панели
Порядок значков на верхней линейке определяется не расположением подсистем в дереве, а отдельной настройкой. Откройте командный интерфейс для ветки Подсистемы (пункт Командный интерфейс в её контекстном меню) и расставьте разделы стрелками вверх и вниз. Здесь же можно убрать раздел из панели совсем.
Если новый раздел оказался в самом конце, это не ошибка: сначала он просто получает последнее место.
Своя команда: кнопка, которая что-то запускает
Прежде чем заводить команду, проверьте, нет ли нужного пункта уже готовым. Любой справочник, документ и отчёт, включённый в состав подсистемы, получает собственную команду автоматически: список для справочника, «Создать» для документа, формирование для отчёта. Свою команду заводят, когда действие нестандартное: открыть форму с заданными параметрами, запустить фоновую обработку, перейти по ссылке.
Для отдельных элементов интерфейса группа команды определяет место показа. Основные места такие:
- 🔹 панель навигации , группа «Обычное»: постоянные пункты списков;
- 🔹 панель навигации, группа «Важное»: то, чем пользуются каждый день;
- 🔹 панель навигации, группа «См. также»: редкие справочники и сервисные действия;
- 🔹 панель действий раздела: быстрые кнопки создания документов.
Подсистема показывает то, что уже есть в объектах. Если нужно запустить нестандартное действие, например открыть обработку с параметром или специальный отчёт, заводят общую команду.
- В ветке
ОбщиенайдитеОбщие команды, нажмитеДобавить. - Задайте имя и синоним. Синоним — это текст пункта меню.
- В свойстве Группа выберите, где команда появится: например, в обычной группе панели навигации.
- Если команда должна принимать выделенный объект, укажите Тип параметра команды.
- Откройте модуль команды и напишите обработчик.
Простейший обработчик, который открывает форму обработки:
&НаКлиенте
Процедура ОбработкаКоманды(ПараметрКоманды, ПараметрыВыполненияКоманды)
ОткрытьФорму("Обработка.МояОбработка.Форма",
,
ПараметрыВыполненияКоманды.Источник,
ПараметрыВыполненияКоманды.Уникальность,
ПараметрыВыполненияКоманды.Окно);
КонецПроцедуры
Имя МояОбработка замените на имя вашего объекта. Затем в свойствах команды в списке «Подсистемы» отметьте те, где она должна появиться, либо добавьте её через редактор командного интерфейса подсистемы.
Общая команда без указанной подсистемы никуда не попадёт. Если пункт не виден, начинайте проверку именно с этого.
Роли и видимость пунктов меню
Меню строится индивидуально для каждого пользователя. Платформа показывает пункт, только если выполняются сразу несколько условий:
- 🔑 у роли пользователя есть право Просмотр на подсистему;
- у роли есть право на сам объект, иначе его команда скроется, даже когда подсистема видна;
- объект не отключён функциональной опцией (например, галкой в настройках учёта);
- пользователь сам не скрыл пункт в личных настройках.
Право на подсистему даётся в ролях: Роли → нужная роль → вкладка «Права», строка нужной подсистемы, отметка «Просмотр». Для вложенных подсистем право проверяется на каждом уровне.
Если раздел нужен не всем, создайте под него отдельную роль, например «Склад_Доп_Просмотр», и назначайте её только тем, кому раздел положен. Так проще потом отозвать доступ, чем править общие роли.
Проверять роли удобно прямо из Конфигуратора. В режиме запуска 1С:Предприятие можно выбрать пользователя информационной базы, под которым пойдёт тестовый вход, и увидеть меню его глазами. Это быстрее, чем просить сотрудника «зайти и посмотреть».
Если в разделе у сотрудника не хватает одного пункта, не раздавайте ему полные права. Добавьте нужное право на конкретный объект в его роль: так вы дадите ровно то, что нужно, и меню само подстроится.
Меню не заменяет права. Если убрать пункт из интерфейса, объект по-прежнему доступен по прямой ссылке или через поиск. Настоящее ограничение — это роли, а не отсутствие кнопки.
Настройка панели разделов без Конфигуратора
Пользователь может изменить внешний вид сам, и это самый безопасный способ. В Такси откройте главное меню (кнопка с тремя полосками в левом верхнем углу), пункт Вид. Там находятся настройки:
- панели разделов: какие разделы показывать и в каком порядке;
- панели навигации: какие пункты внутри раздела видны;
- панели действий: какие кнопки быстрого создания держать под рукой;
- начальной страницы: какие формы открываются сразу после входа.
Настройка сохраняется для конкретного пользователя и не влияет на остальных. В окне настройки есть возврат к стандартным значениям, если интерфейс «разъехался».
Для частых форм есть ещё и избранное: в открытой форме нажмите значок звёздочки (или Ctrl+D), и ссылка попадёт в список избранного.
Свой отчёт или обработка из файла
Если у вас есть внешний отчёт (файл .erf) или обработка (.epf) и менять конфигурацию не хочется, воспользуйтесь механизмом дополнительных отчётов и обработок. В конфигурациях с Библиотекой стандартных подсистем (Бухгалтерия, ЗУП, УТ) он включается в Администрирование → Печатные формы, отчёты и обработки. После включения вы регистрируете файл и указываете, в каких разделах он должен появиться. Меню при этом строит сама платформа.
Проверка и отладка интерфейса
Изменения конфигурации не видны, пока не сохранена конфигурация базы данных. Поэтому порядок такой:
- Нажмите
Конфигурация → Сохранить конфигурациюили запуститеОтладка → Начать отладку(F5): платформа предложит обновить конфигурацию базы. - Откройте 1С:Предприятие под пользователем с ролью, для которой задуман раздел. Администратору виден почти весь интерфейс, а обычному сотруднику нет, поэтому проверка только под админом ничего не гарантирует.
- Пройдитесь по разделу: открываются ли формы, нет ли пустых пунктов.
- Проверьте второго пользователя, у которого раздела быть не должно.
Если пункт не появился, идите по списку причин сверху вниз:
| Симптом | Что проверить |
|---|---|
| Раздела нет ни у кого | Включено ли «Включать в командный интерфейс», сохранена ли конфигурация базы |
| Раздел есть у админа, нет у сотрудника | Право «Просмотр» на подсистему в роли сотрудника |
| Раздел виден, но пустой | Состав подсистемы, права на объекты, функциональные опции |
| Нужный пункт скрыт | Редактор командного интерфейса подсистемы и личная настройка пользователя |
| Порядок не поменялся | У пользователя сохранена своя настройка, она важнее общей |
Для общей проверки корректности объектов запустите Конфигурация → Проверка конфигурации: она найдёт, например, команды с несуществующей формой.
Частые вопросы
Можно ли добавить меню в типовую конфигурацию без программирования?
Вид в главном меню. Для общего раздела всем пользователям нужна подсистема, но кода для этого писать не придётся.