Testing and Troubleshooting
The usual procedure for testing reports is as follows:
- Test the report in Visual Studio .NET within the Preview tab.
- If any errors are reported, correct the cause of the errors and run the test again.
- When the report functions correctly, publish the report to the report server by clicking the New toolbar button in the Microsoft CRM Reports grid and filling out the requested information.
- Run the published report from within Microsoft CRM to verify the report's operation.
When publishing a report for testing, consider access by other users to the report. If you do not want users to run the report before testing has been completed, publish the report as a hidden report. Doing so restricts access to the report to those users with the Report Manager security role.
You can set up fictitious user accounts and assign them different Microsoft CRM security roles. You can then test the report under the different fictitious user accounts to verify the data that is displayed to a user based on security role.
A sample database for a fictitious company called Adventure Works Cycle is included on the Microsoft CRM installation disk in the SampleData folder. You can use the database as a source of sample data when testing your reports. Consult the Microsoft CRM Implementation Guide for information about setting up a report testing server and installing the sample database.
The following list of suggestions is provided as a guide for testing your reports:
- Verify that your reports access Microsoft CRM data only through filtered views to follow Microsoft CRM security restrictions.
- Verify that report filters are specified for the correct entities. After uploading the report, open the report and check if any entities aliased for Advanced Find filtering should be exposed for report pre-filtering.
- Check the number of SQL table joins. Reports can fail to run if there are too many table joins. After uploading your report, open the pre-filter section of your report and add some related entities (for example: accounts with associated opportunities). Run the report with these related entities. If you get a max SQL joins error on execution, you may want to either simplify the report or remove some Advanced Find filterable entities.
- If the report is written against a custom entity, validate that the entity can be filtered on correctly.
- Validate that the report returns correct data based on user roles with user level security on entities, custom security roles, and other roles.
- Some reports are published as context-sensitive reports, meaning they can be run against selected records in a grid. For those types of reports, verify that the report can be run against system views, custom system views, user queries, and selected records.
- Verify that snapshots of the report can be taken in the Report Manager and that the report can run from Microsoft CRM.
- Verify that you can save the report to a PDF file. Reports often print better with PDF formatting.
- Verify that detailed sub-reports are hidden when you publish the report so they are not executed directly by users.
© 2007 Microsoft Corporation. All rights reserved.