Разработка и Конфигурация · 9 мин
Как создать подсистему в 1С: пошаговое руководство
Как создать подсистему в 1С через конфигуратор: настройка командного интерфейса, картинки, порядка разделов, включение объектов и типичные ошибки разработчика.
Подсистема в 1С — это объект конфигурации, который определяет раздел командного интерфейса приложения. Именно подсистемы формируют панель разделов, которую пользователь видит при запуске программы: «Продажи», «Закупки», «Склад», «Отчёты» и так далее. Каждый справочник, документ, отчёт или обработка попадает в интерфейс пользователя только через подсистему, поэтому без их настройки новая функциональность останется невидимой.
Создание подсистемы выполняется в конфигураторе и занимает несколько минут, однако ошибки на этом этапе приводят к типичным проблемам: разделы дублируются, объекты «теряются», у пользователей с ограниченными правами интерфейс выглядит иначе, чем у администратора. Ниже разобран полный цикл работы: от создания объекта метаданных до проверки результата в пользовательском режиме.
Что такое подсистема и когда её нужно создавать
Подсистема — объект ветки «Общие» дерева конфигурации. Она не хранит данные и не выполняет код, а служит исключительно для структурирования командного интерфейса: определяет, какие разделы видит пользователь и какие команды в них доступны. Подсистемы поддерживают вложенность: раздел первого уровня может содержать дочерние подсистемы, формируя многоуровневую навигацию.
Создавать новую подсистему имеет смысл, когда в конфигурацию добавляется самостоятельный блок функциональности — например, модуль электронного документооборота, блок мотивации персонала или интеграция с внешним сервисом. Если добавляется один-два отчёта к существующему учёту, правильнее включить их в уже существующую подсистему, а не плодить разделы.
Создание объекта «Подсистема» в конфигураторе
Откройте конфигуратор и дерево конфигурации (меню «Конфигурация → Открыть конфигурацию», если оно закрыто). Раскройте ветку «Общие», найдите узел «Подсистемы» и через контекстное меню выберите «Добавить». Откроется палитра свойств нового объекта.
Минимальный набор свойств, который нужно заполнить:
- Имя — внутренний идентификатор без пробелов, например
УправлениеПроектами. По нему к подсистеме обращаются из кода. - Синоним — название раздела, которое увидит пользователь, например «Управление проектами».
- Картинка — пиктограмма раздела в панели разделов. Можно выбрать из стандартной библиотеки картинок или загрузить собственную (объект «Общие картинки»).
- Включать в командный интерфейс — флаг, без которого раздел не появится в панели разделов.
- Порядок — положение раздела относительно других подсистем того же уровня.
- 1Откройте конфигуратор и дерево конфигурации
- 2В ветке «Общие → Подсистемы» выполните «Добавить»
- 3Заполните имя, синоним, картинку и порядок
- 4Убедитесь, что включён флаг «Включать в командный интерфейс»
- 5На закладке «Состав» отметьте объекты раздела
- 6Обновите конфигурацию базы данных (F7)
- 7Проверьте раздел в режиме «Предприятие» под пользователем с рабочими правами
Наполнение подсистемы объектами
Состав подсистемы задаётся на закладке «Состав» в окне редактирования объекта или через кнопку «Настройка состава подсистем» в ветке «Подсистемы» — второй способ удобнее, когда нужно распределить много объектов сразу по нескольким разделам. Отметьте флажками справочники, документы, журналы, отчёты и обработки, которые должны быть доступны из этого раздела.
Важно понимать: включение объекта в подсистему не создаёт команд автоматически во всех случаях. Для справочников и документов команды появляются, если у объекта разрешён вывод в командный интерфейс (свойства «Стандартные команды» и настройки командного интерфейса объекта). Для отчётов и обработок проверьте, что у них задана основная форма, иначе команда открытия будет недоступна.
Один объект можно включать в несколько подсистем — это нормальная практика. Например, отчёт «Анализ продаж» логично разместить и в разделе «Продажи», и в разделе «Отчёты руководителя». Дублирования данных при этом не происходит: подсистема хранит только ссылки.
Настройка командного интерфейса раздела
После заполнения состава откройте редактор командного интерфейса подсистемы — кнопка «Командный интерфейс» в палитре свойств. Здесь команды разделены на группы: панель навигации (создание и списки объектов) и панель действий (отчёты, обработки, служебные команды). Для каждой команды можно задать видимость, порядок и представление.
Практические рекомендации по настройке:
- Оставляйте в панели навигации только часто используемые списки; редкие объекты убирайте или переносите в группу «См. также».
- Команды создания документов выносите в начало панели навигации — это ускоряет работу пользователей.
- Не превращайте панель действий в свалку: если отчётов больше десятка, объединяйте их в общую форму отчётов или дочернюю подсистему.
Порядок разделов в панели разделов задаётся не только свойством «Порядок», но и положением подсистемы в дереве конфигурации: платформа сортирует разделы по порядку следования объектов в дереве. Перетаскивание подсистемы в дереве — самый наглядный способ выстроить разделы.
Вложенные подсистемы и права доступа
Для крупных блоков функциональности используйте иерархию: создайте родительскую подсистему (раздел верхнего уровня) и внутри неё дочерние — они отобразятся как группы навигации внутри раздела. Чтобы сделать подсистему дочерней, укажите в её свойстве «Родительская подсистема» нужный раздел или перетащите её в дереве конфигурации.
Видимость раздела у конкретного пользователя определяется правами: если у роли пользователя нет прав ни на один объект подсистемы, раздел скрывается автоматически. Это удобно — не нужно программно управлять интерфейсом. Но из этого следует и типичная ловушка: разработчик проверяет результат под полными правами, а у рабочей роли раздел пуст или отсутствует.
Проверка результата
После обновления конфигурации базы данных (клавиша F7) запустите режим «Предприятие» и проверьте результат под учётной записью с теми правами, под которыми будут работать реальные пользователи. Контрольные точки:
Как проверить результат
Раздел виден с заданной картинкой и названием, стоит на нужной позиции
Раздела нет — проверьте флаг «Включать в командный интерфейс» и права роли
Все объекты из состава доступны в панели навигации или действий
Команды отсутствуют — проверьте основную форму объекта и настройку командного интерфейса
Пользователь видит только доступные ему команды
Раздел пустой или пропал — у роли нет прав на объекты подсистемы
Если конфигурация работает в клиент-серверном варианте, после обновления конфигурации убедитесь, что пользователи перезапустили сеансы — кэш метаданных на клиенте может показывать старый интерфейс до перезахода.
Типичные ошибки при работе с подсистемами
Отдельная ошибка — попытка управлять интерфейсом программно, скрывая команды кодом. Платформа сама строит интерфейс по правам и составу подсистем; ручное вмешательство усложняет сопровождение и ломается при любом изменении ролей.
Что важно запомнить
Подсистема создаётся в ветке «Общие → Подсистемы»: имя, синоним, картинка, флаг включения в интерфейс и состав объектов. Видимость раздела у пользователя определяется его правами. Новую функциональность выносите в собственные подсистемы, типовые разделы не правьте напрямую, а результат всегда проверяйте под рабочей ролью.
Частые вопросы
Можно ли создать подсистему через расширение конфигурации?
Да, расширения поддерживают добавление собственных подсистем и включение в них как собственных, так и заимствованных объектов. Это предпочтительный способ доработки типовых конфигураций на поддержке — при обновлении релиза расширение не конфликтует с поставкой.
Почему раздел виден администратору, но не виден пользователю?
Потому что видимость раздела вычисляется по правам: если у роли пользователя нет прав ни на один объект состава подсистемы, платформа скрывает раздел целиком. Добавьте роли доступ к нужным объектам или создайте отдельную роль для нового блока.
Как изменить порядок разделов в панели разделов?
Перетащите подсистемы в дереве конфигурации в нужной последовательности — платформа выводит разделы в порядке следования объектов. Дополнительно можно использовать свойство «Порядок», но нагляднее управлять положением в дереве.
Можно ли включить один объект в несколько подсистем?
Да, это штатная возможность: объект хранится один раз, а подсистемы содержат лишь ссылки на него. Так отчёт может быть доступен и в функциональном разделе, и в общем разделе отчётов.
Почему команда отчёта не появилась в разделе, хотя отчёт включён в состав?
Чаще всего у отчёта не назначена основная форма либо команда скрыта в редакторе командного интерфейса подсистемы. Откройте свойства отчёта, проверьте основную форму, затем кнопкой «Командный интерфейс» у подсистемы включите видимость команды.