Implement Reporting
Choose the right stack
SSRS covers operational reports and business documents delivered inside the application. Electronic Reporting covers configurable, regulation-driven formats such as e-invoices and tax files, where the format is a configuration a functional consultant can change without a deployment. Financial reporting covers financial statements. Aggregate measurements feeding the entity store and Power BI cover analytics. Data entities exposed via OData plus the Excel add-in cover ad hoc analysis.
SSRS patterns
A query-based report binds to a query and an AutoDesign. A Report Data Provider report needs a contract class carrying DataContract and DataMember attributes, a DP class decorated with SRSReportParameterAttribute and extending SRSReportDataProviderBase that fills a temporary table, and a method decorated with SRSReportDataSetAttribute returning that table. A controller class supplies the dialog and the menu item launches it.
Deployment and destinations
Report artifacts deploy with the package. Print management and the Document Routing Agent control printer destinations. ER formats are imported as configurations from the asset library and assigned to a destination.
Trap: assuming an ER format change needs a code deployment, or that an SSRS report is visible without a menu item and privilege. Another: forgetting to create and populate the DP temporary table in the process method. Rule of thumb: printable document with a query, SSRS; regulatory format that varies by country, ER; pivot and trend, entity store and Power BI.