Новый раздел в 1С 8.3: создаём подсистему в Конфигураторе и выводим её пользователям

· 9 мин

Содержание

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

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

Подготовка к установке подсистемы: копия, поддержка, режим правки

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

СитуацияГде создавать подсистемуЧто учесть
Своя или уже снятая с поддержки конфигурацияВ основной конфигурацииНичего не мешает, правьте сразу
Типовая на поддержке, правки запрещеныВ расширенииОсновную конфигурацию не трогаете, обновления ставятся как раньше
Типовая на поддержке, правки уже включеныВ основной или в расширенииПри обновлении придётся сравнивать и объединять

Перед работой:

  1. 💾 Выгрузите копию: Администрирование → Выгрузить информационную базу в Конфигураторе. Получится файл .dt.
  2. 🔓 Проверьте режим поддержки: Конфигурация → Поддержка → Настройка поддержки. Если в окне сказано, что изменения запрещены, а основную конфигурацию править нужно, нажмите «Включить возможность изменения». Это необратимо без восстановления из копии: обновлять типовую станет сложнее.
  3. 📂 Откройте дерево: Конфигурация → Открыть конфигурацию.
  4. 🔍 Посмотрите, какие разделы уже есть. Раскройте Общие → Подсистемы: верхний уровень этой ветки — и есть разделы, которые видят пользователи.

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

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

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

Порядок для основной конфигурации:

  1. В дереве раскройте Общие, найдите ветку Подсистемы.
  2. Правая кнопка → Добавить. Откроется окно редактирования новой подсистемы.
  3. На вкладке «Основные» заполните поля:
    • Имя — латиницей или кириллицей без пробелов, например СкладскойУчет. Имя используется в коде и метаданных.
    • Синоним — то, что увидит пользователь: «Складской учёт».
    • Комментарий — для коллег-программистов, по желанию.
  4. Проверьте флажок «Включать в командный интерфейс». Без него подсистема останется служебной и разделом не станет.
  5. Задайте картинку — значок раздела в панели разделов. Можно выбрать стандартную или общую картинку из конфигурации.
  6. При желании заполните пояснение — короткий текст-подсказку к разделу.

Вложенную подсистему создают так же, но правой кнопкой по существующей подсистеме → Добавить. Подчинённые подсистемы в «Такси» не становятся отдельными разделами. Их команды выводятся внутри родительского раздела, сгруппированные под заголовком подчинённой подсистемы.

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

Подсистема в расширении конфигурации

Если типовая база на поддержке и её не хочется снимать, делайте так:

  1. Конфигурация → Расширения конфигурации → кнопка «Добавить». Задайте имя и префикс (например, скл_).
  2. Откройте дерево расширения, в нём Общие → Подсистемы → Добавить.
  3. Объекты основной конфигурации, которые нужно включить в состав, сначала заимствуйте: правая кнопка на объекте в основной конфигурации → «Добавить в расширение».
  4. Сохраните расширение и обновите его конфигурацию базы данных.

Расширения появились в платформе 8.3.6, и с тех пор их возможности заметно выросли. Для подсистем и состава разделов их обычно хватает. Главный плюс: обновление типовой проходит без сравнения и объединения, расширение подключается поверх.

Состав подсистемы: какие объекты включить

Пустой раздел пользователю не виден. Нужно указать, какие объекты в него входят.

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

Способ 2. Из окна объекта. Откройте, например, документ и найдите вкладку «Подсистемы». Отметьте разделы, в которых документ должен появиться. Удобно, когда вы создаёте новый объект и сразу решаете, где ему жить.

Один и тот же объект может входить в несколько подсистем. Например, справочник «Номенклатура» логично показать и в «Складе», и в «Продажах».

Что попадёт в раздел после включения объекта:

  • 📄 документы и справочники — команды открытия списков в панели навигации;
  • ➕ команды создания — в панели действий (если это разрешено настройками);
  • 📊 отчёты и обработки — в панели действий, в группах «Отчёты» и «Сервис».

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

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

Пример: раздел для кладовщиков

Допустим, на складе работают трое, им нужны пять объектов. Состав подсистемы «Склад» может выглядеть так:

  1. Справочник «Склады» — чтобы видеть список мест хранения.
  2. Справочник «Номенклатура» — тот же, что и в других разделах.
  3. Документ «Перемещение товаров» — основная операция.
  4. Отчёт «Остатки на складах» — ежедневная проверка.
  5. Обработка «Печать этикеток» — ваша доработка.

Всё остальное кладовщикам не нужно. Чем меньше команд в разделе, тем меньше вопросов «где найти». Если позже потребуется что-то добавить, достаточно поставить ещё один флажок на вкладке «Состав» и снова нажать F7.

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

Состав задан, но порядок команд и разделов по умолчанию выбирает платформа. Чтобы навести порядок, используйте командный интерфейс.

Порядок разделов

  1. В дереве метаданных правой кнопкой по корню (названию конфигурации) → «Открыть командный интерфейс конфигурации».
  2. Откроется окно с перечнем разделов — это подсистемы верхнего уровня.
  3. Кнопками «Вверх»/«Вниз» расставьте разделы в нужном порядке. Сразу проверьте колонку «Видимость»: снятая галка прячет раздел у всех.

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

  1. Правой кнопкой по своей подсистеме → «Открыть командный интерфейс».
  2. Слева — панель навигации : списки, которые откроются в разделе. Справа — панель действий: создание документов, отчёты, обработки.
  3. Перетаскивайте команды между группами («Важное», «Обычное», «См. также»), меняйте порядок, снимайте видимость лишних.
ПанельЧто в нейПример для склада
НавигацииСписки документов и справочников«Поступления», «Перемещения», «Склады»
Действий — создатьКоманды создания нового документа«Поступление товаров»
Действий — отчётыОтчёты подсистемы«Остатки на складах»
Действий — сервисОбработки«Групповая перепроводка»

После правок нажмите F7. Пользователи увидят новый раздел при следующем запуске клиента — в открытом сеансе интерфейс не перестраивается.

Пользователь может сам скрыть раздел или поменять порядок у себя: главное меню → «Вид» → «Настройка панели разделов». Если «раздел пропал только у одного человека» — сначала проверьте его личные настройки.

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

У подсистемы нет собственных прав вроде «Чтение» или «Просмотр». Видимость раздела управляется двумя механизмами.

Видимость по ролям

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

То же работает для отдельных команд внутри подсистемы: в окне её командного интерфейса настройте видимость по ролям.

Права на объекты состава

Даже если раздел видим по ролям, платформа скрывает команды, на которые у пользователя нет прав. Нет права «Просмотр» на документ — команда открытия его списка не покажется. Если недоступны все команды раздела, пропадает и сам раздел.

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

  1. Откройте нужную роль в Общие → Роли.
  2. Найдите объекты подсистемы и проверьте права «Просмотр», «Чтение» (для отчётов и обработок — «Использование» и «Просмотр»).
  3. Убедитесь, что роль назначена пользователю.

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

Диагностика: выберите симптом

Подсистема в веб-клиенте и мобильном клиенте

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

  • 🌐 Веб-клиент. Панель разделов та же, что в тонком клиенте. После F7 обновите страницу или перезайдите в базу. Если раздел не появился, а в тонком клиенте он есть, — очистите кеш браузера и проверьте, что публикация на веб-сервере смотрит в ту же базу.
  • 📱 Мобильный клиент. Работает с той же конфигурацией, что и веб-клиент, но на узком экране панель разделов сворачивается в меню. Длинные синонимы обрезаются, поэтому называйте разделы коротко: «Склад» лучше, чем «Складской и производственный учёт».
  • 📲 Мобильное приложение на мобильной платформе. Это отдельная конфигурация со своим деревом метаданных. Подсистемы там создают в её Конфигураторе, к основной базе они отношения не имеют.

Задайте подсистеме картинку. В панели разделов с узкой шириной и в мобильном клиенте значок помогает найти раздел быстрее, чем текст.

Как перенести готовую подсистему из другой конфигурации

Иногда «установить подсистему» значит взять готовую — например, из базы коллеги или из файла поставщика доработки. Делается это через сравнение и объединение.

  1. Получите файл конфигурации .cf с нужной подсистемой.
  2. В своей базе: Конфигурация → Сравнить, объединить с конфигурацией из файла.
  3. Платформа спросит, ставить ли конфигурацию на поддержку. Для разовой доработки выбирайте вариант без постановки на поддержку.
  4. В окне сравнения снимите все флажки, затем отметьте только нужную подсистему. Удобно воспользоваться отметкой по подсистемам: в окне сравнения есть команда, которая ставит флажки на все объекты, входящие в выбранную подсистему.
  5. Проверьте, что вместе с подсистемой отмечены её объекты и роли, иначе раздел придёт пустым.
  6. Нажмите «Выполнить», затем F7.

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

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

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

Можно ли сделать подсистему без программиста?
В пользовательском режиме новый раздел создать нельзя: это изменение конфигурации. Пользователь может лишь скрыть или переставить существующие разделы у себя.
Сколько разделов можно сделать?
Жёсткого ограничения платформа не задаёт. На практике больше 12–15 разделов в панели неудобно: панель прокручивается, и пользователи теряются.
Почему подсистема есть в дереве, но в «Такси» её не видно как раздела?
Скорее всего, она подчинённая. Разделами в панели становятся только подсистемы верхнего уровня, вложенные показываются внутри родительского раздела.
Удалится ли что-нибудь из базы, если удалить подсистему?
Нет. Объекты состава и их данные остаются, пропадает только раздел навигации. Но проверьте поиском ссылок, не используется ли подсистема в коде: правая кнопка → «Поиск ссылок на объект».
Пропадёт ли моя подсистема при обновлении типовой?
Если она в основной конфигурации и правки включены — сохранится, но при объединении её нужно не затереть. Если она в расширении — обновление типовой её не трогает.