# Etiketten und Berichte

> Die Dossiers Bericht, Etiketten und Datenbankzeilen eines Laufs: jede Registrierung, jedes Artefakt und jede Zeile mit ihren Zustellversuchen, die Auswahl der Warteschlange, PDF öffnen, Bericht erneut senden, Drucken und Erneut drucken, Erneut senden sowie die zwei Wege, ein neues Dokument aufzuzeichnen.

Die Aufzeichnung bewahrt die aus dem Lauf erzeugten Dokumente in zwei Dossiers, **Bericht** und
**Etiketten**, zwischen den bewerteten Kriterien und den Ereigniseinträgen. Beide sind zuerst
Nachweis und erst danach Befehlsfläche: Jedes Artefakt listet jeden Zustellversuch mit der
Warteschlange, in die er ging, und seinem dauerhaften Status, und keines nennt je ein
eingereihtes Dokument "gedruckt". Beide tragen dasselbe Paar Gesten, das sich allein im Medium
unterscheidet: das Aufzeichnen eines **neuen** Dokuments aus dem eingefrorenen Nachweis des Laufs
und das **erneute Ausgeben** eines aufgezeichneten, ohne dass etwas neu zusammengesetzt wird. Das
Ansehen folgt Historien anzeigen; die Befehle nennen ihre eigenen Voraussetzungen weiter unten.

Eine Berechtigung, die die Rolle nicht trägt, und ein Augenblick, der abweist, sind zwei
verschiedene Dinge, und die Dossiers beantworten sie verschieden. Einer Rolle ohne eine der
folgenden Berechtigungen wird keines der Bedienelemente gezeichnet, die sie abdeckt: die Sendezeile,
ihre Auswahl der Warteschlange und der Block, der ein neues Dokument aufzeichnet, fehlen schlicht,
ein Hinweis am Kopf des Dossiers sagt warum ("Etikettenbefehle nicht verfügbar", "Berichtsbefehle
nicht verfügbar"), und jedes Artefakt, jeder aufgelöste Wert und jeder Zustellversuch bleibt lesbar,
und genau dafür kam diese Rolle. Ein Bedienelement, das nur der Augenblick abweist, bleibt, wo es
ist, ausgegraut, und sagt an sich selbst, was fehlt.

Beide Dossiers bieten den Rollen, die senden dürfen, je Artefakt eine Auswahl der Warteschlange an,
vorbelegt mit der Warteschlange, die auf der Einheit des Laufs für die Art und den Ausgabezeitpunkt
dieses Dokuments gilt ([Drucker](process-printers)), sofern diese Warteschlange installiert ist,
sonst mit "Wählen Sie eine installierte Warteschlange". Ist keine Warteschlange installiert, sagt es
eine Zeile, und Auswahl und Befehl stehen ausgegraut auf "Auf dieser Station ist keine
Windows-Druckerwarteschlange installiert."

## Status {#statuses}

| Status | Bedeutung |
| --- | --- |
| Nicht gesendet | Das Artefakt oder die Registrierung besteht, und es wurde nie ein Versuch aufgezeichnet. |
| An Warteschlange gesendet | Windows hat das Dokument angenommen. Das bestätigt nicht, dass Papier herauskam. |
| Fehlgeschlagen | Die Warteschlange hat abgewiesen; der Fehler steht neben dem Versuch. |
| Senden ungewiss | Die Anwendung hat aufgehört, nachdem der Versuch aufgezeichnet und bevor die Antwort der Warteschlange aufgezeichnet war. Es wird nie automatisch wiederholt, denn der Drucker kann das Dokument bereits erzeugt haben. |
| Erzeugung fehlgeschlagen | Ein Etikett, dessen Befehle nicht erzeugt werden konnten; der Grund wird gezeigt, und es gibt nichts zu drucken. |

Jeder Versuch zeigt seinen Status, seine Warteschlange, sein Fenster ("begonnen → abgeschlossen"
oder "begonnen → keine dauerhafte Antwort") und seinen Fehler.

## Bericht {#report}

Das Dossier zählt die Berichte, die auf dem Lauf registriert sind: einen je Berichtsbefehl, der sich
für das automatische Drucken oder für das Aufbewahren einer Kopie entschieden hat, und nichts für
einen Befehl, der um keines von beidem gebeten hat, denn eine bloße Erzeugung ist ein Export. Ohne
einen lautet es "Auf diesem Lauf ist kein Bericht registriert. Das PDF am Laufende wird hier
aufgezeichnet, wenn der Ablauf eine Kopie davon im Lauf behält oder es automatisch druckt", und
schließt nur für eine Rolle, der der Block zum Erzeugen gezeichnet wird, mit "; ein neuer kann
unten jederzeit erzeugt werden."

Jede Registrierung ist ein Aufklappbereich, überschrieben mit dem Namen der Gruppe, dem Namen des
Layouts, dem Zeitpunkt und dem Status. Darin: der veröffentlichte Dateiname, was der Lauf davon hält
("Kopie im Lauf behalten · 312,4 KB" oder "nur Verweis", mit einem Hinweis, was ein erneutes Senden
einreichen wird), die Kennung des Artefakts, dann:

| Bedienelement | Was es tut | Ausgegraut, wenn | Verlangt |
| --- | --- | --- | --- |
| PDF öffnen (an der Station) oder PDF herunterladen (im Browser) | Öffnet das veröffentlichte PDF aus dem Berichtsordner im Betrachter des Systems oder öffnet es im Browser in einem neuen Tab (ein Browser, der den Tab blockiert, lädt es stattdessen herunter). Eine Registrierung, deren gespeicherter Name kein auf dieser Station veröffentlichter Bericht ist, wie ihn ein aus einer anderen Installation eingespielter Lauf mitbringt, wird abgewiesen, bevor irgendetwas gelesen wird: "Diese Registrierung benennt keinen Bericht, der auf dieser Station gespeichert ist. Erzeugen Sie ihn aus Historien neu." Ein Name, der ein veröffentlichter Bericht ist, dessen Datei aber nicht mehr gespeichert ist, sagt "Das PDF des Berichts ist auf dieser Station nicht mehr gespeichert. Erzeugen Sie es aus Historien neu." | Eine Erzeugung, ein erneutes Senden oder ein anderes Öffnen läuft noch. | Historien anzeigen |
| Versuche an der Warteschlange | Die Liste der Versuche, der neueste zuerst. | | |
| Bericht erneut senden | Reicht ein Dokument bei der gewählten Warteschlange ein und hängt dieser Registrierung einen Versuch an, nie eine neue Registrierung. Eine Registrierung mit einer im Lauf behaltenen Kopie reicht diese Kopie Byte für Byte ein; eine mit nur einem Verweis reicht das veröffentlichte PDF so ein, wie es gerade ist, es geht also eine spätere Fassung hinaus, und ein verschwundenes PDF wird abgewiesen ("Das Bericht-PDF liegt nicht mehr im Berichtsverzeichnis. Erzeugen Sie es vor dem erneuten Senden neu."). | Keine Warteschlange gewählt, ein anderer Befehl läuft noch, die Station ist schreibgeschützt. | Historien anzeigen, Abläufe ausführen |

Einzusehen, was der Lauf veröffentlicht hat, ist Lesen; ein Dokument zu erzeugen oder erneut
einzureichen ist es nicht, und darum sind die drei Gesten getrennt freigegeben: Die Dateizeile wird
jeder Rolle gezeichnet, die das Dossier liest, einer ohne Abläufe ausführen fehlen die Auswahl der
Warteschlange und das erneute Senden, und einer ohne Historien exportieren/importieren fehlt der
Aufklappbereich, der ein neues PDF erzeugt. Was der Augenblick abweist, steht am ausgegrauten
Bedienelement selbst: "Ein Bericht wird noch geöffnet.", "Ein Bericht
wird noch gesendet.", "Ein Bericht wird noch erzeugt.", "Runtime gestoppt", "Auf
dieser Station ist keine Windows-Druckerwarteschlange installiert.", "Wählen Sie die
Druckerwarteschlange, an die dieser Bericht geht."

**Neues PDF mit einem aktuellen Bericht**, der Aufklappbereich unter der Liste, ist die andere
Hälfte des Paares: eine Auswahl **Bericht** ("(Bericht des Ablaufs)" oder ein beliebiges Layout der
Bibliothek) und **Bericht erzeugen**, das das PDF des Laufs erneut aus dessen eigener Datei erzeugt,
es im Berichtsordner unter dem schlichten Namen des Laufs neu veröffentlicht, nichts registriert und
keine Warteschlange erreicht. Der ganze Aufklappbereich wird nur für eine Rolle mit Historien
exportieren/importieren gezeichnet, und solange der Lauf noch aufzeichnet, trägt er den Hinweis "Ein
Bericht wird erzeugt, sobald der Lauf beendet ist und seine endgültigen Nachweise eingefroren sind."
über einer Auswahl und einem Befehl, ausgegraut auf "Dieser Lauf zeichnet noch auf, hat also noch
keine eingefrorene Momentaufnahme."; dieselbe Erzeugung ist PDF erzeugen im Streifen, das das
Ergebnis auch öffnet ([Einen Lauf exportieren](histories-export#pdf)). Ein Layout, das gelöscht
wird, während das Dossier offen ist, fällt aus der Auswahl, die auf den Bericht des Ablaufs
zurückfällt.

## Etiketten {#labels}

Das Dossier zählt die im Lauf gespeicherten Artefakte, das neueste zuerst: die Etiketten, die der
Ablauf bei Start und bei Abschluss ausgegeben hat, und jedes danach aufgezeichnete Etikett, dessen
Name sagt, auf welchem Weg es entstand: `<Gruppe> · Generated from Histories` für eines aus
**Neues Etikett** im Streifen, und nur `Generated from Histories` für eines aus
**Neues Etikett mit einer aktuellen Vorlage**, das zu keiner Gruppe gehört. Der Name wird auf
Englisch aufgezeichnet, gleich in welcher Sprache der Bildschirm steht. Ohne eines lautet es "In diesem Lauf sind keine
Etikettenerzeugnisse gespeichert. Automatische Aktionen und jedes später dafür ausgegebene Etikett
erscheinen hier."

Jedes Artefakt ist ein Aufklappbereich, überschrieben mit dem Namen der Gruppe, dem Namen der
Vorlage, dem Ausgabezeitpunkt (Start oder Abschluss), dem Zeitpunkt und dem Status. Darin: der
Fehler der Erzeugung, wenn es einen gibt; die Zeile RAW (die eingefrorene Anzahl Bytes oder "KEINE
NUTZDATEN", die Quelldatei der Vorlage, der SHA-256 der verwendeten Vorlagenfassung, die Kennung des
Artefakts); **Aufgelöste Werte**, eine Zeile je Platzhalter mit dem eingesetzten Wert und der Quelle, aus
der er kam ("Keine Platzhalter in dieser festen Befehlsdatei." bei einem festen Etikett); **Versuche an der
Warteschlange**; und, bei einem Artefakt mit Befehlen, die Sendezeile:

| Bedienelement | Was es tut | Ausgegraut, wenn | Verlangt |
| --- | --- | --- | --- |
| Drucken (Erneut drucken, sobald ein Versuch besteht) | Reicht genau die eingefrorenen Bytes bei der gewählten Warteschlange ein und hängt einen Versuch an. Kein Platzhalter wird erneut aufgelöst und die Vorlage nie gelesen, die Warteschlange erhält dieses Artefakt also Byte für Byte, was sich seither auch geändert hat. | Keine Warteschlange gewählt, ein anderes Senden läuft noch, die Station ist schreibgeschützt. | Historien anzeigen, Abläufe ausführen |

Einer Rolle ohne beide Berechtigungen wird überhaupt keine Sendezeile gezeichnet und auch kein Block
zum Zusammenstellen: Sie liest die Artefakte, ihre aufgelösten Werte und ihre Versuche, und das
Dossier bietet ihr nichts zum Drücken. Was der Augenblick abweist, steht am ausgegrauten
Bedienelement selbst: "Ein Etikett wird noch gesendet.", "Runtime gestoppt", "Auf
dieser Station ist keine Windows-Druckerwarteschlange installiert.", "Wählen Sie die
Druckerwarteschlange, an die dieses Artefakt geht."

Ein neues Etikett für den Lauf wird auf zwei Wegen aufgezeichnet, und keiner davon sendet es:
Das neue Artefakt steht oben im Dossier, sobald es aufgezeichnet ist, und Sie drucken es danach
aus seinem eigenen Eintrag.

- **Neues Etikett**, im Streifen über der Aufzeichnung, erzeugt eines der Etiketten, die der Ablauf
  des Laufs konfiguriert und das eine Vorlage bereits mit ihren bestätigten Zuordnungen der
  Platzhalter paart, ein Formular ist also nicht nötig. Seine Auswahl steht vorbelegt auf "(Etikett des
  Ablaufs)", dem ersten Abschlussetikett in der Reihenfolge der Ausgabe (dem ersten Startetikett bei
  einem Ablauf, der bei Abschluss keines ausgibt), und listet jeden Etikettenbefehl des Ablaufs,
  benannt nach seiner Gruppe (mit "· bei Start" oder "· bei Abschluss", wenn eine Gruppe mehrere
  hält). Eine Auswahl, deren Vorlage die Bibliothek verlassen hat, lautet "· keine Vorlage", eine,
  deren Vorlage keine Befehle hält, "· keine Befehle"; beide bleiben gelistet und können nicht
  erzeugt werden. Der Prüfergebnisfilter des Befehls wird übergangen: Sie haben um dieses Etikett
  gebeten. Ein Lauf, dessen Ablauf fort ist, und ein importierter Lauf konfigurieren kein Etikett
  ("Der Ablauf dieses Laufs konfiguriert kein Etikett."). Nur ein fertiger Lauf erzeugt.
- **Neues Etikett mit einer aktuellen Vorlage**, der Aufklappbereich unter den Artefakten, nimmt
  jede Vorlage der Bibliothek, die Befehle hält, und ordnet jeden Platzhalter von Hand einem Nachweis zu,
  der in diesem Lauf bereits eingefroren ist. Für jeden Platzhalter: eine Auswahl der **Quelle**, die die
  eingefrorenen Werte mit ihrer Vorschau listet ("Kennung des Laufs · Name des Modells:
  Klimakammer", "Metadaten · Seriennummer: A12", "Kriterium · Überschwingen · Zyklus 1 · Ergebnis:
  OK"), ein Format für eine Datumsquelle (Datum und Uhrzeit der Station, Datum der Station, Uhrzeit
  der Station, ISO 8601) oder eine Anzahl Nachkommastellen für eine numerische ("Wie aufgezeichnet",
  0 bis 9) und ein Kästchen **Zuordnung bestätigen**. Die Zeile unter den Zeilen zählt "n von m
  Platzhaltern ausdrücklich bestätigt", und **Etikett erzeugen** bleibt ausgegraut auf "Bestätigen Sie
  zuerst jeden Platzhalter gegen eine eingefrorene Quelle.", bis jeder Platzhalter mit einer echten
  Quelle bestätigt ist; eine Vorlage ohne Platzhalter erzeugt feste Befehle, und eine ohne Befehle wird
  abgewiesen ("Diese Vorlage hat noch keine Druckerbefehle."). Angeboten werden allein die
  eingefrorenen Werte: Nichts Lebendes wird gelesen, und ein Lauf, der noch aufzeichnet, hat keine
  Endmomentaufnahme, aus der erzeugt werden könnte ("Abschließende Momentaufnahme nicht verfügbar", der Befehl
  ausgegraut auf "Dieser Lauf zeichnet noch auf, hat also noch keine eingefrorene
  Momentaufnahme.").

Beide Wege verlangen Historien anzeigen und Abläufe ausführen, ohne die keiner gezeichnet wird, und
eine Station, die Schreibvorgänge annimmt, was sie nur ausgraut ("Runtime gestoppt"); das Artefakt, das sie aufzeichnen, ist unveränderlich, und das Ergebnis landet
im Aktionsprotokoll ("Neues Etikett festgehalten · Vorlage").

## Datenbankzeilen {#database-rows}

Ein Lauf, dessen Aktionen in eine Werksdatenbank schreiben ([Befehle mit Datenbankzeile](process-actions#database-row-commands)),
trägt unter den beiden anderen ein drittes Dossier, **Datenbankzeilen**; ein Lauf ohne eine solche
Zeile zeichnet keines. Es zählt die Zeilen, die der Lauf geschrieben oder zu schreiben versucht hat
("1 Zeile", "`<n>` Zeilen"). Jede Zeile ist ein aufklappbarer Eintrag, überschrieben mit dem Namen
der Gruppe, der Tabelle und dem Gerät, an das sie ging ("`<table>` über `<device>`"), dem Moment
und dem Zeitpunkt sowie dem Status ihres letzten Versuchs. Darin listet **Werte** eine Zeile je
Spalte mit dem Wert, den der Lauf festhielt, als sein Befehl auslöste ("(kein Wert)" für einen
leeren), und **Versuche** listet jeden Versuch mit seinem Status, seinem Zeitfenster und der Antwort
der Datenbank.

| Status | Bedeutung |
| --- | --- |
| Zeile geschrieben | Die Datenbank hat die Zeile angenommen. |
| Zeile nicht geschrieben | Die Datenbank hat sie abgewiesen, nicht rechtzeitig geantwortet oder war nicht erreichbar; der Grund steht neben dem Versuch, in den Worten des Treibers. |
| Schreiben ungewiss | Die Station hat aufgehört, nachdem der Versuch aufgezeichnet und bevor die Datenbank geantwortet hatte. Sie wird nie von selbst erneut gesendet, denn die Datenbank kann die Zeile bereits enthalten. |
| Nie gesendet | Die Zeile ist aufgezeichnet, und es wurde kein Versuch unternommen. |

| Bedienelement | Was es tut | Ausgegraut, wenn | Verlangt |
| --- | --- | --- | --- |
| Erneut senden | Sendet die Werte, die dieser Lauf festhielt, unverändert an dieselbe Tabelle über das Gerät, wie es jetzt konfiguriert ist, und hängt dieser Zeile einen Versuch an. Nichts wird aus der Konfiguration erneut aufgelöst. Eine Zeile, die die Datenbank bereits angenommen hat, wird ein zweites Mal hinzugefügt. | Eine Zeile wird noch gesendet, die Station ist schreibgeschützt. | Historien anzeigen, Abläufe ausführen |

Eine Rolle ohne beide Berechtigungen liest die Zeilen und ihre Versuche und bekommt keine
Senden-Zeile gezeichnet; der Kopf des Dossiers sagt "Eine Zeile erneut zu senden verlangt sowohl
Zugriff auf Historien als auch die Berechtigung Abläufe ausführen. Die Zeilen und ihre Versuche
bleiben zur Durchsicht verfügbar." Das Ergebnis eines Sendens landet im Aktionsprotokoll: "Die Zeile
wurde in `<table>` geschrieben." oder "Die Zeile wurde nicht geschrieben: `<reason>`".

## Was die Dossiers nicht tun {#what-the-dossiers-do-not-do}

Sie erzeugen ein aufgezeichnetes Etikett oder einen aufgezeichneten Bericht nie neu, um es erneut
auszugeben: Ein erneutes Drucken sendet eingefrorene Bytes, und ein erneutes Senden sendet das
registrierte Dokument. Sie ändern nie ein älteres Artefakt. Sie drucken keine Testseite einer
Vorlage (das ist die eigene Seite der Vorlage unter [Vorlagen](process-labels#test-send)), und sie
entscheiden nicht, durch welche Warteschlange ein Ablauf druckt: Die Auswahl hier gilt je Artefakt
und je Sendevorgang.
