При разработке отчетов в конфигурациях на базе Библиотеки стандартных подсистем (БСП) разработчики часто сталкиваются с ситуацией, когда добавленный в метаданные отчет и настроенные для него в Конфигураторе варианты не появляются в пользовательском интерфейсе 1С:Предприятие. Давайте разберем, почему это происходит и как заставить БСП «увидеть» ваши отчеты.
Механизм ВариантыОтчетов в БСП работает не через простое включение отчета в дерево метаданных. БСП использует собственный регистр сведений для хранения настроек и прав доступа к вариантам отчетов. Если отчет не прошел процедуру регистрации в коде подсистемы, встроенные механизмы (такие как панель отчетов или командный интерфейс) просто «не знают» о его существовании или считают его недоступным.
Для того чтобы система признала отчет, необходимо описать его параметры в модуле менеджера отчета или в общем модуле ОтчетыПереопределяемый. Рассмотрим, как это делается правильно.
В модуле менеджера вашего отчета необходимо создать процедуру ПриОпределенииНастроекВариантовОтчетов. Этот метод позволяет задать базовые параметры отчета:
Процедура ПриОпределенииНастроекВариантовОтчетов(Настройки) Экспорт
// Задаем параметры отчета
Настройка = Настройки.Варианты.Добавить();
Настройка.Отчет = Метаданные.Отчеты.ВашОтчет;
Настройка.Описание = НСтр("ru = 'Основной вариант отчета'");
// Добавляем настройки самого варианта
// Здесь мы можем указать доступность для конкретных ролей или подсистем
КонецПроцедуры
Даже если вы добавили код регистрации, настройки могут не примениться мгновенно. БСП хранит параметры вариантов в информационной базе для быстрого доступа. Чтобы инициировать обновление этих данных, необходимо выполнить процедуру обновления информационной базы.
1С:Предприятие под пользователем с полными правами (Администратор).Администрирование — Обслуживание.1С выполняются регламентные задания по обновлению данных БСП.Инструменты разработчика или вызвав программно процедуру ОбновитьИнформационнуюБазу.Одной из частых причин скрытия отчетов является ограничение на уровне Ролей. БСП активно использует механизм Ограничение доступа на уровне записей (RLS). Проверьте следующее:
Чтение или Использование отчета.Подсистем, которые доступны пользователю. Если отчет «висит в воздухе» и не включен ни в одну доступную пользователю подсистему, он будет скрыт интерфейсом.Пометить на удаление в настройках варианта отчета внутри регистра сведений ВариантыОтчетов (через Все функции — Регистры сведений).Современные редакции БСП требуют, чтобы описание настроек находилось в Модуле менеджера объекта. Убедитесь, что ваш отчет имеет следующую структуру:
// В модуле менеджера отчета
Процедура ОпределитьНастройкиФормы(Форма, КлючВарианта, Настройки) Экспорт
// Дополнительная настройка поведения формы отчета
КонецПроцедуры
Проанализируйте, включен ли отчет в функциональные опции, если таковые используются в вашей конфигурации. БСП часто скрывает объекты, если функциональная опция, связанная с этим отчетом, отключена в настройках системы.
Итог: Чтобы решить проблему, не пытайтесь «обмануть» БСП. Используйте стандартный метод ПриОпределенииНастроекВариантовОтчетов, проверьте включение отчета в Подсистемы и убедитесь, что у пользователей есть соответствующие права доступа. После внесения изменений в код, всегда выполняйте полный перезапуск сеанса, чтобы кэш настроек БСП обновился корректно.