Reports Forms (Reference) define text-based and PDF report templates with dynamic data integration from tags and queries. ReportForm enable:
- Text and PDF report generation
- Dynamic tag value insertion
- Scheduled report creation
- Header/footer templates
- Multiple output formats
- Automatic file saving
Forms are created using the integrated Reports Forms Editor with real-time preview.
In this page:
Configuration Properties
Property | Description | Required |
---|---|---|
Name | Unique form identifier | Yes |
SaveFormat | Output format (Text/HTML/Unicode/ASCII/PDF) | Yes |
SaveFileName | Full path for saved reports | Yes |
SaveTrigger | Tag/property to trigger save | No |
Padding | Text alignment (Compact/PadRight/PadLeft) | No |
Append | File to append content to | No |
Header | Header template reference | No |
Footer | Footer template reference | No |
Length | Document size configuration | No |
EditSecurity | User group permissions | No |
Description | Documentation text | No |
Creating Report Forms
- Navigate to Reports → Forms
- Click first row to create new form
- Configure:
- Name: Unique identifier
- SaveFormat: Select output type
- SaveFileName: Target file path
- Double-click to open Forms Editor
Forms Editor
Text Formatting
- Font selection and sizing
- Bold, italic, underline
- Text alignment
- Color selection
- Bullet points and numbering
Dynamic Content
Insert tag values:
Production Report
Date: @Info.Date@
Shift: @Tag.Shift_Number@
Total Units: @Tag.Production_Count@
Quality Score: @Tag.Quality_Score@%
Tables
| Product | Quantity | Status |
|---------|----------|--------|
| @Tag.Product1@ | @Tag.Qty1@ | @Tag.Status1@ |
| @Tag.Product2@ | @Tag.Qty2@ | @Tag.Status2@ |
Output Formats
Text Format
Plain ASCII text:
- Fixed-width fonts
- No formatting
- Smallest file size
- Universal compatibility
HTML Format
Web-ready reports:
- Full formatting support
- Images and links
- CSS styling
- Browser viewing
PDF Format
Professional documents:
- Exact layout preservation
- Print-ready output
- Digital signatures
- Security options
File Naming
Static Names
C:\Reports\DailyReport.pdf
\\Server\Reports\Production.txt
Dynamic with Tags
C:\Reports\Report_@Tag.Date@.pdf
C:\Reports\@Tag.Shift@_@Tag.Line@.txt
Using Macros
@ExecutionPath@\Reports\Current.pdf
@SolutionPath@\Output\Report.txt
Runtime Display
Windows WPF Clients
- ReportViewer Control - Native report display
- PdfViewer Control - PDF rendering
Web HTML5 Clients
- PdfViewer Control - Browser-based viewing
Control Configuration
xml
<ReportViewer ReportName="ProductionReport" />
<PdfViewer Source="@Report.Form.DailyReport.FileName" />
Triggering Reports
Manual Generation
csharp
// Generate report on button click
@Report.Form.ProductionReport.Generate();
Scheduled Generation
Using SaveTrigger property:
csharp
// Trigger at shift change
@Tag.ShiftChange = 1; // Triggers if SaveTrigger = Tag.ShiftChange
Script-Based
csharp
public void GenerateDailyReport()
{
// Set report data
@Tag.ReportDate = DateTime.Today;
@Tag.TotalProduction = CalculateTotal();
// Generate and save
@Report.Form.DailyReport.Generate();
@Report.Form.DailyReport.Save();
}
Headers and Footers
Header Template
Create standard header:
========================================
ACME Corporation
Production Report
@Info.Date@ @Info.Time@
========================================
Footer Template
Standard footer:
----------------------------------------
Page @Page.Number@ of @Page.Total@
Generated by: @Client.UserName@
========================================
Linking Templates
- Create header/footer forms
- Reference in main report:
- Header: Select header form
- Footer: Select footer form
Padding Options
Option | Effect | Use Case |
---|---|---|
Compact | No extra spacing | Data files |
PadRight | Right-align with spaces | Fixed-width reports |
PadLeft | Left-align with spaces | Numeric columns |
Security Configuration
EditSecurity
Control who can modify reports:
- Set user groups with edit rights
- Restrict runtime modifications
- Protect report templates
File Permissions
Ensure write access to:
- Report output directories
- Network shares
- Temporary folders
Best Practices Checklist
- Use templates - Create reusable headers/footers
- Test paths - Verify file locations exist
- Handle errors - Check generation status
- Archive reports - Implement retention policy
- Validate data - Check tags before generation
- Schedule wisely - Avoid peak load times
- Monitor disk space - Clean old reports
Troubleshooting
Report not generating:
- Verify form configuration
- Check SaveTrigger conditions
- Confirm file path exists
- Review user permissions
Missing data:
- Check tag names
- Verify tag values populated
- Review timing of generation
- Confirm data availability
Format issues:
- Match SaveFormat to viewer
- Check padding settings
- Verify encoding (ASCII/Unicode)
- Review template formatting
File access errors:
- Check write permissions
- Verify network connectivity
- Close open report files
- Review antivirus settings
In this section...