Hi,
I'm again encountering some very bizar behavior with SSRS parameters.
I managed to pinpoint the moment when it happens but am still looking for a solution.
Step 1
I duplicated the SSRS report into my project and called it SalesInvoiceExt
I made a SalesInvoiceControllerExt class which extents SalesInvoiceController but points to my new invoice SalesInvoiceExt
I've added a red label in the report design to identify if the correct reports is being used.
Deploy everything , print a salesinvoice and I get my custom layout.
Step 2
I 'refreshed" the Dataset SalesInvoiceLocalizationDS in the report by clicking on 'Restore' assuming this replaces the old 'refresh' button from AX2012.
Delete the report from SSRS and redeploy.
Everything is still working correctly.
Step 3
I refreshed the Dataset 'SalesInvoiceHeaderFooterDS', this does retrieve a new parameter called CreatedTransactionId. Which is quite normal because the 3 datasets are from the same RDP class and thus linked to the same contract class. Besides discovering the new parameter on the dataset, it creates a new report parameters called 'CreatedTransactionId1'.
Delete the report from SSRS and redeploy.
Now the issue arises 'A valid value for parameter "CreatedTransactionId" does not exist.'.
It's like it only passes a value into 'CreatedTransactionId1'.
A few questions concerning this issue :
1) How come that the default report only contains the parameter 'CreatedTransactionId' on one specific dataset (SalesInvoiceLocalizationDS) and not on all three. How did they delete that parameter on the other datasets then?
2) Seeing that all 3 datasets come from the same RDP class, they all have the same parameters. Shouldn't VS.Net pick this up and redirect these parameters to one and the same report parameter? They will have the same value because it's all from the same contract
3) How do we solve this issue, because the design needs custom fields on both datasets mentioned above.
Any suggestions or remarks?
Regards,
Sven Peeters