Одно из решений - переопределить процедуру определения дополнительных вариантов отчетов из БСП.
Настройка в БСП производится здесь:
Далее добавляем расширение, в котором переопределяем процедуру ПриДобавленииДополнительныхОтчетовДоступныхТекущемуПользователю из общего модуля ДополнительныеОтчетыИОбработки
&Вместо("ПриДобавленииДополнительныхОтчетовДоступныхТекущемуПользователю")
Процедура доп_ПриДобавленииДополнительныхОтчетовДоступныхТекущемуПользователю(ДоступныеОтчеты)
Если Не ПолучитьФункциональнуюОпцию("ИспользоватьДополнительныеОтчетыИОбработки") Тогда
Возврат;
КонецЕсли;
Если Не ПравоДоступа("Чтение", Метаданные.Справочники.ДополнительныеОтчетыИОбработки) Тогда
Возврат;
КонецЕсли;
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ РАЗРЕШЕННЫЕ РАЗЛИЧНЫЕ
| ДополнительныеОтчетыИОбработки.Ссылка
|ИЗ
| Справочник.ДополнительныеОтчетыИОбработки КАК ДополнительныеОтчетыИОбработки
//ИЗМ+
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ВариантыОтчетов КАК ВариантыОтчетов
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.НастройкиВариантовОтчетов КАК НастройкиВариантовОтчетов
| ПО (ВариантыОтчетов.Ссылка = НастройкиВариантовОтчетов.Вариант)
| ПО (ВариантыОтчетов.Отчет = ДополнительныеОтчетыИОбработки.Ссылка)
//ИЗМ-
|ГДЕ
| ДополнительныеОтчетыИОбработки.ИспользуетХранилищеВариантов
| И ДополнительныеОтчетыИОбработки.Вид В (&ВидДополнительныйОтчет, &ВидОтчет)
| И НЕ ДополнительныеОтчетыИОбработки.Ссылка В (&ДоступныеОтчеты)
//ИЗМ+
| И (НастройкиВариантовОтчетов.Пользователь IS NULL ИЛИ НастройкиВариантовОтчетов.Пользователь=&ТекущийПользователь)";
Запрос.УстановитьПараметр("ДоступныеОтчеты", ДоступныеОтчеты);
Запрос.УстановитьПараметр("ВидОтчет", Перечисления.ВидыДополнительныхОтчетовИОбработок.Отчет);
Запрос.УстановитьПараметр("ВидДополнительныйОтчет", Перечисления.ВидыДополнительныхОтчетовИОбработок.ДополнительныйОтчет);
Запрос.УстановитьПараметр("ТекущийПользователь", ПараметрыСеанса.ТекущийПользователь);
Выборка = Запрос.Выполнить().Выбрать();
Пока Выборка.Следующий() Цикл
Если Не ЭтоПоставляемаяОбработка(Выборка.Ссылка) Тогда
Продолжить;
КонецЕсли;
ДоступныеОтчеты.Добавить(Выборка.Ссылка);
КонецЦикла;
КонецПроцедуры
После этого отчет в панели отчета будут видеть только указанные пользователи.
Проверялось на БСП 3.1.7
Проверено на следующих конфигурациях и релизах:
- 1С:ERP Управление предприятием 2, релизы 2.5.17.84
- Управление торговлей, редакция 11, релизы 11.5.17.84
- 1С:Комплексная автоматизация 2, релизы 2.5.17.84