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