Reports Module (Reference) provides comprehensive report generation capabilities including formatted documents, web data integration, and multi-format output support. The Reports Module enables::
- Text and PDF report generation
- Web API data integration
- Dynamic content with tags
- Multiple output formats
- Scheduled generation
- Real-time monitoring
In
Overview
Links to Alarms Module tutorials, concepts, and how-to guides
- Building Solutions / Process Modules / Alarms Configuration (How-to Guide)
- Alarms Examples (How-To Guide)
this page:
Table of Contents maxLevel 2 minLevel 2 indent 10px exclude
Steps style none
Module Components
Configuration
Configuration UI
→ Solution / Alarms / Items - tags and conditions to generate alarm. Include AlarmGroup for Ack/Log settings and AlarmArea for hierarchy.
→ Solution / Alarms / Groups - Collection of AlarmItems sharing properties such as AckRequired and LogEvents.
→ Solution / Alarms / Areas - Hierarchical grouping of AlarmGroups for better organization.
→ Solution / Alarms / Audit Trail - Logs events on Operation actions, and on selected system events.
Configuration Workflow
Reports module configuration workflow
Action
Where
Create Report Forms
Reports / Forms. Learn more at Reports Forms (Reference).
Manage WebData Definitions
Reports / WebData. Learn more at Reports WebData (Reference).
Customize Report Forms
Reports / Forms Editor. Learn more at Forms Editor (Reference).
Manage WebData scripts
Reports / WebData Editor. Learn more at WebData Editor (Reference).
Runtime Execution
When using Windows WPF clients, you can use the following visualization controls.
When using Web HTML5, or portable displays, you can use the following visualization control:
Monitoring the Reports Module Execution
→ Read more about the Reports Monitor (Reference).
Sections
Section | Path | Purpose |
---|---|---|
Forms | Reports → Forms | Report templates and formatting |
WebData | Reports → WebData | API integration and data exchange |
Forms Editor | Reports → Forms Editor | Visual report design |
WebData Editor | Reports → WebData Editor | Data structure editing |
Monitor | Reports → Monitor | Runtime status tracking |
Configuration Workflow
Step | Action | Location | Purpose |
---|---|---|---|
1 | Create Forms | Reports → Forms | Define report templates |
2 | Configure WebData | Reports → WebData | Setup API connections |
3 | Design Content | Reports → Forms Editor | Visual report layout |
4 | Map Data | Reports → WebData Editor | Configure data bindings |
Runtime Display
Windows WPF Clients
- ReportViewer Control - Native report rendering
- PdfViewer Control - PDF document display
Web HTML5 Clients
- PdfViewer Control - Browser-based PDF viewing
Control Examples
xml
<ReportViewer ReportName="ProductionReport" />
<PdfViewer Source="@Report.Form.DailyReport.SavedFileName" />
Report Namespace
Access report objects at runtime:
Common Properties
Report Namespace
The Reports Namespace exposes properties and methods of the .NET objects used by the Dataset Module execution.
Report Module Properties examplesProperty | Type | Description |
---|
@Report. |
Form. |
<Name> |
ReportItem |
Class for Report operation.
Report form object | ||
@Report.WebData.<Name> | WebDataItem | WebData object |
@Report.Form.<Name> |
.Append | int |
Indicates whether the report will be overwritten or appended on Save commands
Append mode (0/1) |
@Report.Form.<Name> |
.Category | string |
ReadOnly property with categories configured on Report object.
Report category | ||
@Report.Form.<Name>.SavedFileName | string | Output file path |
Runtime Methods
csharp
// Generate report
@Report.Form.ProductionReport.Generate();
// Save report
@Report.Form.ProductionReport.Save();
// Execute WebData request
await @Report.WebData.APIData.GetRequestAsync();
Report Generation
Manual Trigger
csharp
public void GenerateReport()
{
// Set report data
@Tag.ReportDate = DateTime.Today;
// Generate and save
@Report.Form.DailyReport.Generate();
@Report.Form.DailyReport.Save();
}
Scheduled Generation
Using SaveTrigger property:
csharp
// Configure trigger
@Report.Form.ShiftReport.SaveTrigger = "Tag.ShiftEnd";
// Trigger generation
@Tag.ShiftEnd = 1; // Triggers report
Output Formats
Format | Extension | Features | Use Case |
---|---|---|---|
Full formatting, professional | Distribution | ||
XPS | .xps | Windows native format | Internal use |
HTML | .html | Web-ready, hyperlinks | Online viewing |
Unicode | .txt | International characters | Multi-language |
ASCII | .txt | Plain text | Data export |
WebData Integration
API Configuration
csharp
// Configure endpoint
@Report.WebData.Weather.DefaultURL =
"https://api.weather.com/data";
// Set authentication
@Report.WebData.Weather.Headers["Authorization"] =
"Bearer {{Tag.APIToken}}";
Data Exchange
csharp
// GET request
string data = await @Report.WebData.Weather.GetRequestAsync();
// POST request
await @Report.WebData.Weather.PostRequestAsync();
Monitoring
Access Reports → Monitor during runtime:
- Generation status
- Error tracking
- File operations
- Server-side only
Monitor properties:
csharp
string status = @Report.Form.MyReport.LastStatus;
string error = @Report.Form.MyReport.LastStatusMessage;
Best Practices Checklist
- Test templates - Preview before production
- Validate data - Check tags before generation
- Handle errors - Monitor LastStatus
- Manage storage - Archive old reports
- Schedule wisely - Avoid peak times
- Secure APIs - Protect credentials
- Document reports - Clear descriptions
Troubleshooting
Report not generating:
- Check trigger conditions
- Verify data availability
- Review file permissions
- Monitor error messages
WebData fails:
- Verify API endpoint
- Check authentication
- Review network access
- Validate data format
Format issues:
- Match output to viewer
- Check font availability
- Review margins/spacing
- Test encoding
In this section...
Page Tree | ||||
---|---|---|---|---|
|
For more information on namespaces and objects, go to Objects and Namespaces.
In this section:
Page Tree | ||||
---|---|---|---|---|
|