К статье
Практический материал

Разработка и Конфигурация · 11 мин

Что такое подсистема в 1С:Предприятие и как с ней работать

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

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

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

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

Где находятся подсистемы и как они выглядят в конфигураторе

В конфигураторе подсистемы расположены в ветке «Общие» → «Подсистемы» дерева конфигурации. В типовых решениях их обычно от 10 до нескольких десятков: «НСИ и администрирование», «Продажи», «Закупки», «Склад», «Деньги», «Зарплата и кадры» и тому подобные. Каждая подсистема имеет имя (для обращения из кода), синоним (отображается пользователю), картинку и свойство «Включать в командный интерфейс».

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

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

Чем подсистема отличается от других объектов конфигурации

Начинающие разработчики часто путают подсистемы с другими механизмами группировки. Различия принципиальны, и их стоит зафиксировать.

ОбъектНазначениеХранит данные
ПодсистемаГруппировка объектов в разделы интерфейса, участие в правахНет
СправочникХранение нормативно-справочной информацииДа
ДокументРегистрация хозяйственных операцийДа
Функциональная опцияВключение/отключение функциональности настройкойНет (значение хранится в константе или другом объекте)
РольНабор прав на объекты конфигурацииНет

Ключевое отличие подсистемы от функциональной опции: подсистема описывает структуру интерфейса, а функциональная опция — доступность функциональности. На практике они часто работают вместе: раздел «Розничные продажи» может быть скрыт функциональной опцией, если розничная торговля в настройках отключена.

Как создать и настроить подсистему

Создание подсистемы — стандартная операция при доработке конфигурации. Последовательность действий в конфигураторе выглядит так.

Порядок действий
  1. 1
    Откройте конфигуратор и в дереве конфигурации раскройте ветку «Общие» → «Подсистемы».
  2. 2
    Добавьте новую подсистему через контекстное меню, задайте имя и понятный синоним — именно его увидит пользователь.
  3. 3
    Назначьте картинку раздела, чтобы раздел визуально отличался в панели разделов.
  4. 4
    На закладке «Состав» отметьте объекты, которые должны входить в подсистему: документы, справочники, отчёты, обработки.
  5. 5
    Проверьте флаг «Включать в командный интерфейс» и при необходимости настройте порядок команд.
  6. 6
    Обновите конфигурацию базы данных (F7) и проверьте результат в режиме «Предприятие».

После добавления объектов в состав подсистемы стоит открыть командный интерфейс подсистемы (кнопка «Командный интерфейс» в палитре свойств) и проверить порядок и видимость команд. Платформа автоматически формирует панель навигации и панель действий, но порядок по умолчанию редко бывает оптимальным: важные команды лучше поднять выше, редко используемые — скрыть из видимости.

Если подсистема создаётся в типовой конфигурации на поддержке, объект будет добавлен как новый и, как правило, не создаст проблем при обновлении. Однако изменение состава типовых подсистем может привести к конфликтам при обновлении — об этом ниже.

Подсистемы и права доступа

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

На этом строится практический приём: чтобы «убрать» раздел у группы пользователей, не нужно править интерфейс — достаточно настроить роли так, чтобы объекты раздела были им недоступны. Обратное тоже верно: если пользователь жалуется, что «пропал раздел», первым делом проверяют его роли и функциональные опции, а не настройки подсистемы.

Типичные ошибки при работе с подсистемами

Большинство проблем с подсистемами возникает из-за непонимания их роли или спешки при доработке. Ниже — ошибки, которые встречаются чаще всего.

Типичные ошибки
01
Новый объект не добавлен ни в одну подсистему — пользователи не находят его в меню и считают, что доработка «не установилась».
02
Изменён состав типовой подсистемы — при очередном обновлении конфигурации возникает конфликт сравнения, и изменения либо теряются, либо блокируют автоматическое обновление.
03
Создано слишком много разделов верхнего уровня — панель разделов перегружена, пользователи не могут быстро найти нужное.
04
Раздел скрывают удалением объектов из подсистемы вместо настройки прав или функциональных опций — в результате объект пропадает у всех, включая тех, кому он нужен.
05
Не настроен командный интерфейс — в разделе десятки команд в случайном порядке, важные функции теряются.

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

Как проверить, что подсистема настроена правильно

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

Контрольные точки

Как проверить результат

Отображение раздела
Норма

Раздел виден в панели разделов с заданным именем и картинкой

Тревожный признак

Раздела нет — проверьте флаг включения в командный интерфейс и права

Состав раздела
Норма

Все нужные объекты доступны в панели навигации и панели действий

Тревожный признак

Часть объектов отсутствует — проверьте состав подсистемы и роли пользователя

Порядок команд
Норма

Часто используемые команды расположены первыми

Тревожный признак

Команды идут в случайном порядке — настройте командный интерфейс

Права пользователей
Норма

Пользователь с ограниченными правами видит только свои разделы

Тревожный признак

Видны лишние разделы или, наоборот, пропали нужные — пересмотрите роли

Дополнительно полезно проверить, что новые объекты попали в интерфейс и в файловом, и в клиент-серверном варианте, если база работает в обоих режимах, — расхождений быть не должно, но проверка занимает минуту.

Когда создавать новую подсистему, а когда обойтись существующими

Не каждая доработка требует отдельного раздела. Ориентируйтесь на количество объектов и логическую обособленность функциональности.

Маршрут решения

Как выбрать действие

Добавляется 1–2 объекта, относящихся к существующему учётному участкуВключите их в состав существующей подсистемы, отдельный раздел не нужен
Добавляется целый блок функциональности: несколько документов, справочников и отчётовСоздайте собственную подсистему с понятным названием и картинкой
Раздел нужен не всем пользователямСоздайте подсистему и управляйте её видимостью через роли и функциональные опции
Конфигурация типовая на поддержкеСоздавайте только свои подсистемы, состав типовых не изменяйте

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

При доработке типовых конфигураций удобно создать одну служебную подсистему вроде «Дополнительные возможности» и складывать туда все собственные объекты, если они не образуют большого самостоятельного блока. Это упрощает контроль доработок и обновление.
ПЗ
Практическое замечание

Часто задаваемые вопросы

Почему новый документ не виден в меню после добавления в конфигурацию?

Чаще всего объект не включён ни в одну подсистему. Откройте свойства документа, на закладке «Подсистемы» отметьте нужные разделы, обновите конфигурацию базы данных и перезапустите сеанс. Также проверьте, что у пользователя есть права на этот объект.

Можно ли удалить типовую подсистему?

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

Как изменить порядок разделов в панели разделов?

Порядок определяется расположением подсистем в дереве конфигурации: выше в дереве — раньше в панели. Переместите подсистему кнопками перемещения в конфигураторе. Пользователь также может частично настроить видимость разделов через «Настройки панели разделов» в режиме «Предприятие».

Подсистема влияет на данные в базе?

Нет. Подсистема — чисто интерфейсный и организационный объект. Удаление объекта из подсистемы или самой подсистемы не удаляет данные: документы и справочники остаются в базе и доступны через «Все функции».

Что делать, если у пользователя пропал целый раздел?

Проверьте три вещи: роли пользователя (нет ли прав на объекты раздела), функциональные опции (не отключена ли соответствующая настройка программы) и флаг «Включать в командный интерфейс» у самой подсистемы. В большинстве случаев причина — в правах.

Можно ли обращаться к подсистеме из встроенного языка?

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

Итог

Что важно запомнить

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