Почему внешний отчет не виден в подсистемах 1С:УНФ и как это исправить

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

При работе с конфигурацией «1С:Управление нашей фирмой» (УНФ) программисты часто сталкиваются с ситуацией, когда внешний отчет успешно зарегистрирован в справочнике Дополнительные отчеты и обработки, для него корректно указаны разделы интерфейса (подсистемы), но при переходе в соответствующий раздел отчет отсутствует в списке. При этом, если отключить фильтр по подсистеме в окне отчетов, отчет становится виден. Давайте разберем, почему стандартные механизмы БСП (Библиотеки стандартных подсистем) в данном случае работают иначе, и как добиться корректного отображения плиток отчетов в интерфейсе УНФ.

Особенности механизма панелей отчетов в УНФ

Для начала проанализируем ситуацию: в большинстве типовых конфигураций (например, в «1С:Бухгалтерии» или «1С:Управлении торговлей») список отчетов строится динамически на основе привязки к подсистемам. Однако в УНФ используется более сложный, «плиточный» интерфейс. Здесь отчеты группируются не только по подсистемам, но и по внутренним тегам. Если у внешнего отчета или его варианта не заполнены теги в специализированных регистрах, система считает его «неклассифицированным» и скрывает из основной панели подсистемы, чтобы не перегружать интерфейс пользователя.

Разберем по шагам, какие объекты участвуют в этом процессе:

  1. Справочник Дополнительные отчеты и обработки — здесь хранится сам файл отчета.
  2. Справочник Варианты отчетов — здесь хранятся настройки отображения для каждого варианта отчета (включая внешние).
  3. Регистр сведений Настройки вариантов отчетов УНФ — ключевое место, где хранятся теги и привязки к функциональным панелям.

Способ 1: Ручная корректировка регистра настроек

Как выяснилось в ходе обсуждения проблемы, самым быстрым способом «проявить» отчет является прямое редактирование настроек. Рассмотрим подробнее, как это сделать:

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

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

Способ 2: Настройка через интерфейс «Все отчеты»

Если мы не хотим работать напрямую с регистрами, воспользуемся пользовательским интерфейсом. Проанализируем этот путь:

  1. Откроем раздел, в котором должен отображаться отчет (например, Продажи).
  2. Нажмем на гиперссылку Отчеты, чтобы открылась панель отчетов подсистемы.
  3. Нажмем кнопку Все отчеты (обычно находится в верхней части формы).
  4. В открывшемся списке найдем наш внешний отчет. Если его нет, убедимся, что в фильтрах не стоит ограничение только по стандартным отчетам.
  5. Выделим отчет, нажмем правую кнопку мыши или кнопку Еще и выберем пункт Разместить в группе или Настроить.
  6. После того как мы вручную укажем место отчета в структуре панели, система сама создаст нужную запись в регистре Настройки вариантов отчетов УНФ.

Способ 3: Программная регистрация тегов

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

В модуле объекта внешнего отчета в функции СведенияОВнешнейОбработке() мы описываем базовые параметры. Однако для УНФ этого мало. Мы можем добавить код в процедуру установки или использовать обработчик обновления. Рассмотрим пример кода, который принудительно обновляет настройки вариантов отчетов:


// Пример вызова обновления вариантов отчетов
ПараметрыОбновления = Справочники.ВариантыОтчетов.ПараметрыОбновления();
ПараметрыОбновления.ОбновитьВсе = Истина;
Справочники.ВариантыОтчетов.Обновить(ПараметрыОбновления);

Однако более надежным методом для УНФ является запись в регистр НастройкиВариантовОтчетовУНФ напрямую. Проанализируем пример логики:


МенеджерЗаписи = РегистрыСведений.НастройкиВариантовОтчетовУНФ.СоздатьМенеджерЗаписи();
МенеджерЗаписи.ВариантОтчета = СсылкаНаВариант; // Ссылка из справочника "Варианты отчетов"
МенеджерЗаписи.Пользователь = Справочники.Пользователи.ПустаяСсылка(); // Для всех пользователей
МенеджерЗаписи.Теги = "МоиОтчеты, Склад";
МенеджерЗаписи.Видимость = Истина;
МенеджерЗаписи.Записать();

Дополнительные факторы: кэширование и права доступа

Если после манипуляций с регистром отчет все равно не появился, разберем еще несколько критических моментов:

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

Таким образом, мы выяснили, что секрет видимости внешнего отчета в УНФ кроется не в стандартной привязке к подсистемам БСП, а в системе тегирования и классификации плиточного интерфейса конфигурации. Используя ручную правку регистра или настройку через форму «Все отчеты», вы сможете оперативно решить проблему отображения.

← На главную