Hi Friends,
I have created a query object in my SSRS Report and used it in DP class as following:
I am expecting select button on my dialog but it is not appearing.
Can you suggest me if I am missing something.
[
SRSReportQueryAttribute(queryStr(VendGroupQueryDemo)),
SRSReportParameterAttribute(classStr(VendGroupTransContract))
]
class VendGroupTransDP extends SRSReportDataProviderBase
{
VendorGroupTmp VendorGroupTmp;
VendGroupId vendGroupId;
}
Thanks
Hi Ali,
You can refer to the AR > Reports > Status > Customer balance list as an example.
Dynamics AX report name: CustProvisionalBalanceReport
Data contract class: CustProvisionalBalanceContract
Data Provider class: CustProvisionalBalanceDP
Create buildQuery, processReport methods in class
private Query buildQuery(Query _query)
{
QueryBuildDataSource qbds;
QueryBuildRange qbr;
qbds = _query.dataSourceTable(tablenum(_YourTableName));
if (invoiceId)
{
qbr = qbds.findRange(fieldnum(_YourTableName, fieldName)); //here i used invoiceId as my fieldName
if (!qbr)
{
qbr = qbds.addRange(fieldnum(_YourTableName, fieldName));
}
if(!qbr.value())
{
qbr.value(fieldName);
}
}
return _query;
}
after in processReport
[SysEntryPointAttribute(false)]
public void processReport()
{
Query query;
QueryRun queryRun;
ContractClassName contract;
contract = this.parmDataContract() as ContractClassName ;
invoiceId = contract .parmInvoiceId(); //come from contract class
invoiceDate = contract .parmInvoiceDate();
queryRun = new QueryRun(this.buildQuery(this.parmQuery())); //initialize the query
while (queryRun.next())
{
if (queryRun.changed(tableNum(YourTableName)))
{
table = queryRun.get(tableNum(YourTableName)); // taable is variable of YourTableName
this.insertintoTmp(); // logic here
}
}
}