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

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

Как добавить подсистему в 1С

Как создать и настроить подсистему в 1С: добавление объектов, командный интерфейс, права доступа, типовые ошибки и проверка результата в конфигураторе.

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

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

Материал рассчитан на разработчиков и администраторов, которые дорабатывают типовую или самописную конфигурацию. Описанные действия применимы к управляемому приложению (такси-интерфейс) на актуальных версиях платформы 1С:Предприятие 8.3.

Что такое подсистема и когда её стоит создавать

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

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

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

Подготовка: что проверить перед изменением конфигурации

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

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

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

Создание подсистемы в конфигураторе

Откройте конфигуратор и разверните дерево конфигурации: «Общие» → «Подсистемы». Через контекстное меню выберите «Добавить» или нажмите кнопку добавления на панели инструментов. Появится палитра свойств нового объекта.

Заполните ключевые свойства. «Имя» — программный идентификатор без пробелов, например УправлениеПроектами. «Синоним» — то, что увидит пользователь в панели разделов, например «Управление проектами». «Картинка» — иконка раздела; её можно выбрать из общей библиотеки картинок или предварительно загрузить свою в «Общие картинки». Свойство «Включать в командный интерфейс» должно быть установлено, иначе раздел не появится в панели разделов.

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

После заполнения свойств сохраните конфигурацию (Ctrl+S). На этом этапе подсистема существует, но пуста: пользователь увидит раздел без единой команды, поэтому сразу переходите к наполнению состава.

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

Наполнение состава и командного интерфейса

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

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

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

Порядок разделов в панели

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

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

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

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

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

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

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

Раздел в панели разделов
Норма

Подсистема видна с заданной картинкой и названием

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

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

Состав панели навигации
Норма

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

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

Лишние команды — настройте командный интерфейс подсистемы

Доступ под пользователем без прав
Норма

Раздел скрыт у пользователей без прав на его объекты

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

Раздел виден, но команды выдают ошибку доступа — пересмотрите роли

Типовые ошибки и ограничения

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

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

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

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

Типичные ошибки
01
Создать подсистему и забыть настроить командный интерфейс — в раздел попадают все команды подряд, включая служебные
02
Считать подсистему способом разграничения доступа — доступ регулируется только ролями, подсистема лишь управляет видимостью команд
03
Добавить раздел и проверить его только под полными правами — под реальной ролью раздел может оказаться пустым или скрытым
04
Менять состав типовых подсистем без документирования — при обновлении конфигурации изменения легко потерять или получить конфликт

Проверка результата и перенос в рабочую базу

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

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

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

Итог

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

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

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

Можно ли включить один объект в несколько подсистем?

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

Почему новый раздел не виден пользователям после обновления?

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

Как скрыть раздел от части пользователей?

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

Можно ли добавить подсистему в типовую конфигурацию без снятия с поддержки?

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

Чем подсистема отличается от функциональной опции?

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

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

Откройте «Конфигурация» → «Командный интерфейс» → «Панель разделов» и перетащите подсистемы в нужной последовательности. Порядок применится ко всем пользователям. Индивидуально пользователь может менять расположение через настройку панелей в пользовательском режиме, но базовый порядок задаётся в конфигураторе.