Skip to main content

Report layout, output and delivery

The Report module owns its source Definition and layout/runtime error choices. The Flow Report step owns the concrete output destination and format for a run.

Report module properties

SettingNew-Report defaultEffect
Source type / DefinitionNoneData Definition linked into the ReportBuilder report/pipelines.
Print with no data / NoDataPrintSelectedAllows applicable static/report content when no detail data exists.
Split reportClearedProduces an individual report for each applicable master record. Verify file naming and recipient effects for multiple outputs.
Ignore report errorsClearedConverts applicable report errors to warning behaviour. Enable only if incomplete output is explicitly safe.
Embed fonts in PDFClearedImproves PDF portability but increases output size and depends on font embedding permissions/availability.

Flow output properties

The Report step selects viewer, printer, file or email; output type defaults to PDF. Supported Designer types include PDF, HTML, PNG, JPEG, BMP, XLSX, XLS and RTF. A legacy XHTML value is converted to HTML during loading. Output details, file details, attachment, miscellaneous/subject and BCC fields can contain evaluated tags and must be tested for the selected destination.

Viewer output is interactive and unsuitable as an unattended service destination. Printer queues, output folders and fonts must be available to the runtime service account. Email requires the configured SMTP boundary and approved recipients. REST execution can stream Report output into the API response.

Current Velox defers physical-printer setup when creating a Report and when producing non-printer output. The printer list in a Flow Report step is loaded when Printer is selected as the output destination. PDF, file, email and REST output should therefore not require access to the default printer.

Use variables in Report code

ReportBuilder code in the main Report and child Reports can access Velox settings, globals, Flow locals and configured Variable Groups through Settings, Globals, Locals and Variables.

For a configured Variable Group, use its group code without the stored V_ prefix:

Value := Variables['MyGroup']['MyVariable'].AsString;

Use the exact group and variable codes shown by Designer. Test the expression in the owning Report and Flow context because Locals depends on the current Flow execution.

Layout verification

Test empty/one/many master/detail records, pagination, totals, long/non-ASCII content, Report code variable access, embedded fonts, every output type used, collision-safe filenames, multiple split outputs and the actual service account. Open generated files with an independent reader and verify recipient/printer delivery separately.