Почему сохраненный вариант отчета СКД не отображается в подменю «Варианты отчета» и как это исправить?

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

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

Рассмотрим подробно причины такого поведения подсистемы и разберем варианты решения проблемы.

Причины скрытия вариантов отчета в подсистеме БСП

Проанализируем механику работы библиотеки стандартных подсистем (БСП). В конфигурациях, где внедрена подсистема «Варианты отчетов», вывод списка вариантов в быстром подменю контролируется специальным справочником и регистрами сведений.

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

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

Способ 1. Программная настройка вариантов в модулях БСП

Разберем, как правильно зарегистрировать варианты отчета на уровне кода. За управление вариантами отчетов в БСП отвечает общий модуль ВариантыОтчетовПереопределяемый, а также модуль менеджера самого отчета.

В модуле ВариантыОтчетовПереопределяемый расположены основные процедуры-заглушки, предназначенные для переопределения разработчиком:

Посмотрим на пример заполнения процедуры НастроитьВариантыОтчетов в модуле менеджера отчета:


Процедура НастроитьВариантыОтчетов(Настройки) Экспорт
    
    ВариантНастройка = ВариантыОтчетов. ОписаниеВарианта(Настройки, ЭтотОбъект, "Основной");
    ВариантНастройка.Описание = НСтр("ru = 'Основной вариант отчета'");
    ВариантНастройка.ВидимостьПоУмолчанию = Истина;
    
КонецПроцедуры

Если в модуле отчета описана данная процедура, БСП считывает параметры вариантов и корректно помещает их в быстрое выпадающее меню.

Способ 2. Обновление вспомогательных данных и идентификаторов

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

Для выполнения обновления выполним следующие шаги:

  1. Запустим конфигурацию в режиме «1С:Предприятие» от имени администратора.
  2. Откроем обработку «Обновление вспомогательных данных» (из состава БСП соответствующей версии).
  3. Запустим обновление идентификаторов объектов метаданных и данных подсистемы вариантов отчетов.

Обратите внимание: если при запуске внешней обработки возникает ошибка вида Метод объекта не обнаружен (ОбновитьОбщиеДанные) у модуля МодульВариантыОтчетов, это означает, что используется устаревшая версия внешней обработки, не соответствующая релизу БСП в вашей конфигурации. В новых релизах БСП состав экспортных процедур был изменен. Для решения проблемы следует использовать актуальную версию обработки из дистрибутива БСП или запустить обновление информационной базы через параметр командной строки /C ЗапускОбновленияИнформационнойБазы.

Способ 3. Настройка видимости варианта в режиме «1С:Предприятие»

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

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

После установки флага размещения в разделах БСП начнет выводить вариант в быстром выпадающем подменю внутри формы отчета.

Способ 4. Использование стандартного хранилища вариантов платформ

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

  1. Откроем отчет в Конфигураторе.
  2. В палитре свойств отчета найдем свойство Хранилище вариантов отчетов.
  3. Установим значение в ХранилищеВариантовОтчетов.

В этом случае сохранение и выбор вариантов будет осуществляться средствами платформы 1С напрямую, в обход справочников и логики библиотеки БСП.

← На главную