A ShowMgr report combines a definition with selected data and parameters. Report services prepare the request, and the report's processing path produces the output.
Report processing paths
| Stage | Uses / produces |
|---|---|
| Report services / request | Definition, parameters, business data and metadata |
| Telerik rendering path | Processes the report definition and produces output; uses Redis-backed report storage |
| Stored HTML retrieval path | Retrieves HTML report output from object storage |
Report metadata describes the report and its available parameters. Saved parameter sets retain selections for reuse. Report-transaction records hold information about a report request; they are separate from financial transactions such as invoices or payments.
The Telerik reporting path resolves report files or report types, uses Redis-backed report storage and renders output. A separate path retrieves stored HTML report output from object storage. The selected report determines which path applies.
Responsibilities across the system
| Component | Responsibility |
|---|---|
| Report definition | Defines layout, data bindings and supported parameters |
| Application and report services | Retrieve metadata, interpret the request and prepare parameters |
| Database | Stores business records and report metadata and executes the report's applicable queries or routines |
| Report renderer | Processes the definition and produces output |
| Report storage and cache | Support processing state or retrieval of stored output |
Reports can include parameters supplied by the application as well as prompts shown to the user. Client and user-time context are supplied for reports that use those parameters.
Understand what each row represents
A report can present information at the project, order, booking, actual or financial-line level. Grouping and aggregation determine how those rows are summarized.
Before comparing a report with a worksheet, identify the level of detail and the measure being displayed. Planned revenue, actual revenue and invoiced revenue answer different questions, even when they concern the same production work.
Explain differences between reports
Compare the following before treating different results as an error:
- Included orders, bookings and actuals.
- The date field being filtered and the selected range.
- Time-zone handling.
- Included statuses.
- Planned, actual or invoiced values.
- Cost versus revenue, currency, grouping and rollup rules.
Two reports with different filters or levels of detail can return different row counts and totals from related data.
Identify where a report fails
Report selection, parameter loading, data retrieval, rendering and download are separate stages. A report can fail at one stage while its underlying orders remain available in the application.
When reporting an issue, include the report name, instance, execution time, parameters and affected record IDs. Describe whether the failure occurs before parameters appear, during processing or during download, and whether the same records open successfully in ShowMgr.
This information distinguishes a data-selection issue from a definition, rendering, cache or output-retrieval issue.