Новый раздел и пункты меню в 1С 8.3: от подсистемы до прав

· 10 мин

Содержание

Меню в 1С 8.3 строится из подсистем. Подсистема верхнего уровня становится разделом в панели разделов, вложенная подсистема превращается в группу пунктов внутри раздела. Чтобы добавить меню, откройте конфигурацию в Конфигураторе, создайте подсистему в ветке Общие → Подсистемы, включите в её состав нужные объекты и выдайте ролям право на просмотр.

Если вы не программист и хотите лишь переставить разделы под себя, Конфигуратор не нужен: порядок и набор пунктов настраивает сам пользователь в режиме 1С:Предприятие. Оба пути разобраны ниже, от простого к сложному.

Что именно вы хотите изменить

Слово «меню» в 1С означает три разных вещи. От выбора зависит, куда идти.

Что нужно сделать с меню?

Подготовка: доступ, режим и поддержка

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

Что проверить до начала:

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

Если вы снимаете конфигурацию с поддержки (Конфигурация → Поддержка → Настройка поддержки), каждое следующее обновление придётся объединять с вашими правками вручную. Для типовой конфигурации лучше оформить своё меню как расширение, а не менять основную конфигурацию.

Расширение вместо правки типовой

Расширение конфигурации живёт отдельно от основной и переживает обновления. Создаётся оно через Конфигурация → Расширения конфигурации. В расширении можно заводить собственные объекты, в том числе подсистемы. Порядок работы тот же, что описан дальше, только объекты добавляются в расширение.

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

Какой путь выбрать

СпособКогда подходитРиски
Настройка пользователя (Вид)Нужно переставить или скрыть пункты только себеПочти никаких, всё откатывается
Дополнительные обработкиЕсть готовый файл отчёта или обработкиНужна включённая подсистема БСП и права администратора
Расширение конфигурацииНужен свой раздел в типовой конфигурацииНужен Конфигуратор и аккуратное сохранение в базу
Правка основной конфигурацииСвоя собственная конфигурация, не на поддержкеДля типовой: сложное объединение при каждом обновлении

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

Структура навигации: панель разделов и подсистемы

Командный интерфейс 8.3 состоит из нескольких частей:

ЭлементЧто этоИз чего строится
Панель разделовВерхняя линейка с крупными значками разделовПодсистемы верхнего уровня
Панель навигацииСписок пунктов слева внутри выбранного разделаКоманды объектов из состава подсистемы
Панель действийВерх рабочей области раздела: кнопки создания документов, запуска отчётовКоманды, которые вынесены в «командную панель»
Начальная страницаОкно, открывающееся при стартеФормы, выбранные в настройке начальной страницы

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

Из этого следует главное: отдельного объекта «Меню» в платформе нет. Вы создаёте подсистему, а платформа сама строит из неё пункты по составу.

Пошаговое создание нового раздела меню

Шаг 1. Добавьте подсистему

  1. В дереве конфигурации раскройте ветку Общие, найдите Подсистемы.
  2. Нажмите на ней правой кнопкой и выберите Добавить.
  3. В палитре свойств задайте Имя без пробелов, например Склад_Доп. Это служебное имя, оно используется в коде и в ролях.
  4. В поле Синоним впишите то, что увидят пользователи, например «Склад: дополнительно». Заголовок раздела в панели берётся именно из синонима.
  5. Убедитесь, что включено свойство Включать в командный интерфейс. Если флажок снят, раздел не появится ни у кого.
  6. При желании выберите Картинку для значка раздела.

Чтобы получить группу внутри существующего раздела, а не новый раздел, добавляйте подсистему не на корень, а на нужную подсистему (правой кнопкой по ней → Добавить). Вложенная подсистема станет подразделом.

Шаг 2. Определите состав

Состав — это перечень объектов, которые попадут в раздел. Откройте подсистему двойным щелчком и перейдите к составу. Отметьте галочками нужное: справочники, документы, журналы документов, отчёты, обработки.

Один объект можно включить в несколько подсистем. Так, справочник «Номенклатура» часто виден сразу в закупках, продажах и складе. Дубли не страшны: это просто ещё одна точка входа.

Не включайте в состав всё подряд. Раздел с сорока пунктами читается хуже, чем два раздела по двадцать. Редко нужное отправляйте в «См. также».

Шаг 3. Откройте редактор командного интерфейса подсистемы

Для подсистемы есть отдельный редактор командного интерфейса (кнопка или пункт Командный интерфейс в её контекстном меню). В нём вы видите, какие команды попадут в каждую панель, и переносите их между группами.

Здесь выполняются три типичные операции:

  • ✅ перенос команды из «Обычное» в «Важное», чтобы она заметнее лежала в списке;
  • ✅ скрытие команды, которая не нужна в этом разделе: объект остаётся в составе, но пункт меню не показывается;
  • ✅ вынос команды в панель действий, если нужна быстрая кнопка.

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

Шаг 4. Задайте порядок разделов в панели

Порядок значков на верхней линейке определяется не расположением подсистем в дереве, а отдельной настройкой. Откройте командный интерфейс для ветки Подсистемы (пункт Командный интерфейс в её контекстном меню) и расставьте разделы стрелками вверх и вниз. Здесь же можно убрать раздел из панели совсем.

Если новый раздел оказался в самом конце, это не ошибка: сначала он просто получает последнее место.

Своя команда: кнопка, которая что-то запускает

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

Для отдельных элементов интерфейса группа команды определяет место показа. Основные места такие:

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

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

  1. В ветке Общие найдите Общие команды, нажмите Добавить.
  2. Задайте имя и синоним. Синоним — это текст пункта меню.
  3. В свойстве Группа выберите, где команда появится: например, в обычной группе панели навигации.
  4. Если команда должна принимать выделенный объект, укажите Тип параметра команды.
  5. Откройте модуль команды и напишите обработчик.

Простейший обработчик, который открывает форму обработки:

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

Имя МояОбработка замените на имя вашего объекта. Затем в свойствах команды в списке «Подсистемы» отметьте те, где она должна появиться, либо добавьте её через редактор командного интерфейса подсистемы.

Общая команда без указанной подсистемы никуда не попадёт. Если пункт не виден, начинайте проверку именно с этого.

Роли и видимость пунктов меню

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

  • 🔑 у роли пользователя есть право Просмотр на подсистему;
  • у роли есть право на сам объект, иначе его команда скроется, даже когда подсистема видна;
  • объект не отключён функциональной опцией (например, галкой в настройках учёта);
  • пользователь сам не скрыл пункт в личных настройках.

Право на подсистему даётся в ролях: Роли → нужная роль → вкладка «Права», строка нужной подсистемы, отметка «Просмотр». Для вложенных подсистем право проверяется на каждом уровне.

Если раздел нужен не всем, создайте под него отдельную роль, например «Склад_Доп_Просмотр», и назначайте её только тем, кому раздел положен. Так проще потом отозвать доступ, чем править общие роли.

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

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

Меню не заменяет права. Если убрать пункт из интерфейса, объект по-прежнему доступен по прямой ссылке или через поиск. Настоящее ограничение — это роли, а не отсутствие кнопки.

Настройка панели разделов без Конфигуратора

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

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

Настройка сохраняется для конкретного пользователя и не влияет на остальных. В окне настройки есть возврат к стандартным значениям, если интерфейс «разъехался».

Для частых форм есть ещё и избранное: в открытой форме нажмите значок звёздочки (или Ctrl+D), и ссылка попадёт в список избранного.

Свой отчёт или обработка из файла

Если у вас есть внешний отчёт (файл .erf) или обработка (.epf) и менять конфигурацию не хочется, воспользуйтесь механизмом дополнительных отчётов и обработок. В конфигурациях с Библиотекой стандартных подсистем (Бухгалтерия, ЗУП, УТ) он включается в Администрирование → Печатные формы, отчёты и обработки. После включения вы регистрируете файл и указываете, в каких разделах он должен появиться. Меню при этом строит сама платформа.

Проверка и отладка интерфейса

Изменения конфигурации не видны, пока не сохранена конфигурация базы данных. Поэтому порядок такой:

  1. Нажмите Конфигурация → Сохранить конфигурацию или запустите Отладка → Начать отладку (F5): платформа предложит обновить конфигурацию базы.
  2. Откройте 1С:Предприятие под пользователем с ролью, для которой задуман раздел. Администратору виден почти весь интерфейс, а обычному сотруднику нет, поэтому проверка только под админом ничего не гарантирует.
  3. Пройдитесь по разделу: открываются ли формы, нет ли пустых пунктов.
  4. Проверьте второго пользователя, у которого раздела быть не должно.

Если пункт не появился, идите по списку причин сверху вниз:

СимптомЧто проверить
Раздела нет ни у когоВключено ли «Включать в командный интерфейс», сохранена ли конфигурация базы
Раздел есть у админа, нет у сотрудникаПраво «Просмотр» на подсистему в роли сотрудника
Раздел виден, но пустойСостав подсистемы, права на объекты, функциональные опции
Нужный пункт скрытРедактор командного интерфейса подсистемы и личная настройка пользователя
Порядок не поменялсяУ пользователя сохранена своя настройка, она важнее общей

Для общей проверки корректности объектов запустите Конфигурация → Проверка конфигурации: она найдёт, например, команды с несуществующей формой.

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

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