Новый раздел в интерфейсе 1С: создаём подсистему в Конфигураторе
Содержание
Чтобы добавить подсистему в 1С, откройте Конфигуратор, в дереве конфигурации раскройте ветку Общие → Подсистемы, нажмите правой кнопкой и выберите Добавить. Задайте имя и синоним, включите флажок «Включать в командный интерфейс», укажите состав объектов — и после обновления конфигурации базы данных в пользовательском режиме появится новый раздел.
Звучит просто, но на практике раздел то не виден части пользователей, то выводится не на своём месте, то пустой. Ниже — порядок действий целиком: от планирования структуры до настройки командного интерфейса и прав, для платформы 8.3 с интерфейсом «Такси».
Что такое подсистема и как спланировать разделы до работы в Конфигураторе
Подсистема — объект метаданных, который группирует другие объекты конфигурации. У неё две задачи:
- 🧭 навигация: подсистемы верхнего уровня становятся разделами в панели разделов («Продажи», «Склад», «Зарплата»);
- 🗂️ порядок в метаданных: разработчик может отфильтровать дерево конфигурации по подсистеме и видеть только объекты нужного блока.
Подсистема не хранит данные и не меняет структуру таблиц. Это «папка с ярлыками» на справочники, документы, отчёты и обработки.
Как разложить объекты по разделам
Прежде чем создавать объекты, набросайте структуру на бумаге. Удобно отвечать на три вопроса:
- Кто работает в разделе? Раздел — это рабочее место роли: кладовщика, менеджера, бухгалтера.
- Что пользователь делает чаще всего? Эти документы и журналы пойдут в важную группу панели навигации.
- Какие объекты общие? Справочник «Номенклатура» нужен и продажам, и складу. Один объект можно включить в несколько подсистем — дублировать его не надо.
Пример плана для небольшой торговой конфигурации:
| Подсистема (раздел) | Вложенные подсистемы | Ключевые объекты |
|---|---|---|
| Продажи | Заказы, Отгрузки | Заказ покупателя, Реализация, отчёт по продажам |
| Склад | Поступления, Инвентаризация | Поступление товаров, Перемещение, остатки |
| НСИ | — | Номенклатура, Контрагенты, Склады |
| Администрирование | — | Обработки обслуживания, настройки |
Держите число разделов в пределах разумного. Десять–двенадцать разделов в панели уже читаются тяжело, а на узком экране часть из них уезжает за край.
Создание подсистемы в Конфигураторе: пошагово
Подготовка
- Сделайте резервную копию:
Администрирование → Выгрузить информационную базув Конфигураторе сохранит файл.dt. - Откройте конфигурацию:
Конфигурация → Открыть конфигурацию. - Если конфигурация типовая и стоит на поддержке, изменения в ней заблокированы. Тогда либо включите возможность изменения (
Конфигурация → Поддержка → Настройка поддержки), либо — что правильнее — создайте подсистему в расширении (об этом ниже).
Включение возможности изменения типовой конфигурации усложняет каждое следующее обновление: придётся сравнивать и объединять ваши правки с релизом поставщика. Для типовых баз сначала рассмотрите расширение.
Добавление объекта «Подсистема»
- В дереве конфигурации раскройте
Общие. - Правой кнопкой по ветке
Подсистемы→Добавить. Откроется окно редактирования новой подсистемы. - Заполните основные свойства:
| Свойство | Что указать | Пример |
|---|---|---|
| Имя | Латиница или кириллица без пробелов, для кода | Склад |
| Синоним | Название раздела, которое увидит пользователь | Склад и запасы |
| Комментарий | Пояснение для разработчиков | Учёт движения товаров |
| Включать в командный интерфейс | Флажок: показывать ли подсистему как раздел | включён |
| Картинка | Значок раздела из общих картинок | Склад |
| Пояснение | Подсказка при наведении на раздел | Поступления, перемещения, остатки |
- Перейдите на вкладку «Состав» и отметьте флажками объекты, которые относятся к разделу.
- Закройте окно и выполните
Конфигурация → Обновить конфигурацию базы данных(F7).
Добавление подсистемы не меняет структуру таблиц, поэтому обновление проходит быстро. Пользователи увидят раздел после перезапуска своего сеанса.
Второй способ включить объект в подсистему
Состав удобно править и со стороны самого объекта. Откройте окно редактирования документа или справочника, перейдите на вкладку «Подсистемы» и отметьте нужные. Это быстрее, когда вы создаёте новый объект и сразу решаете, где он будет жить.
Вложенные подсистемы
Подсистему можно разбить на подчинённые. Раскройте созданную подсистему в дереве, правой кнопкой по ветке Подсистемы внутри неё → Добавить.
Вложенная подсистема не становится отдельным разделом. В «Такси» её команды выводятся внутри родительского раздела отдельной группой в панели функций. Так раздел «Склад» может делиться на блоки «Поступления» и «Инвентаризация».
Объект, включённый только во вложенную подсистему, в родительский состав добавлять не нужно: команды подчинённой подсистемы и так видны в разделе родителя.
Отбор дерева конфигурации по подсистеме
Подсистема полезна и разработчику. В командной панели дерева конфигурации есть команда отбора по подсистемам: отметьте, например, «Склад» — и в дереве останутся только объекты этого раздела. В конфигурации на сотни объектов это заметно ускоряет поиск.
Отсюда простое правило: включайте в подсистемы и служебные объекты — общие модули, регистры, константы блока. Флажок «Включать в командный интерфейс» для них ничего не выведет пользователю, а фильтр в Конфигураторе станет полным.
Как назвать подсистему
- ✍️ Имя — существительное без пробелов и префиксов:
Склад,ЗакупкиИПоставщики. Его используют в коде, поэтому после выпуска не меняйте. - 🏷️ Синоним — короткий, до двух слов: в узкой панели разделов длинные названия переносятся на две-три строки.
- 🔤 Для собственных доработок в типовой базе добавляйте к имени префикс компании, например
мк_Склад. Так ваши объекты не столкнутся с объектами следующего релиза.
Настройка командного интерфейса подсистемы и панели разделов
Состав подсистемы определяет, какие команды попадут в раздел. Командный интерфейс — как они будут выведены.
Командный интерфейс раздела
Правой кнопкой по подсистеме → Открыть командный интерфейс. Откроется редактор с группами команд:
- 📌 Панель навигации — списки объектов: группы «Важное», «Обычное», «См. также».
- ⚡ Панель действий — команды создания документов, отчёты, сервисные обработки.
Что здесь настраивают:
- Видимость команды в целом — флажок в колонке общей видимости.
- Порядок — перетаскиванием или стрелками в командной панели редактора.
- Группу — например, перенести журнал документов в «Важное», чтобы он стоял первым.
- Видимость по ролям — отдельные колонки на каждую роль конфигурации (о них в следующем разделе).
Пример: в разделе «Склад» в «Важное» выносят списки «Поступления товаров» и «Перемещения», команды «Создать» оставляют для двух самых частых документов, а редкие отчёты — в группе «Отчёты» панели действий.
Порядок разделов в панели
Последовательность самих разделов задаётся на уровне всей конфигурации. Правой кнопкой по корню дерева конфигурации → Открыть командный интерфейс конфигурации → закладка панели разделов. Там же можно скрыть раздел для отдельных ролей.
Если новый раздел оказался последним в панели, хотя по логике работы он должен стоять вторым, — правьте порядок именно здесь, а не в свойствах подсистемы.
Видимость раздела и права доступа
Пользователь видит раздел, только если в нём есть хотя бы одна доступная ему команда. Отсюда три уровня управления видимостью:
| Уровень | Где настраивается | Когда использовать |
|---|---|---|
| Права роли на объекты | Окно роли, права на объекты состава | Основной способ: нет права «Просмотр» — нет и команды |
| Видимость по ролям в командном интерфейсе | Редактор командного интерфейса подсистемы или конфигурации | Права есть, но команда не нужна в этом разделе |
| Функциональные опции | Объекты «Функциональная опция» с составом | Целый блок учёта отключается настройкой, а не правами |
Практический приём: если отключить функциональной опцией все объекты раздела, раздел исчезнет у всех пользователей сам. Отдельно скрывать подсистему не нужно.
Как проверить, что увидит пользователь
- Создайте тестового пользователя с одной ролью, например «Кладовщик».
- Запустите 1С:Предприятие под ним из Конфигуратора (
Отладка → Начать отладку) или обычным запуском. - Проверьте: раздел виден, в нём нет лишних команд, документы открываются без ошибки «Нарушение прав доступа».
- Повторите проверку для пользователя с набором ролей. Права ролей складываются: если у кладовщика есть ещё и роль «Менеджер», он увидит всё, что разрешено обеим, и раздел может оказаться шире, чем вы задумывали.
Видимость команды по ролям — это не защита данных. Скрытый в интерфейсе справочник пользователь с правом чтения откроет через Все функции или по навигационной ссылке. Ограничивайте доступ правами роли.
Проверка состава подсистемы из кода
Иногда нужно программно узнать, входит ли объект в подсистему, например в общем модуле обработки меню:
Подсистема = Метаданные.Подсистемы.Склад;
Если Подсистема.Состав.Содержит(Метаданные.Документы.ПоступлениеТоваров) Тогда
Сообщить("Документ входит в раздел «Склад»");
КонецЕсли;
Для вложенной подсистемы обращаются через родителя: Метаданные.Подсистемы.Склад.Подсистемы.Поступления.
Подсистема в интерфейсе «Такси» и в расширении
Что видит пользователь в «Такси»
- 🗂️ Подсистемы верхнего уровня с флажком «Включать в командный интерфейс» — разделы панели разделов.
- 📂 Вложенные подсистемы — группы команд внутри раздела.
- 🖼️ Картинка подсистемы — значок раздела. Без картинки раздел выглядит пустым квадратом рядом с типовыми, поэтому подберите значок из общих картинок или добавьте свой в
Общие → Общие картинки.
Пользователь может сам скрыть раздел или поменять порядок через настройку панели разделов в главном меню (Вид). Это его личные настройки, на конфигурацию они не влияют.
Подсистема в расширении конфигурации
Для типовых баз на поддержке это основной путь. Порядок:
- В Конфигураторе:
Конфигурация → Расширения конфигурации→ добавить новое расширение. - Откройте конфигурацию расширения и в ветке
Общие → Подсистемыдобавьте собственную подсистему так же, как в основной конфигурации. - Объекты расширения включайте в состав напрямую. Чтобы добавить в раздел типовой объект, сначала заимствуйте его в расширение (правой кнопкой по объекту основной конфигурации →
Добавить в расширение), затем включите заимствованный объект в состав. - Обновите конфигурацию базы данных и перезапустите сеанс.
Чтобы добавить свою команду в существующий типовой раздел, заимствуйте саму типовую подсистему и включите в её состав объекты расширения. Сама типовая подсистема при этом не меняется, и обновления релизов проходят без объединения.
Расширение подключается и отключается без снятия конфигурации с поддержки. Если раздел мешает, достаточно отключить расширение.
Ошибки при добавлении подсистем, которые всплывают позже
Шаги выше закрывают базовую настройку. Эти проблемы обычно обнаруживаются через неделю–две работы:
- 🔁 Объект в двух разделах без нужды. Справочник, включённый в пять подсистем, засоряет панели навигации. Общие справочники держите в одном разделе НСИ, а в остальных — только если ими реально пользуются каждый день.
- 🏷️ Имя подсистемы переименовали после выпуска. Синоним менять безопасно, а вот имя используется в коде и в навигационных ссылках, которые пользователи сохранили в избранном. После переименования такие ссылки перестают открываться.
- 🧩 Объект не входит ни в одну подсистему. Он не попадёт в командный интерфейс и будет доступен только через
Все функции. При проверке конфигурации заведите правило: у каждого нового объекта заполнена вкладка «Подсистемы». - 🎛️ Настройки командного интерфейса потерялись. Порядок команд хранится в конфигурации, а личные настройки пользователя — отдельно. Если пользователь когда-то сам перетасовал панель, ваши новые настройки порядка он может не увидеть до сброса своих настроек. В типовых конфигурациях на БСП это делается в
Администрирование → Настройки пользователей и прав. - 🖼️ Картинка большого размера. Значок, нарисованный под другой размер, растягивается и выглядит размытым. Берите картинки из типовых или готовьте свои в нескольких вариантах масштаба.