Как скрыть подсистему из командного интерфейса и настроить раздел Главное

Программист 1С v8.3 (Управляемые формы) IT и автоматизация бизнеса
← На главную

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

Настройка видимости через командный интерфейс конфигурации

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

  1. Откроем дерево конфигурации и нажмем правой кнопкой мыши на самый верхний корень (название конфигурации).
  2. Выберем пункт Открыть командный интерфейс конфигурации.
  3. Перед нами откроется окно, где перечислены все подсистемы верхнего уровня, включенные в командный интерфейс. В колонках будут перечислены все роли, созданные в системе.
  4. Проанализируем таблицу: на пересечении подсистемы и конкретной роли стоит флажок видимости. Чтобы скрыть подсистему у большинства пользователей, нам нужно снять флажки во всех колонках, кроме той роли, которой этот интерфейс предназначен.

Важный нюанс: если в конфигурации много ролей, удобнее использовать кнопку «Установить видимость по умолчанию» или «Снять видимость у всех», а затем точечно включить нужные права. Рассмотрим ситуацию, когда подсистема все равно видна. Это происходит потому, что настройки пользователя могут быть сохранены в кэше базы данных. Мы рекомендуем после внесения изменений в конфигураторе выполнить очистку настроек интерфейса для пользователя в режиме «1С:Предприятие» через меню Администрирование — Настройки пользователей и прав — Очистка настроек.

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

Если нам требуется более динамичное управление, чем жесткая привязка к ролям, мы можем использовать механизм Функциональных опций (ФО). Это позволяет скрывать подсистемы программно или в зависимости от настроек системы (например, от значения константы).

Выполним следующие шаги для настройки:

  1. Создадим новую Константу (например, ИспользоватьНовуюПодсистему) с типом Булево.
  2. Создадим объект Функциональная опция, в свойстве Хранение укажем нашу константу.
  3. На вкладке Состав выберем нашу подсистему. Теперь, если значение константы будет Ложь, подсистема исчезнет из интерфейса у всех пользователей сразу, независимо от их прав.

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

Как полностью скрыть или очистить раздел Главное

Раздел Главное является специфическим системным элементом. В типовых конфигурациях (БП 3.0, ЗУП 3.1) он часто содержит не только ссылки на объекты, но и информационные панели, новости или виджеты. Разберем, как минимизировать его присутствие.

Во-первых, выясним причину появления элементов в этом разделе. Как правило, в раздел «Главное» попадают объекты, у которых не указана ни одна другая подсистема, либо те, которые явно в него добавлены. Чтобы скрыть сам раздел из панели, мы должны зайти в тот же Командный интерфейс конфигурации и снять флажок видимости у раздела «Главное» для соответствующих ролей.

Во-вторых, разберемся с рабочим столом (Начальной страницей), который часто путают с разделом «Главное»:

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

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

Скрытие объектов через отключение стандартных команд

Иногда подсистема кажется «раздутой» из-за автоматического добавления команд создания объектов или отчетов. Выясним, как это контролировать. У каждого справочника или документа есть свойство Использовать стандартные команды.

Если снять этот флажок, объект перестанет автоматически появляться в панелях «Создать» или в списках «Отчеты» подсистемы. Это позволяет оставить объект в составе подсистемы (для прав доступа), но не выводить его в пользовательский интерфейс. Рассмотрим пример:

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

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

Программное управление видимостью (Продвинутый уровень)

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


// В модуле сеанса установим параметр
Процедура УстановкаПараметровСеанса(ТребуемыеПараметры)
    ПараметрыСеанса.ДоступКТехническомуРазделу = ПроверитьДоступПользователяКРазделу();
КонецПроцедуры

Затем создаем функциональную опцию, привязанную к этому параметру сеанса, и включаем в ее состав нужную подсистему. При запуске системы 1С вычислит значение параметра, и интерфейс перестроится автоматически под конкретного пользователя.

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

← На главную