Подсистемы в 1С: разделы интерфейса и навигация пользователя
Содержание
Подсистема в 1С добавляется в конфигураторе: в дереве конфигурации раскройте ветку Общие, встаньте на Подсистемы, правой кнопкой — Добавить. Задайте имя и синоним, поставьте флажок Включать в командный интерфейс — и подсистема первого уровня превратится в раздел в панели разделов интерфейса «Такси».
Это главный инструмент навигации: сделать подсистемы в 1С нужно, чтобы разложить справочники, документы и отчёты по логичным разделам, а не вываливать всё в один список «Все функции». Ниже — как создать подсистему, собрать иерархию из вложенных подсистем, привязать к ней объекты и команды, и как управлять видимостью разделов по ролям.
Что такое подсистема и как она превращается в раздел
Подсистема — это объект метаданных, который не хранит данные сам по себе. Он группирует ссылки на другие объекты: справочники, документы, отчёты, обработки, регистры. По этим группам платформа строит командный интерфейс.
В интерфейсе «Такси» (платформа 8.3.2x и новее) действует простое правило:
- подсистема первого уровня → раздел в панели разделов (вертикальная или горизонтальная полоса с разделами);
- подсистема второго и ниже уровня → группа внутри панели навигации раздела;
- объект, добавленный в подсистему → команда открытия его списка в панели навигации этого раздела.
Подсистемы решают и вторую задачу — фильтрацию при обновлении и сравнении конфигураций, выгрузке по составу. Но для пользователя это прежде всего разделы меню.
Если объект не входит ни в одну подсистему, он не исчезает из программы — его по-прежнему можно открыть через Главное меню → Все функции. Просто в разделах его команды не будет.
Для разработчика это удобный приём: каркас разделов стоит продумать до того, как в конфигурации появятся десятки справочников и документов. Тогда новый объект достаточно отметить в нужной подсистеме — и он сразу встаёт на своё место в навигации, без ручной правки меню.
Как добавить подсистему в конфигураторе: по шагам
- Откройте конфигурацию на редактирование (
Конфигурация → Открыть конфигурацию). - В дереве найдите ветку
Общие, внутри —Подсистемы. Правой кнопкой поПодсистемы→Добавить. - В палитре свойств заполните
Имя— латиницей, без пробелов (например,Продажи,Склад,Администрирование). Это внутренний идентификатор. - Заполните
Синоним— то, что увидит пользователь на разделе («Продажи», «Склад и доставка»). Если синоним пуст, подпись сформируется из имени. - Проверьте флажок
Включать в командный интерфейс. Без этого флажка раздел не появится в интерфейсе вообще — это самая частая причина «я создал подсистему, а её не видно». - Назначьте
Картинка— иконку раздела. Нажмите на поле, выберите из общих картинок или добавьте новую черезОбщие → Общие картинки. Размер иконки для раздела — обычно 32×32 пикселя. - При необходимости заполните
Пояснение— всплывающую подсказку к разделу.
После этого обновите конфигурацию базы данных (Конфигурация → Обновить конфигурацию базы данных, клавиша F7) и запустите 1С:Предприятие, чтобы увидеть новый раздел.
Монопольный доступ к базе нужен не всегда, но для обновления структуры конфигурации платформа попросит закрыть пользовательские сеансы. Планируйте такие изменения на время, когда в базе никто не работает.
Вложенные подсистемы: как собрать иерархию разделов
Подсистему можно вложить в другую. Встаньте на уже созданную подсистему, правой кнопкой → Добавить, и новая подсистема станет подчинённой.
Как это выглядит у пользователя:
- верхний уровень — раздел (например, «Продажи»);
- вложенные подсистемы — группы в панели навигации этого раздела («Оптовые продажи», «Розница»);
- объекты внутри вложенной подсистемы — команды внутри группы.
Разумная глубина — два, максимум три уровня. Глубже навигация становится громоздкой: пользователь проваливается в дерево и теряет ориентир.
| Уровень вложенности | Что получается в интерфейсе |
|---|---|
| 1-й (корневая подсистема) | Раздел в панели разделов |
| 2-й (подчинённая) | Группа в панели навигации раздела |
| 3-й и глубже | Подгруппа внутри группы |
Порядок вложенных подсистем внутри раздела задаётся не перетаскиванием в дереве, а в редакторе командного интерфейса раздела (см. ниже). В дереве конфигурации порядок — только для разработчика.
Состав подсистемы: какие объекты в неё входят
Чтобы команды объектов появились в разделе, объекты нужно включить в состав подсистемы. Есть два пути — выбирайте любой.
Путь 1 — со стороны подсистемы. Двойным щелчком откройте подсистему, перейдите на закладку Состав. Перед вами дерево всех объектов конфигурации с флажками. Отметьте те, что должны попасть в этот раздел.
Путь 2 — со стороны объекта. Откройте, например, справочник или документ, перейдите на закладку Подсистемы в его окне редактирования и отметьте подсистемы, в которых он должен участвовать. Один объект может входить сразу в несколько разделов — это нормально.
Какой путь удобнее — зависит от задачи:
| Способ | Когда удобнее |
|---|---|
Через закладку Состав подсистемы | Наполняете новый раздел: видно всё дерево объектов, отмечаете нужные пачкой |
Через закладку Подсистемы объекта | Добавили один объект и раскладываете его сразу по нескольким разделам |
Что именно появляется в навигации:
- для справочника — команда открытия его списка;
- для документа — команда открытия журнала/списка;
- для отчёта и обработки — команда их запуска;
- стандартные команды (создание нового элемента, ввод по образцу) по умолчанию попадают в панель действий или скрыты — их видимость настраивается отдельно.
Добавление объекта в состав подсистемы само по себе не даёт пользователю права на объект. Если у роли нет права Просмотр, команда в разделе не покажется, даже если объект включён в подсистему.
Командный интерфейс: порядок разделов и состав навигации
Готовый список разделов почти всегда нужно упорядочить и причесать. Для этого есть два редактора.
Порядок самих разделов. Правой кнопкой по корню конфигурации (самая верхняя строка дерева с именем конфигурации) → Открыть командный интерфейс конфигурации. В открывшемся окне — список всех подсистем первого уровня. Стрелками Переместить вверх/Переместить вниз задайте порядок, в котором разделы встанут в панели.
Состав навигации внутри раздела. Правой кнопкой по нужной подсистеме → Открыть командный интерфейс. Здесь команды разложены по группам:
Панель навигации— ссылки на списки (с подгруппами «Важное», «Обычное», «См. также»);Панель действий— команды создания и отчётов (группы «Создать», «Отчёты», «Сервис»).
В этом окне можно перетащить команду между группами, скрыть её флажком Видимость и поменять порядок. Так вы, например, выносите самый частый документ в «Важное», а редкие служебные обработки прячете в «См. также».
Отдельно стоит разобраться со стандартными командами. Кроме команды открытия списка, у объекта есть стандартные команды — создание нового элемента, ввод на основании и прочие. По умолчанию часть из них в панели действий скрыта. Если нужно, чтобы в разделе была кнопка «Создать» для документа, включите соответствующую стандартную команду в группе Панель действий.Создать того же редактора командного интерфейса. Видимость каждой стандартной команды тоже настраивается флажком и по ролям.
Начальная страница при этом настраивается отдельно: правой кнопкой по корню конфигурации → Открыть рабочую область начальной страницы. Формы на начальной странице к подсистемам не привязаны — не путайте эти две настройки.
Видимость разделов и команд по ролям
Разные пользователи видят разный набор разделов. Управляется это на двух уровнях.
Видимость раздела по ролям. В окне Командный интерфейс конфигурации (тот, что открывается от корня) есть колонка Видимость и настройка Видимость по ролям. Разверните её — появятся колонки по каждой роли. Снимите флажок у роли напротив подсистемы — и для этой роли раздел исчезнет из панели разделов.
Видимость отдельной команды по ролям. В редакторе Командный интерфейс конкретной подсистемы так же можно задать видимость каждой команды отдельно для каждой роли.
Логика приоритетов:
- общий флажок
Видимостьвыключен → команду/раздел не видит никто; - общий включён, а
Видимость по ролямдля конкретной роли выключена → эта роль не видит, остальные видят; - вдобавок к этому действует право роли на сам объект (
Просмотр). Нет права — нет команды, независимо от настроек видимости.
Не прячьте разделы только видимостью, оставляя пользователю права на объекты. Правильная защита — через права роли. Видимость командного интерфейса — это про удобство, а не про безопасность.
Пример: собираем разделы для торговой базы
Разберём на конкретной структуре, как подсистемы складываются в навигацию. Допустим, в конфигурации нужны три раздела: продажи, склад и администрирование.
На первом уровне создаём три корневые подсистемы:
Продажи(синоним «Продажи»);Sklad(синоним «Склад»);Administrirovanie(синоним «Администрирование»).
В разделе «Продажи» хочется отделить опт от розницы. Вкладываем в Продажи две подчинённые подсистемы — Opt и Roznica. Теперь в панели навигации раздела появятся две группы.
Дальше раскладываем объекты по составу:
- В
Optвключаем документ «Реализация товаров» и справочник «Контрагенты». - В
Roznica— документ «Чек ККМ» и обработку «Рабочее место кассира». - В
Sklad— документы «Поступление товаров » и «Перемещение», регистр «Остатки товаров». - В
Administrirovanie— справочники «Пользователи», «Настройки», обработку обслуживания.
В 1С:Предприятии это превращается в такую навигацию:
- три раздела на панели разделов;
- внутри «Продаж» — группы «Опт» и «Розница», а в каждой из них свои команды;
- внутри «Склада» — плоский список команд без групп, потому что вложенных подсистем мы там не делали.
Остаётся открыть Командный интерфейс конфигурации и поставить разделы в нужном порядке — например, «Продажи» первым, «Администрирование» последним. По такому же принципу собирается навигация базы любого размера: сначала каркас из подсистем, потом состав, затем порядок и видимость.
Ошибки проектирования навигации
Включать в командный интерфейс, либо не обновлена конфигурация базы данных (F7), либо раздел скрыт видимостью по ролям для вашего пользователя.Просмотр на объект, либо команда скрыта в редакторе командного интерфейса раздела.Ещё несколько промахов, которые всплывают уже на боевой базе:
- Пустой синоним. Пользователь видит техническое имя латиницей. Синоним заполняйте всегда.
- Один объект в десяти подсистемах. Команда дублируется в каждом разделе, навигация замусоривается. Включайте объект туда, где он логичен.
- Слишком глубокая вложенность. Три уровня — предел читаемости. Глубже — проваливаешься и не находишь.
- Нет картинки. Разделы без иконок выглядят одинаково, пользователю труднее их различать.
- Непродуманные имена. Имя подсистемы меняется в метаданных тяжело — на него могут ссылаться в коде. Задавайте осмысленное имя латиницей сразу, а подпись правьте через синоним.
Отдельная рекомендация по иконкам: держите их в одном стиле и одном размере. Разнородные картинки из общих картинок разного происхождения делают панель разделов неопрятной, и пользователь дольше ищет нужный раздел глазами.
Чем подсистема отличается от роли?
Можно ли сделать подсистему, невидимую пользователю, но полезную для обновления?
Включать в командный интерфейс — подсистема останется в метаданных и будет работать как фильтр при сравнении и обновлении конфигураций, но раздела в интерфейсе не создаст.Почему объект входит в подсистему, а в разделе его не видно?
Просмотр на этот объект, либо команда отключена флажком видимости в редакторе командного интерфейса раздела.Как поменять порядок разделов на панели?
Открыть командный интерфейс конфигурации, затем стрелками Переместить вверх/Переместить вниз.