Подсистема не появляется в панели разделов: где включить и что проверить
Содержание
Чтобы подсистема стала видимой в 1С 8.3, откройте её свойства в Конфигураторе и поставьте флаг Включать в командный интерфейс. Затем проверьте три вещи: в окне Командный интерфейс конфигурации у раздела отмечена видимость для нужных ролей, в состав подсистемы входит хотя бы один объект, а у пользователя есть право на просмотр этого объекта. После этого выполните Обновить конфигурацию базы данных (F7) и перезапустите клиент.
Механика общая для платформы и не зависит от конфигурации: так же работает в Бухгалтерии 3.0, ЗУП 3.1, УТ 11 и в самописных решениях на управляемом приложении. Платформа скрывает раздел молча, без ошибок, поэтому причину приходится искать по цепочке. Ниже она разобрана по звеньям — от метаданных до кэша на компьютере пользователя.
С чего начать: флаг командного интерфейса в свойствах подсистемы
Отдельного свойства «Видимость» у подсистемы нет. Его роль играет флаг Включать в командный интерфейс. Если он снят, подсистема работает только как способ группировки объектов в дереве метаданных, а в панели разделов не появляется.
Порядок проверки:
- Откройте базу в Конфигураторе:
Конфигурация → Открыть конфигурацию. - В дереве метаданных разверните ветку
Общие → Подсистемы. - Дважды щёлкните нужную подсистему — откроется окно редактирования. Можно также вызвать палитру свойств через
Alt+Enter. - На вкладке
Основныенайдите флагВключать в командный интерфейси поставьте его. - Заполните
Синоним— именно этот текст пользователь увидит на кнопке раздела. Пустой синоним заменяется именем, и раздел выглядит неряшливо. - Сохраните конфигурацию и обновите конфигурацию базы данных (F7).
Для вложенных подсистем правило действует по цепочке. Дочерняя подсистема видна внутри раздела, только если флаг стоит и у неё, и у родителя. Снимите флаг у родителя — пропадут все дочерние, даже с включённым флагом.
Картинка подсистемы на видимость не влияет. Без неё в интерфейсе «Такси» раздел всё равно отобразится, просто со стандартной иконкой. Для аккуратного вида задайте картинку в свойстве Картинка — из общих картинок конфигурации.
Если конфигурация на поддержке
В типовой конфигурации, которая стоит на поддержке без возможности изменения, свойства подсистем серые. Есть два пути:
| Способ | Когда подходит | Последствия |
|---|---|---|
| Расширение конфигурации | Нужен свой раздел или своя подсистема | Типовая остаётся нетронутой, обновления ставятся штатно |
| Включение возможности изменения | Нужно поменять свойства типовой подсистемы | Каждое обновление релиза потребует сравнения и объединения |
Расширения доступны с платформы 8.3.6. В расширении можно создать собственную подсистему, включить её в командный интерфейс и добавить в неё и свои объекты, и заимствованные. Для большинства задач это безопаснее, чем снимать конфигурацию с поддержки.
Что положить внутрь: состав подсистемы и её командный интерфейс
Пустая подсистема в панели разделов не показывается. Платформа выводит раздел, только если в нём есть хотя бы одна команда, доступная текущему пользователю. Поэтому вторым шагом проверьте состав.
- В окне редактирования подсистемы перейдите на вкладку
Состав. - Отметьте флажками справочники, документы, отчёты, обработки и другие объекты, которые должны быть в разделе.
- Проверьте, что у этих объектов на вкладке
Подсистемыих собственных свойств отмечена та же подсистема. Это одна и та же связь, видимая с двух сторон.
Включить объект в состав мало: его команды тоже должны попасть в командный интерфейс подсистемы. В окне редактирования подсистемы найдите ссылку или кнопку Командный интерфейс и откройте редактор. Там видны группы панели навигации и панели действий. У каждой команды есть колонка видимости: если она снята для всех, раздел снова окажется пустым.
Частые причины «пустого» раздела:
- 📦 в состав добавлены только регистры сведений или перечисления, а их команды скрыты по умолчанию;
- 🧩 у отчёта или обработки нет команды открытия в командном интерфейсе, а сам объект включён только в состав;
- 🔒 в редакторе командного интерфейса подсистемы у всех команд снята видимость;
- 🧱 объекты подчинены функциональной опции, которая выключена (про это — отдельный раздел ниже).
Видимость раздела по ролям в командном интерфейсе конфигурации
Даже при правильных свойствах подсистему можно скрыть на уровне всей конфигурации. Это делается в редакторе панели разделов.
- Щёлкните правой кнопкой мыши по корню дерева метаданных — по имени конфигурации.
- Выберите
Открыть командный интерфейс конфигурации. - В открывшемся окне найдите строку с вашей подсистемой.
- Проверьте колонку общей видимости и колонки отдельных ролей. Если у раздела снята видимость по умолчанию и не отмечена ни одна роль пользователя, раздел он не увидит.
- Здесь же стрелками задаётся порядок разделов в панели. Новая подсистема по умолчанию встаёт в конец списка.
Видимость в этом редакторе — именно настройка отображения, а не права. Раздел, скрытый здесь, нельзя открыть кнопкой, но объекты из него пользователь может открыть другими путями, если у него есть права.
Панель разделов есть ли вообще
Редкий, но обидный случай: раздел настроен верно, а панели разделов в интерфейсе нет. Проверьте расположение панелей. Для этого в контекстном меню корня конфигурации выберите Открыть интерфейс клиентского приложения. В открывшемся окне видно, какие панели размещены в окне приложения. Если панель разделов убрана из видимой области, её нужно вернуть.
Ещё одна причина — база запускается в режиме обычного приложения (толстый клиент, старый интерфейс). Панели разделов там нет вообще: подсистемы появляются только в управляемом приложении. Режим запуска задаётся в свойствах конфигурации, свойство Основной режим запуска, и в настройках базы в окне запуска.
Права доступа: почему один пользователь видит раздел, а другой нет
Классическая жалоба: «у администратора раздел есть, у бухгалтера нет». Почти всегда дело в ролях. Платформа показывает подсистему, только если у пользователя есть право Просмотр хотя бы на один объект с видимой командой внутри неё.
Как проверить:
- В Конфигураторе откройте
Общие → Ролии найдите роль, назначенную пользователю. - Откройте её и пройдитесь по объектам из состава подсистемы. Нужны права
Просмотрдля открытия списка иИспользованиедля отчётов и обработок. - Сравните с ролью, под которой раздел виден. Разница сразу покажет, чего не хватает.
В типовых конфигурациях на БСП роли напрямую обычно не назначают. Права выдаются через профили групп доступа в пользовательском режиме: Администрирование → Настройки пользователей и прав → Группы доступа. Если вы добавили новую роль в конфигурацию, её нужно включить в профиль группы доступа, иначе пользователь её так и не получит.
Не давайте пользователю роль «Полные права», чтобы просто «вернуть раздел». Раздел появится, но вместе с ним откроется доступ ко всем данным и настройкам базы. Ищите конкретное право, которого не хватает.
Удобный способ найти расхождение — открыть базу в режиме 1С:Предприятие под проблемным пользователем. Если раздел не виден и под ним, а под администратором виден, причина точно в правах или ролевой видимости, а не в метаданных.
Функциональные опции и видимость на уровне форм
Функциональная опция включает и выключает части прикладного решения без правки кода. Её значение хранится в константе. Если объекты подсистемы подчинены опции, а константа равна Ложь, их команды скрываются. Раздел становится пустым — и исчезает.
В типовых конфигурациях это выглядит так: раздел «Склад» или «Зарплата и кадры» пропадает, потому что в настройках функциональности учёт отключён. В БП 3.0 такие флаги собраны в Главное → Настройки → Функциональность. Включите нужный блок — раздел вернётся после перезапуска.
В своей конфигурации проверьте:
- ⚙️ у объектов в свойстве
Функциональные опциине указана выключенная опция; - 🗂️ в ветке
Общие → Функциональные опцииу опции вХраненииуказана константа, и её значение в базе —Истина; - 👥 опция не зависит от параметра, который у этого пользователя или организации другой.
Формы внутри раздела
Бывает, что сам раздел виден, но внутри «не видно ничего полезного»: открывается форма, где нужные поля или кнопки спрятаны. Здесь работает уже не подсистема, а форма.
У каждого элемента управляемой формы есть свойство Видимость. Если оно снято в редакторе формы, элемент скрыт для всех. Дополнительно для элементов настраивается видимость по ролям: в палитре свойств у свойства Видимость есть отдельная настройка для конкретных ролей. Командная панель формы и панель навигации
формы настраиваются в редакторе формы на вкладке командного интерфейса формы — там у каждой команды тоже есть флаг видимости.
Пользователь сам может скрыть поле через Ещё → Изменить форму. Такая настройка сохраняется только для него. Если поле пропало у одного человека, первым делом сбросьте его настройки формы: в том же окне Изменить форму есть команда возврата к стандартным настройкам.
Управление видимостью из кода
Напрямую сказать подсистеме «стань видимой» из встроенного языка нельзя: свойства метаданных во время работы не меняются. Управлять отображением программно можно через функциональные опции и через свойства элементов формы.
Пример: включить опцию, сохранённую в константе, и сразу перерисовать интерфейс. Серверная часть меняет константу, клиентская обновляет интерфейс.
&НаСервереБезКонтекста
Процедура ВключитьУчетНаСервере()
Константы.ИспользоватьСкладскойУчет.Установить(Истина);
ОбновитьПовторноИспользуемыеЗначения();
КонецПроцедуры
&НаКлиенте
Процедура ВключитьУчет(Команда)
ВключитьУчетНаСервере();
ОбновитьИнтерфейс();
КонецПроцедуры
Здесь ИспользоватьСкладскойУчет — имя вашей константы, в которой хранится функциональная опция. Метод ОбновитьИнтерфейс() перестраивает командный интерфейс клиента, и раздел, зависящий от опции, появится без перезапуска. Установка константы требует права на её изменение.
Проверить значение опции в коде можно функцией ПолучитьФункциональнуюОпцию():
Если ПолучитьФункциональнуюОпцию("ИспользоватьСкладскойУчет") Тогда
Элементы.ГруппаСклад.Видимость = Истина;
Иначе
Элементы.ГруппаСклад.Видимость = Ложь;
КонецЕсли;
Такой код обычно ставят в обработчик ПриСозданииНаСервере формы. Для элементов формы есть и более короткий вариант: связать элемент с функциональной опцией прямо в его свойствах, тогда код не нужен вовсе.
Если видимость зависит от роли, а не от настройки, используйте РольДоступна("ИмяРоли") в ПриСозданииНаСервере. Но помните: скрытый элемент не равен закрытому доступу. Права ограничивайте ролями, а видимостью — только убирайте лишнее с экрана.
Изменения сделаны, а раздела нет: обновление базы и кэш клиента
Самая частая «мистика» — всё настроено, но пользователи ничего не видят. Обычно причина в том, что изменения не дошли до базы или до клиента.
Пройдите по шагам:
- Убедитесь, что конфигурация базы данных обновлена. Если в заголовке Конфигуратора или в дереве видна пометка об отличии основной конфигурации от конфигурации базы данных, нажмите F7.
- Если обновление прошло динамически, при работающих пользователях, они увидят изменения только после перезапуска 1С.
- Попросите пользователя полностью закрыть 1С и открыть заново.
- Не помогло — запустите клиент с параметром очистки кэша.
Параметр /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С у этого пользователя должна быть полностью закрыта. Удаление кэша при открытом клиенте может оборвать сеанс с потерей несохранённых данных. Делайте это в перерыве или после рабочего дня.
Последний шаг — настройки пользователя. Человек мог сам убрать раздел через настройку панели разделов (главное меню → Вид → Настройка панели разделов). Проверьте там, не перенесён ли раздел в список скрытых. В конфигурациях на БСП администратор может очистить или скопировать настройки пользователя через Администрирование → Настройки пользователей и прав.