# Report layouts

> Every field of a report layout, the section catalogue and its options, the close and footer furniture, the sample print, and what the PDF prints.

A report layout is one row of the **Reports** library (Process > Templates > Reports),
shared by every model. A layout only chooses and orders sections and page furniture: it
references no channel and nothing of a model, because the PDF renders entirely from the
self-sufficient run file. That is why any recorded run can be re-exported with any layout
from [Histories](histories-export#pdf), and why a deleted layout degrades to the
all-sections default instead of breaking a regeneration. Editing takes **Manage process**;
every field autosaves when it is left or flipped, and a save the station refuses (a unit
running, the runtime stopped) puts the field back and reports the reason in the action
feed.

The page is two cards: **Identity**, and **The report**, which is the drawing of the PDF
itself. Each option stands on the part of the page it changes, so there is no separate
list of toggles to map onto a preview.

## Identity {#identity}

| Field | What it is | Values / default | Effect |
| --- | --- | --- | --- |
| Name | The name the library, an action's report picker and the Histories picker show. | Text; "Report" ("Report 2", and so on) when created. | Renames the layout everywhere it is picked; documents already published keep their names. |
| Title (empty = run name) | The document title. | Text; empty. | Empty prints the run's name ("Procedure · Unit") as the title; the drawing shows "‹ run name ›" for it. |
| Header text | Free text under the title (the laboratory's name, a disclaimer). | Multiline text; empty. | Printed under the title in the header band of every page. |

## The report {#the-report}

The card opens with the header band: the logo plate on the side the placement chose, the
title and the header text. The logo's two pickers stand in the band the logo is in, so
moving it to the footer moves them with it.

| Field | What it is | Values / default | Effect |
| --- | --- | --- | --- |
| Logo | Which band and which side the logo stands on. | No logo, Top left, Top right, Bottom left, Bottom right; Top left. | Top places it in the header band before the title or after the verdict; bottom places it in the footer before the generation line or after the page numbers. No logo hides the Image picker. |
| Image | Which picture the logo is. | Station logo (the organization logo set under Logic > [Assets](assets-images)) or any imported image; Station logo. | The plate shows the picture the PDF will print. When nothing resolves the plate reads "no image" and a line says why: no station logo is set, or the chosen image is no longer in the library. A layout naming an image that is gone prints no logo rather than another one. |

Under the band come the body sections, in the order the PDF writes them. **Run
identification** leads every report, is never optional and never moves: its row reads
"Always" and says what it prints, "Model, unit, procedure, start and finish, duration and
verdict." Then one row per section of the catalogue, each with its switch, its
description, its own options and a pair of arrows that move it up or down (greyed at
either end). A section turned off is drawn faint and left out of the PDF; a section with
nothing recorded for it is skipped rather than printed empty. When every section is off a
line says "Every section is off, so this report prints the title and the run
identification alone."

| Section | Default | What it prints | Options on the row |
| --- | --- | --- | --- |
| Metadata | on | The values the operator filled in when the run started. | none |
| Datalog chart | on | The recorded channels drawn on one time chart, first sample to last, in each channel's frozen colour and band. | **Draw the run's chart annotations on it** (on). **How much of the run is plotted**: The whole run (default), The first minutes, The last minutes, with **Minutes** (30, at least 1) for the two excerpts. |
| Evaluation results | on | Every judged criterion with its limits, its evidence and its outcome. | none |
| Occurrences | on | The episodes watched during the run. | **Append the observation audit under the episodes** (on): the raw edges and session boundaries behind the summary. |
| Recipe (as executed) | on | Every setpoint the run wrote, when it was written and whether it took. A sheet emitted at Start prints the planned values instead. | none |
| Operator comments | on | The comments recorded during the run and after it. | none |

A layout that has arranged nothing writes the whole catalogue in this order; a section a
later version of the product adds arrives enabled at the end. An excerpt of the chart says
it is one: the section title becomes "Datalog chart (first 30 min of the run)" and a
caption under the plot names the plotted span beside the recorded span; a window wider
than the recording collapses back to the whole run rather than claiming a cut it did not
make. The run file keeps every sample either way.

**The close of the report** follows the sections and is furniture, not a section: it stays
under whatever the layout arranged.

| Option | Default | What it prints |
| --- | --- | --- |
| Signature lines for whoever tested and whoever approves | off | Two rules under a "Signatures" heading, "Tested by, and date" and "Approved by, and date". The run's recorded responsible is printed under the first when a signed-in person started the run; a run the station or the automation started leaves it blank. |
| A line saying the report ends here | off | "End of report", centred under a rule, so a missing page is visible as one. |

With both off the drawing says "The document stops after the last section above, with
nothing marking the end."

The footer is the page furniture at the bottom of every page:

| Field | What it is | Default | Effect |
| --- | --- | --- | --- |
| Footer note (printed on every page) | The standing statement the report carries about itself (what the results relate to, a document control code). | empty | Printed above the generation line on every page. |
| Generation line and page numbers | Not editable. | always | `Generated by Ganter Lab <date> <time> (<time zone>)` and "n / N", with the bottom logo beside them when placed there. |

Two lines close the card: "The PDF lands in the reports folder next to the app data." (the
`reports` folder of the data root) and what a sample would be filled with.

## Print sample {#print-sample}

**Print sample** stands on the detail bar with the layout selected (Manage process; greyed
under the engineering lock). It opens the dialog "Print a sample": the run it is filled
with (the station's most recent Completed or Aborted run), the **Installed Windows queue**
picker ("(choose a queue)" or "(no installed queues)"), **Cancel** and **Send sample**. The
sample is composed by the same generator a real report goes through, so the paper shows
what the layout produces with real evidence; it publishes no PDF, registers nothing on the
run it borrows, and prints "Sample of the report 'X', printed from a recorded run. It is
not that run's published PDF." under the header. A station with no finished run reads "No
finished run to print from" and cannot send; a queue that refuses lands in the action feed
("The sample was not sent: reason"). Success means the Windows queue accepted the document,
not that a page came out. The sample is refused while the runtime is stopped.

## What the PDF prints {#what-the-pdf-prints}

An A4 page, 9 pt body. Printed, the page fills the whole area the printer can put ink on,
keeping its proportions and centred: the document carries its own half-inch margin and the
printer adds none of its own. A printer whose paper is smaller than A4, or that cannot reach as
close to the edge, fits the page to what it has rather than cropping it. The header of every page: the logo, the title, "Verdict: OK", "NOK",
"Indeterminate" or "None", the header text and, on a sample, the sample line. The run
identification table: Model (with the revision), Procedure, Unit,
Termination reason (Interlock or None), Verdict, Started, Finished, Duration, Snapshot
interval, then Imported and Received file when the run is a copy imported from another
installation, and Notes when the run carries any; a run still recording prints no finish and no
duration. A run recorded here prints no provenance at all, and the page never claims the machine
the copy came from: the receipt inside the run file records the arrival, not the sender. Then the
enabled sections, in the arranged order:

- **Metadata**: name and value per prompted field, in prompt order.
- **Datalog chart**: the picture the shared chart engine draws off screen from the
  recorded rows, so it matches the live chart, with the annotations when the option is on.
  Timestamped comments are not drawn on it, and neither are the evaluation bands of the
  live chart, because the PDF prints only what the run file proves. A headless host with no
  webview omits the chart.
- **Evaluation results**: Criterion, Channel, Limits, Severity, Evidence ("n evaluated · n
  out · n unavailable · n invalid", plus the worst excursion), Affected, Outcome.
- **Occurrences**: Occurrence (with severity and message), Started, End / status, Active
  time, Signal unavailable; then the audit appendix when the option is on.
- **Recipe (as executed)**: Time, Channel, Value, Target, Outcome (OK, or the failure). A
  document emitted at Start prints **Recipe (as planned)** in that row instead: the staged
  recipe's targets (with segments and durations for a temporal one) and, apart from them, a
  "Finalization" table of the safe-state values written when the run ends. No document
  carries both.
- **Operator comments**: Time, Phase (Run or Post-run), Comment, with "(edited …)" on a
  rewritten line.

Then the signatures and the end line when enabled, and on every page the footer note, the
generation line and the page numbers.

## What a layout does not do {#what-a-layout-does-not-do}

It adds no content: the customer, the method, the item under test or a measurement
uncertainty are not recorded by the station and cannot be typed into a layout; the free
text (title, header text, footer note) is where a station puts its own standing lines. It
chooses no channel and no unit. It does not decide when a report is emitted or printed:
that is a report command of an action ([Emitting labels and reports](process-emission)).
And a run still recording cannot be rendered with it; the travel sheet an action emits at
Start is the one exception, composed through the run's own open file.
