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