Open core: don’t reinvent the wheel — build your fenestration software on ours.

Skip to main content

Every printed or on-screen document in OpenJanela — a quote, an order
acknowledgement, an invoice, a shop traveller, a barcode label — is produced from a
report. This chapter explains what a report is, how reports are made available at the
right place (a production station, or a print dialog), and the two everyday tasks: assigning a
report to a station, and printing a customer document from the Order List.

The three building blocks

Term What it is
Report A print template (a JasperReports design) plus its settings — a name, description, target printer, output type, and flags such as Default, Production, Parts and Grids. Managed on the Report Management screen.
Station A physical work step on the shop floor (saw, assembly, glass, QC, shipping, …). An operator working at a station sees and prints the reports that have been made available there.
Production line An ordered set of stations that an order flows through. A report is made available per line + station, so the same station can show different reports on different lines.

Two ways a report reaches the user

A report becomes visible in one of two ways, and it is important not to confuse them:

Route How the report is made available Where the user sees it
By station (shop floor) Assigned to a production line + station — see Available reports by station. The Production Station screen, when scanning/processing a batch or unit at that station.
By panel (office) Attached to a panel — a named print context such as Order Document Report, Confirm Order or Invoice — see Reports by panel. A print dialog opened from a screen, e.g. the Print button on the Order List.
Where things live
Reports are edited under Administration → Report Management. Stations and production
lines are defined in the manufacturing configuration. The report engine is JasperReports;
the templates themselves are the .jasper files installed with the system.

Configuration warnings on the quote

Warnings raised while an item is configured — Spliced Frames, a maximum-size note, a
surcharge advisory — can be printed on the quote, underneath the item’s notes, so the
person reading the document sees what the person designing it was told.

They are captured when the item is saved
A warning normally exists only while the designer holds the item open. What prints is a
snapshot taken at save time, not a fresh evaluation. Two consequences worth knowing:

  • Items saved before this feature was installed have no warnings recorded, and
    nothing can recover them. They appear the next time the item is saved.
  • If a rule or its data is changed later, an existing quote still shows the warning the
    customer was actually given. Re-saving the item refreshes it. This is deliberate — a quote
    should say what was quoted.

Nothing prints when an item raised no warnings: the block is simply absent, exactly as an
item with no notes shows no Notes block today. Errors are not printed — they are raised
in their own dialog when the item is saved.

Adding it to another report
The warnings are stored on the order line, so any report can show them — but each template has
to ask for them. Three edits to the item-info subreport that prints the notes (not the
top-level report, whose Notes block is the order’s own): add o.warnings to its
query, declare a warnings field, and append it to the notes text expression.
★ Then recompile the template. The system prints the compiled .jasper, and
nothing in the build compiles .jrxml automatically — an edited
.jrxml on its own changes nothing, which looks identical to the feature not
working.