0
IvanGorbunov
16.12.18
✎
12:26
|
Если программно менять текст запроса, в котором должны появляться новые неизвестные заранее параметры (иначе программно он бы не изменялся), то потом отчет не формируется, говорит "Неверные параметры".
Если смотреть отладчиком "КомпоновщикНастроек.Настройки.ПараметрыДанных", то там действительно нет параметров, которые появились в новом тексте запроса. Если бы они там существовали, то я бы без проблем заполнил их значения.
Меняю текст запроса так:
Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)
СтандартнаяОбработка = Ложь;
КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
//установим свой текст запроса
СхемаКомпоновкиДанных = ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных");
СхемаКомпоновкиДанных.НаборыДанных.НаборДанных1.Запрос = ПолучитьТекстЗапроса();
МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, КомпоновщикНастроек.ПолучитьНастройки(), ДанныеРасшифровки);
УстановитьПараметрыНаборуМакет(МакетКомпоновки.НаборыДанных.НаборДанных1.ЗначенияПараметров);
// Скомпонуем результат
ПроцессорКомпоновки = Новый ПроцессорКомпоновкиДанных;
ПроцессорКомпоновки.Инициализировать(МакетКомпоновки, , ДанныеРасшифровки);
ДокументРезультат.Очистить();
// Выводим результат в табличный документ
ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
ПроцессорВывода.УстановитьДокумент(ДокументРезультат);
ПроцессорВывода.Вывести(ПроцессорКомпоновки);
КонецПроцедуры
|
|
3
IvanGorbunov
16.12.18
✎
13:28
|
Оказывается я все делал правильно, просто заполняя параметры в цикле из своего списка значений передавал не значение элемента списка значений, а сам элемент списка значений)
|
|