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

· 10 мин

Содержание

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

Механика общая для платформы и не зависит от конфигурации: так же работает в Бухгалтерии 3.0, ЗУП 3.1, УТ 11 и в самописных решениях на управляемом приложении. Платформа скрывает раздел молча, без ошибок, поэтому причину приходится искать по цепочке. Ниже она разобрана по звеньям — от метаданных до кэша на компьютере пользователя.

С чего начать: флаг командного интерфейса в свойствах подсистемы

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

Порядок проверки:

  1. Откройте базу в Конфигураторе: Конфигурация → Открыть конфигурацию.
  2. В дереве метаданных разверните ветку Общие → Подсистемы.
  3. Дважды щёлкните нужную подсистему — откроется окно редактирования. Можно также вызвать палитру свойств через Alt+Enter.
  4. На вкладке Основные найдите флаг Включать в командный интерфейс и поставьте его.
  5. Заполните Синоним — именно этот текст пользователь увидит на кнопке раздела. Пустой синоним заменяется именем, и раздел выглядит неряшливо.
  6. Сохраните конфигурацию и обновите конфигурацию базы данных (F7).

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

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

Если конфигурация на поддержке

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

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

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

Что положить внутрь: состав подсистемы и её командный интерфейс

Пустая подсистема в панели разделов не показывается. Платформа выводит раздел, только если в нём есть хотя бы одна команда, доступная текущему пользователю. Поэтому вторым шагом проверьте состав.

  1. В окне редактирования подсистемы перейдите на вкладку Состав.
  2. Отметьте флажками справочники, документы, отчёты, обработки и другие объекты, которые должны быть в разделе.
  3. Проверьте, что у этих объектов на вкладке Подсистемы их собственных свойств отмечена та же подсистема. Это одна и та же связь, видимая с двух сторон.

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

Частые причины «пустого» раздела:

  • 📦 в состав добавлены только регистры сведений или перечисления, а их команды скрыты по умолчанию;
  • 🧩 у отчёта или обработки нет команды открытия в командном интерфейсе, а сам объект включён только в состав;
  • 🔒 в редакторе командного интерфейса подсистемы у всех команд снята видимость;
  • 🧱 объекты подчинены функциональной опции, которая выключена (про это — отдельный раздел ниже).

Видимость раздела по ролям в командном интерфейсе конфигурации

Даже при правильных свойствах подсистему можно скрыть на уровне всей конфигурации. Это делается в редакторе панели разделов.

  1. Щёлкните правой кнопкой мыши по корню дерева метаданных — по имени конфигурации.
  2. Выберите Открыть командный интерфейс конфигурации.
  3. В открывшемся окне найдите строку с вашей подсистемой.
  4. Проверьте колонку общей видимости и колонки отдельных ролей. Если у раздела снята видимость по умолчанию и не отмечена ни одна роль пользователя, раздел он не увидит.
  5. Здесь же стрелками задаётся порядок разделов в панели. Новая подсистема по умолчанию встаёт в конец списка.

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

Панель разделов есть ли вообще

Редкий, но обидный случай: раздел настроен верно, а панели разделов в интерфейсе нет. Проверьте расположение панелей. Для этого в контекстном меню корня конфигурации выберите Открыть интерфейс клиентского приложения. В открывшемся окне видно, какие панели размещены в окне приложения. Если панель разделов убрана из видимой области, её нужно вернуть.

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

Права доступа: почему один пользователь видит раздел, а другой нет

Классическая жалоба: «у администратора раздел есть, у бухгалтера нет». Почти всегда дело в ролях. Платформа показывает подсистему, только если у пользователя есть право Просмотр хотя бы на один объект с видимой командой внутри неё.

Как проверить:

  1. В Конфигураторе откройте Общие → Роли и найдите роль, назначенную пользователю.
  2. Откройте её и пройдитесь по объектам из состава подсистемы. Нужны права Просмотр для открытия списка и Использование для отчётов и обработок.
  3. Сравните с ролью, под которой раздел виден. Разница сразу покажет, чего не хватает.

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

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

Удобный способ найти расхождение — открыть базу в режиме 1С:Предприятие под проблемным пользователем. Если раздел не виден и под ним, а под администратором виден, причина точно в правах или ролевой видимости, а не в метаданных.

Функциональные опции и видимость на уровне форм

Функциональная опция включает и выключает части прикладного решения без правки кода. Её значение хранится в константе. Если объекты подсистемы подчинены опции, а константа равна Ложь, их команды скрываются. Раздел становится пустым — и исчезает.

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

В своей конфигурации проверьте:

  • ⚙️ у объектов в свойстве Функциональные опции не указана выключенная опция;
  • 🗂️ в ветке Общие → Функциональные опции у опции в Хранении указана константа, и её значение в базе — Истина;
  • 👥 опция не зависит от параметра, который у этого пользователя или организации другой.

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

Бывает, что сам раздел виден, но внутри «не видно ничего полезного»: открывается форма, где нужные поля или кнопки спрятаны. Здесь работает уже не подсистема, а форма.

У каждого элемента управляемой формы есть свойство Видимость. Если оно снято в редакторе формы, элемент скрыт для всех. Дополнительно для элементов настраивается видимость по ролям: в палитре свойств у свойства Видимость есть отдельная настройка для конкретных ролей. Командная панель формы и панель навигации формы настраиваются в редакторе формы на вкладке командного интерфейса формы — там у каждой команды тоже есть флаг видимости.

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

Управление видимостью из кода

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

Пример: включить опцию, сохранённую в константе, и сразу перерисовать интерфейс. Серверная часть меняет константу, клиентская обновляет интерфейс.

&НаСервереБезКонтекста
Процедура ВключитьУчетНаСервере()
	Константы.ИспользоватьСкладскойУчет.Установить(Истина);
	ОбновитьПовторноИспользуемыеЗначения();
КонецПроцедуры

&НаКлиенте
Процедура ВключитьУчет(Команда)
	ВключитьУчетНаСервере();
	ОбновитьИнтерфейс();
КонецПроцедуры

Здесь ИспользоватьСкладскойУчет — имя вашей константы, в которой хранится функциональная опция. Метод ОбновитьИнтерфейс() перестраивает командный интерфейс клиента, и раздел, зависящий от опции, появится без перезапуска. Установка константы требует права на её изменение.

Проверить значение опции в коде можно функцией ПолучитьФункциональнуюОпцию():

Если ПолучитьФункциональнуюОпцию("ИспользоватьСкладскойУчет") Тогда
	Элементы.ГруппаСклад.Видимость = Истина;
Иначе
	Элементы.ГруппаСклад.Видимость = Ложь;
КонецЕсли;

Такой код обычно ставят в обработчик ПриСозданииНаСервере формы. Для элементов формы есть и более короткий вариант: связать элемент с функциональной опцией прямо в его свойствах, тогда код не нужен вовсе.

Если видимость зависит от роли, а не от настройки, используйте РольДоступна("ИмяРоли") в ПриСозданииНаСервере. Но помните: скрытый элемент не равен закрытому доступу. Права ограничивайте ролями, а видимостью — только убирайте лишнее с экрана.

Изменения сделаны, а раздела нет: обновление базы и кэш клиента

Самая частая «мистика» — всё настроено, но пользователи ничего не видят. Обычно причина в том, что изменения не дошли до базы или до клиента.

Пройдите по шагам:

  1. Убедитесь, что конфигурация базы данных обновлена. Если в заголовке Конфигуратора или в дереве видна пометка об отличии основной конфигурации от конфигурации базы данных, нажмите F7.
  2. Если обновление прошло динамически, при работающих пользователях, они увидят изменения только после перезапуска 1С.
  3. Попросите пользователя полностью закрыть 1С и открыть заново.
  4. Не помогло — запустите клиент с параметром очистки кэша.

Параметр /ClearCache добавляется в строку запуска. В окне выбора баз выберите базу, нажмите Изменить, дойдите до последней страницы мастера и впишите параметр в поле Дополнительные параметры запуска. Или из командной строки:

"C:\Program Files\1cv8\common\1cestart.exe" ENTERPRISE /F"D:\Base\Buh" /ClearCache

Путь к базе замените на свой. Для серверной базы вместо /F указывается /S"сервер\имя_базы".

Если и это не помогло, кэш можно удалить вручную. Он лежит в профиле пользователя Windows:

%APPDATA%\1C\1cv8
%LOCALAPPDATA%\1C\1cv8

Внутри — папки с длинными именами-идентификаторами. Удалять можно только эти папки с идентификаторами, а файлы со списком баз (ibases.v8i и похожие) не трогайте.

Перед ручной очисткой кэша 1С у этого пользователя должна быть полностью закрыта. Удаление кэша при открытом клиенте может оборвать сеанс с потерей несохранённых данных. Делайте это в перерыве или после рабочего дня.

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

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

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

Можно ли показать подсистему только определённым пользователям?
Да. В окне «Командный интерфейс конфигурации» снимите общую видимость раздела и отметьте только нужные роли. Пользователи без этих ролей раздел не увидят.
Влияет ли порядок подсистем в дереве метаданных на порядок разделов?
Нет. Порядок в панели разделов задаётся отдельно, в окне «Командный интерфейс конфигурации», стрелками перемещения.
Почему подсистема из расширения не появилась?
Проверьте, что расширение подключено к базе и активно, а у подсистемы в расширении стоит флаг командного интерфейса. После подключения расширения нужен перезапуск клиента.
Можно ли сделать подсистему видимой без Конфигуратора?
Нет, если она скрыта в метаданных. Если раздел убран пользовательской настройкой или функциональной опцией, его возвращают в режиме 1С:Предприятие.
Скрытый раздел защищает данные от просмотра?
Нет. Видимость управляет только отображением. Чтобы закрыть доступ к данным, нужно ограничить права в ролях.