My situation: (I use CRM 2016 v9 on premise)
I pull data down from a 3rd party accounting system via their webservice. I then use this data to run a report from our SSRS server. I currently do this via a .NET windows service and it saves the files to a folder.
Now my goal is to do this on demand within CRM from the Account form.
What I am pretty sure I can do, is get the data, generate the PDF from the SSRS server and save the PDF to an Email or Note on the account. But this is not optimal.
I'd like the user to be able to click a ribbon button that fires a plugin, pulls down the 'data' used to generate the report and then have the actual report pop up in a window on their screen. From there they can either just view it or save as PDF.
I know how to run a report from CRM from Javascript, and pass a custom parameter in the URL, but in this situation the data i need to pass to the report can be 1000's of characters long.
Can I do one of these options:
1. Within my plugin, get the data from 3rd party, return the data from my plugin, and run the report from Javascript .rdl file added to CRM, but pass in a large data parameter? how?
2. Within my plugin, get the data from 3rd party, generate the PDF report from SSRS server, return PDF directly to user? how?
3. I just thought of this. Within my plugin, get the data from 3rd party, save data to a field on Account, return to user, run report with custom parameter sending in just accountid, which will be used to pull the newly saved data into the report? ...I may have just figured out the best approach here..
4. I am reading about "Microsoft Dynamics 365 Fetch" as a datasource. I don't have that option in my Reporting project so I must be missing something there.
Thoughts on best approach? Is 1 or 2 even possible? If not I will rule them out.
Thanks!
Coty