Create a enum and set it on menu item properties as example below.
override method preRunModifyContract on report controller class as example code below.
protected void preRunModifyContract() { //modify the parameter value of the contract // if( element.args().parmEnumType() == EnumNum( NoYes ) ) if(this.parmArgs().parmEnumType() == enumNum(TIDSalesDailyRecon)) { switch(this.parmArgs().parmEnum()) { case TIDSalesDailyRecon::SalesInvoice : SrsReportHelper::addParameterValueRangeToQuery(this.getFirstQuery(),tableNum(RetailTransactionPaymentTrans),fieldNum(RetailTransactionPaymentTrans, RecId),SysQuery::value(5637149251)); break; case TIDSalesDailyRecon::SalesReturn : SrsReportHelper::addParameterValueRangeToQuery(this.getFirstQuery(),tableNum(RetailTransactionPaymentTrans),fieldNum(RetailTransactionPaymentTrans, RecId),SysQuery::value(this.parmArgs().record().RecId)); break; case TIDSalesDailyRecon::SalesExIndent : break; } } }
this.parmArgs().record().RecId value is come from :
SrsReportRunController controller; Args = new Args() controller = new SrsReportRunController(); args.record(TABLES_record); controller.parmReportName(ssrsReportStr(REPORT_NAME, REPORT_DESIGN_NAME)); controller.startOperation();
source :
1. http://www.dynamics101.com/2014/01/using-controller-class-developing-ssrs-reports-microsoft-dynamics-ax-2012/
2. http://dynamics.folio3.com/x-tips-and-tricks-passing-parameters-microsoft-dynamics-ax/