|
03.03.2015, 19:40 | #1 |
Участник
|
Как заставить query добавленный в run time отобразится в диалоговом окне SSRS отчета?
Почему query добавленный в параметры таким образом, не отображается в диалоговом окне SSRS отчета?
X++: SrsReportRunController reportRun = new SrsReportRunController(); MyContract dataContract; Map queryContracts; reportRun.parmReportName(ssrsReportStr(MyReport, PrecisionDesign)); reportRun.parmLoadFromSysLastValue(true); reportRun.parmShowDialog(true); queryContracts = reportRun.parmReportContract().parmQueryContracts(); if (!queryContracts) { queryContracts = new Map(Types::String, Types::Class); queryContracts.insert('VendTable', new Query(queryStr(VendTableListPage))); reportRun.parmReportContract().parmQueryContracts(queryContracts); } reportRun.startOperation(); |
|
03.03.2015, 22:57 | #2 |
Участник
|
Надо делать так
X++: reportRun.parmReportContract().parmQueryContracts().insert(reportRun.getFirstQueryContractKey(), new Query(queryStr(VendTableListPage))); Таким образом устанавливается запрос, который будет использоваться при генерации отчета без вызова диалога. Если же вам надо изменить запрос, который отображается в диалоге, то надо идти через DataContract Примерно так X++: SysOperationQueryDataContractInfo contract; ... contract = reportRun.getDataContractInfoObject(reportRun.getFirstQueryContractKey()); contract.parmQuery(new Query(queryStr(VendTableListPage))); reportRun.startOperation();
__________________
Axapta v.3.0 sp5 kr2 |
|
|
За это сообщение автора поблагодарили: trud (2), Morpheus (3), kitty (1), gl00mie (3), Jorj (1). |
|
|