For a client that needs to see non-CRM reports inside MS CRM 4.0, I've created the following solution:
Due to design considerations and limitations on the size of the URL that MS CRM will pass, I've made a custom .aspx page. This page contains a tabbed view and an IFrame. When the user clicks on a tab, the IFrame will display the corresponding report from MS SQL 2005 Reporting Services. The .aspx page is displayed from a custom menu item that is defined in ISV.config.
One of the reports contains a three-level drilldown functionality. When the user clicks on a link, a subreport opens, and this report again contains similar functionality. There are also links on the report to create a new Case instance based on the chosen item in the report.
There is one problem, however: When the user drills down, the new report opens inside the same IE instance. My client would rather have each subreport open in a new instance.
I've modified the Jump to URL string to use javascript, using the form ="javascript:window.open('
myreportur
l');
However, this works well when I run the report standalone, outside MS CRM, but does NOT work inside CRM. It does work as expected from the subreport, which when it opens takes the entire browser window and is thus not running inside CRM.
So, there seems to be a security setting that stops javascript in an IFrame. I know this is the case for regular IFrames in a CRM entity form, where you can disable this security setting.
My question is, does anyone know how I can enable javascript in an IFrame that has NOT been declared the "normal" way in CRM?
Start Free Trial