Дорабатывать вам придется Отчет.УниверсальныйОтчет - модуль объекта
Или делать свой
Если через доработку УниверсальныйОтчет
1)
Процедура ПолучитьСтруктуруИзмеренийСтроки(Макет)
заменяем на
Процедура ПолучитьСтруктуруИзмеренийСтроки(Макет, ИмяОтчета = "")
2)
Положение = ПолучитьПоложениеВыбранногоПоля(ВыбранноеПоле.Имя);
на
//доработка
Если РольДоступна("РольяДляпринудительнойГрупирвки") И ИмяОтчета = "ВедомостьРасчетыСКонтрагентами" тогда
Положение = "Послегруппировки";
иначе
Положение = ПолучитьПоложениеВыбранногоПоля(ВыбранноеПоле.Имя);
КонецЕсли;
//доработка
3) В ПолучитьМакетПостротеляОтчета
ПолучитьСтруктуруИзмеренийСтроки(АвтоматическийМакет);
на
ПолучитьСтруктуруИзмеренийСтроки(АвтоматическийМакет, ИмяОтчета);
4) в СформироватьОтчет
ПостроительОтчета.Макет = ПолучитьМакетПостротеляОтчета();
На
//доработка
Если РольДоступна("РольПользователя") И ТипЗнч(Отчет) = тип("ОтчетОбъект.ВедомостьРасчетыСКонтрагентами") тогда
ПостроительОтчета.Макет = ПолучитьМакетПостротеляОтчета("ВедомостьРасчетыСКонтрагентамиПоля");
Иначе
ПостроительОтчета.Макет = ПолучитьМакетПостротеляОтчета();
КонецЕсли;
Я не проверил работоспособность, поменять программно можно в этом месте. Нужна проверка на пользователя, на имя отчета, что бы другие отчеты не полетели