() Есть, и не только предположения, а реализация , сейчас статья на модерации , надеюсь завтра станет доступной.
Идея у тебя по сути правильная - надо изменять КомпоновщикНастроек но непосредственно перед инициализацией и для каждого отчета задавать свои ограничения , вот например для карточки счета
Если ИдентификаторОбъекта = "КарточкаСчета" тогда // Для карточки счета необходимо изменить Стандартный запрос для парметров СКД
//СКД = ОтчетОбъект.СхемаКомпоновкиДанных; // Получим СКД
ОтборДтНайден = Ложь; // Флаги для поиска ранее установленных отборов
ОтборКтНайден = Ложь;
//Для стандартного отчета Карточка счета нет возможности установить отбор по счетам. Для возможности добавления отбора необходимо
//поменять текст запроса для СКД ( в части настроек для СКД , т.е. основной текст запроса не меняется )
Запрос = СКД.НаборыДанных.Проводки.Запрос; // получим текст запроса
Запрос = СтрЗаменить(Запрос,"Проводки.ПериодГруппировки}", "Проводки.ПериодГруппировки,"+Символы.ПС
+ "Проводки.СчетДт.*,"+Символы.ПС+ "Проводки.СчетКт.*}"+Символы.ПС); // Изменяем текст для компоновщика добавляя поля СчетДт И СчетКТ
СКД.НаборыДанных.Проводки.Запрос = Запрос; // Устанавливаем новый текст Запроса
//Теперь в СКД нам доступны поля отбора СчетДт и СчетКт и по ним возможно устанавливать отбор. Попробуем найти ранее установленые отборы
ОтборДтНайден = ПоискиУстановкаОтбора(НастройкаКомпоновкиДанных,"СчетДт",ВидСравненияКомпоновкиДанных.НеВСписке,СписокЗапрещенныхСчетов);
ОтборДтНайден = ПоискиУстановкаОтбора(НастройкаКомпоновкиДанных,"СчетКт",ВидСравненияКомпоновкиДанных.НеВСписке,СписокЗапрещенныхСчетов);
Если Не ОтборДтНайден тогда // Если указанный отбор не найден, то установим его
ДобавитьОтбор(НастройкаКомпоновкиДанных,"СчетДт",ВидСравненияКомпоновкиДанных.НеВСписке,СписокЗапрещенныхСчетов,Истина);
КонецЕсли;
Если Не ОтборКтНайден тогда // Если указанный отбор не найден, то установим его
ДобавитьОтбор(НастройкаКомпоновкиДанных,"СчетКт",ВидСравненияКомпоновкиДанных.НеВСписке,СписокЗапрещенныхСчетов,Истина);
КонецЕсли;
КонецЕсли;
Показать
Более подробно как все реализовано уже надо читать в статье.