# Printers

> The four printer queues a unit prints through (a label or a report, at Start or at Completion), declared on the model and followed or overridden per unit, and how a command finds its queue.

**Printers** is where the model's printed output comes out. Every command an [action](process-actions) emits is one of four combinations, what comes out (a label or a report) and when (at the run's Start or at its Completion), and each combination has exactly one **printer queue** per unit: a Windows print queue installed on this station. The model declares the four default queues, every unit prints through them unless it has detached and keeps four of its own, and a command resolves its queue by its own combination, never by the action that groups it. The screen (Process > model > Definition > Printers) reads "The station queues each unit of this model prints through: one per type and moment, for the labels it prints and the reports it publishes." and counts the units and how many are on their own.

Reading needs Look at models; every edit needs Manage process and an unlocked station. The screen wears the shape every Definition screen shares (see [Definition](process-definition#the-one-shape-of-the-five-screens)).

## Model definition: the four slots {#model-definition-the-four-slots}

The head reads "The model's default queues. They serve every unit that still follows them, so a bench of identical stations is configured once." and carries **Refresh queues** ("Refreshing…" while it runs), which re-reads the station's installed queues for both halves of the screen. The list is read once when the screen opens.

The table always has the same four rows, in this order: Label at Start, Label at Completion, Report at Start, Report at Completion.

| Column | What it shows |
| --- | --- |
| **Type** | **Label** or **Report**. |
| **When** | **Start** or **Completion**. |
| **Used by** | The actions of the model with a command printing through this slot, by name, or "No action". |
| **Printer queue** | The default queue's name, or "Not configured" (in the caution ink only while an action actually prints through the slot). |

When the station cannot list its queues, a banner over the table reads **Printer queues unavailable** with the failure. On a host without access to the Windows print spooler the list is simply empty.

## The settings column for a slot {#the-settings-column-for-a-slot}

Picking a row opens the slot in full ("Printers · Label at start"), under the line the medium needs:

- a label: "Labels go to the queue as raw printer commands. Ganter Lab hands them to Windows and cannot confirm that the label came out.";
- a report: "The document arrives at the queue as a PDF, so pick a document printer. Microsoft Print to PDF works for a test."

| Field | What it is | Values / default | Effect |
| --- | --- | --- | --- |
| **Printer queue** | "Where every unit that still follows the model prints this." | **(not configured)**, then every installed queue by name; a stored name the station no longer installs stays listed as "Name (not installed)"; (not configured). | Written on the model: every following unit prints through it at once. The legend adds "Used by" and the actions that print through the slot. |

Without Manage process, or while the station is locked, the card carries the banner "Changing printer queues needs the “Manage process” permission and an editable station." and the picker is disabled.

## Per unit: the units list {#per-unit-the-units-list}

| Column | What it shows |
| --- | --- |
| **Unit** | The unit's name. |
| **Queues** | "Follows the model", or "3 of 4 set, its own" for a detached unit. The row wears the caution ink when a command of the model prints through a slot that is empty in force for this unit. |

**Manage units** at the far end of the head opens the model's page.

## The settings column for a unit {#the-settings-column-for-a-unit}

Picking a unit opens two cards. **Where this unit's queues come from** offers **Follows the model default** ("Editing the model default above changes this unit with the rest of the bench.") or **Has its own queues** ("This unit is on its own. The model default no longer reaches it, and editing it changes nothing here."). Detaching starts from what is in force: a unit whose own four slots are all empty takes a copy of the model's four; following again erases nothing, so detaching a second time gives back exactly what the unit had. The choice is disabled without Manage process and while the station is locked.

The second card is the four slots in force, titled **In force: the model default** ("Read from the model. Give this unit queues of its own to change it here.") with every picker disabled while the unit follows, or **This unit's own** ("Only this unit prints through these. Its siblings are untouched.") once detached. The table is the same four rows: **Type** (with the medium's caveat as the cell's tooltip), **When**, **Used by**, and a **Printer queue** picker per row offering the same list as the model's. The queue-error banner, when there is one, repeats on this card.

## How a command finds its queue {#how-a-command-finds-its-queue}

At the run boundary, every command of every action the procedure selected resolves its queue through the model: a unit that follows takes the model's slot for the command's kind and trigger; a detached unit takes its own. Two commands of the same combination therefore share one printer on purpose, whichever actions they sit in, and grouping or reordering commands never moves a queue. Removing an action leaves the slots untouched, because they are keyed on kind and trigger, not on the action.

What happens when the slot in force is empty differs by medium, and neither case changes the run or stops the other commands:

- A **label** is still rendered and recorded in the run's label dossier; its send is recorded as a failed attempt against the queue "(not configured)", with the reason "No printer queue is configured for this label on the Unit."
- A **report** still publishes its PDF (and freezes it in the run when the command asks for that); its automatic print is recorded as a failed attempt with "No printer queue is configured for this action on the Unit."

Queue acceptance is "Sent to queue", never proof of physical printing. Queue names are station-local: a configuration copied to another station keeps the names, which then read "(not installed)" until replaced.

## What this screen does not do {#what-this-screen-does-not-do}

- It prints nothing: a label's test print is on the [label template](process-labels), a report's sample on the [report](process-reports), and reprints and resends are in [Histories](histories-documents).
- It does not decide what is printed or when: that is each action's commands under [Actions](process-actions), and which actions a run emits is the [procedure](process-procedures).
- It has no per-action or per-procedure queue: one queue per combination, per unit.
- It installs no queue: the list is Windows' own, and a host without the print spooler lists none.
