Почему новая подсистема не отображается в панели разделов интерфейса «Такси»?

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

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

Разберем состав объектов подсистемы

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

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

  1. Наличие основной схемы компоновки данных (СКД). Если у отчета не создана схема, платформа не знает, как его формировать по умолчанию, и может не выводить его в меню.
  2. Наличие формы отчета. Если вы не используете СКД, у отчета обязательно должна быть создана основная форма отчета или внедрено программное изменение форм.

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

Проанализируем командный интерфейс подсистемы

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

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

Выясним причину в правах доступа

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

Пошаговый план проверки прав:

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

Проверим свойство «Включать в панель разделов»

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

Если же ваша подсистема является подчиненной (вложена в другую подсистему), она по умолчанию не выводится в главную панель разделов. В этом случае она будет отображаться внутри родительского раздела в виде группы команд. Если вы хотите видеть её именно в главной панели, её необходимо вынести на верхний уровень иерархии метаданных.

Влияние функциональных опций

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

Настройка видимости по ролям в свойствах подсистемы

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

Пользовательские настройки и кэш интерфейса

Иногда программная часть настроена верно, но интерфейс не обновляется из-за локальных настроек пользователя или кэша платформы. 1С запоминает индивидуальные настройки панелей. Если пользователь ранее вручную настраивал свою панель разделов, новая подсистема может автоматически попасть в список невыбранных элементов. Для анализа и сброса сохраненных параметров интерфейса можно использовать обработку для просмотра и очистки хранилища настроек пользователей.

В этом случае попробуем выполнить следующие действия:

  1. Зайдем в меню «Настройки» — «Настройка панели разделов».
  2. Посмотрим, нет ли нашей подсистемы в левой колонке (доступные разделы). Если есть — просто перенесем её в правую.
  3. Если это не помогло, нажмем кнопку Установить стандартные настройки.

Если и после сброса настроек подсистема не появилась, стоит попробовать очистить временные файлы (кэш) платформы. Рассмотрим пример использования параметра запуска для очистки кэша в строке запуска информационной базы:

/ClearCache

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

Специфика разработки в расширениях

Если вы добавляете подсистему через расширение конфигурации, обратите внимание на следующие моменты:

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

← На главную