How to Open multiple instances of Report at the same time using X++ code in D365 Fo
1.) Declare contract Class 2 variales
List customerList;
str customer;
[DataMemberAttribute('customer'), SysOperationLabelAttribute("customer Account")]
public str ParmCustomer(str _customer = customer)
{
customer = _customer;
return customer;
}
[DataMemberAttribute('customerList'),SysOperationLabelAttribute("customer"),AifCollectionTypeAttribute("customerList", Types::String)]
public List ParmcustomerList(List _customerList = customerList)
{
customerList = _customerList;
return customerList;
}
2). controller class
public static void main(Args _args)
{
ControllerClassObject mainController = new ControllerClassObject ();
mainController.parmArgs(_args);
mainController.parmShowDialog(true);
mainController.parmReportName(ssrsReportStr(ReportName, DesignName));
mainController.parmLoadFromSysLastValue(false);
if(mainController.prompt())
{
mainController.parmReportContract();
mainController.prePromptModifyContract();
ContractclassobjectV2Contract inputContract = mainController.parmReportContract().parmRdpContract() as ContractclassobjectV2Contract ;
List customerList = inputContract.ParmcustomerList();
ListEnumerator listEnumerator = customerList.getEnumerator();
while (listEnumerator.moveNext())
{
ControllerClassObject controller = mainController;
controller.parmShowDialog(false);
ContractclassobjectV2Contract custContract = inputContract;
custContract.parmCustomer(listEnumerator.current());
controller.parmReportContract().parmRdpContract(custContract);
controller.startOperation();
}
}
}
3). Use string variable in Dp class to pprint the report
Comments
Post a Comment