Насколько я понимаю, и не поменяет, надо заново компоновать макет. Пример если не изменились поля. В макете был запрос: "ВЫБРАТЬ 1 КАК Поле1 ИЗ Справочник.Номенклатура КАК Номенклатура";
&НаСервере Функция СформироватьНаСервере() ОтчетОбъект = РеквизитФормыВЗначение("Отчет"); ОтчетОбъект.ЭтотОбъект.СхемаКомпоновкиДанных.НаборыДанных[0].Запрос = "ВЫБРАТЬ 2 КАК Поле1 ИЗ Справочник.Номенклатура КАК Номенклатура";
СКД=ОтчетОбъект.ЭтотОбъект.СхемаКомпоновкиДанных;
КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных; Макет = КомпоновщикМакета.Выполнить(СКД, ОтчетОбъект.ЭтотОбъект.КомпоновщикНастроек.Настройки);
ПроцессорКомпоновки = Новый ПроцессорКомпоновкиДанных; ПроцессорКомпоновки.Инициализировать(Макет);
ТабДок=Новый ТабличныйДокумент;
ПроцессорВывода= Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент; ПроцессорВывода.УстановитьДокумент(ТабДок); ПроцессорВывода.Вывести(ПроцессорКомпоновки);
(0) В качестве альтернативы программному изменению запроса: можно создать несколько схем компоновки в одном отчете и в зависимости от каких-то условий использовать ту или иную.