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 this page:



Reports → Tutorial | Concept | How-to Guide | Reference



Module Components

Configuration Sections

SectionPathPurpose
FormsReports → FormsReport templates and formatting
WebDataReports → WebDataAPI integration and data exchange
Forms EditorReports → Forms EditorVisual report design
WebData EditorReports → WebData EditorData structure editing
MonitorReports → MonitorRuntime status tracking

Configuration Workflow

StepActionLocationPurpose
1Create FormsReports → FormsDefine report templates
2Configure WebDataReports → WebDataSetup API connections
3Design ContentReports → Forms EditorVisual report layout
4Map DataReports → WebData EditorConfigure 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

PropertyTypeDescription
@Report.Form.<Name>ReportItemReport form object
@Report.WebData.<Name>WebDataItemWebData object
@Report.Form.<Name>.AppendintAppend mode (0/1)
@Report.Form.<Name>.CategorystringReport category
@Report.Form.<Name>.SavedFileNamestringOutput 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

FormatExtensionFeaturesUse Case
PDF.pdfFull formatting, professionalDistribution
XPS.xpsWindows native formatInternal use
HTML.htmlWeb-ready, hyperlinksOnline viewing
Unicode.txtInternational charactersMulti-language
ASCII.txtPlain textData 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...






  • No labels