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

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

Как переместить подсистемы в 1С

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

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

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

Что такое подсистема и зачем её перемещать

Подсистема описывает логический раздел прикладного решения: «Продажи», «Склад», «Зарплата», «Администрирование». В свойствах подсистемы задаётся состав — список объектов метаданных (справочников, документов, отчётов, обработок), которые к ней относятся. На основе этого состава платформа автоматически строит командный интерфейс раздела.

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

Подготовка перед перемещением

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

Сделайте резервную копию: «Администрирование → Выгрузить информационную базу» для файловой базы или штатный backup средствами СУБД для клиент-серверного варианта. Проверьте, что в базе нет активных сеансов пользователей, если планируете сразу обновлять конфигурацию базы данных.

Как переместить подсистему в иерархии

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

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

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

Как перенести объекты из одной подсистемы в другую

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

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

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

Как перенести подсистему между конфигурациями

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

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

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

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

Стандартные команды (создание документов, открытие списков справочников) платформа добавляет автоматически. Если после перемещения раздел выглядит пустым, проверьте состав подсистемы и видимость команд — чаще всего причина именно там, а не в правах доступа.

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

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

Панель разделов в режиме Предприятия
Норма

Подсистема отображается в ожидаемом месте, разделы открываются

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

Подсистемы нет или она в старом месте — конфигурация БД не обновлена

Команды внутри раздела
Норма

Отчёты и справочники видны в панели навигации

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

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

Проверка конфигурации
Норма

Нет ошибок ссылочной целостности

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

Ошибки на неопределённые объекты — не перенесены связанные метаданные

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

Типичные ошибки
01
Переместили подсистему, но забыли обновить конфигурацию базы данных — в режиме Предприятия ничего не изменилось
02
Перенесли подсистему между конфигурациями без связанных картинок и ролей — после обновления ошибки ссылочной целостности
03
Убрали объект из всех подсистем — он пропал из интерфейса, и пользователи решили, что функция удалена
04
Изменили иерархию типовой конфигурации на поддержке — при обновлении возникли конфликты, которые пришлось разрешать вручную
05
Ожидали, что перемещение подсистемы изменит права доступа — права задаются ролями, расположение раздела на них не влияет

FAQ

Можно ли переместить подсистему программно, из кода?

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

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

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

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

Порядок определяется расположением подсистем в дереве конфигурации. Выделите подсистему и переместите её кнопками «Вверх»/«Вниз» в дереве или перетаскиванием. Пользователь также может настроить порядок локально через «Вид → Настройка панели разделов».

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

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

Что будет с подсистемой при обновлении типовой конфигурации?

Подсистемы, созданные вами, при обновлении сохраняются. Изменения в типовых подсистемах (состав, иерархия) могут конфликтовать с обновлением поставщика — платформа покажет эти отличия в окне сравнения, и потребуется вручную выбрать, какую версию оставить.

Можно ли удалить подсистему без потери объектов?

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

Итог

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

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