Все верно. Ты ведь меняешь запрос который в классе.
То есть тебе нужно:
1. Или менять непосредственно запрос отчета (код ниже)
2. Или менять код класса, а потом присваивать его запросу отчета
rr.report().query(queryRun.query())
3. Я обычно просто передаю параметр в отчет, а уже в нем меняю запрос в зависимости от переданного параметра.
Цитата:
Сообщение от
Smith
Код, вызывающий отчет:
Код:
ReportRun rr;
Args args = new Args(reportStr(DamageActEx));
;
args.caller(this);
rr = new ReportRun(args);
rr.printJobSettings(this.printJobSettings().packPrintJobSettings());
query = rr.report().query();
qbsPDT = query.dataSourceTable(tableNum(PriceDiscTable));
qbsPDT.findRange(fieldNum(PriceDiscTable, FromDate)).value(queryValue(fromDate));
qbsPDT.findRange(fieldNum(PriceDiscTable, Relation)).value(queryValue(PriceType::LineDiscSales));
qbsPDT.findRange(fieldNum(PriceDiscTable, AccountRelation)).value(queryValue(accountRelation));
qbsPDT.addRange(fieldNum(PriceDiscTable, InventLocationId)).value(InventLocationId);
qbsPDT.addRange(fieldNum(PriceDiscTable, ReDisc)).value(queryValue(NoYes::Yes));
rr.report().interactive(false);
rr.report().query().interactive(false);
rr.init();
rr.run();
Вот где-то вот так.