Zum Inhalt

Berichtsverwaltung

Unter Administration > Berichte (/v2/admin/reports) werden Berichtsvorlagen, Variablen und Einstellungen verwaltet.

Berichtsverwaltung

Bericht anlegen

Im Tab Berichtseinstellungen legt die Schaltfläche Neuer Bericht einen neuen Eintrag an. Pflicht sind nur zwei Angaben:

Feld Beschreibung
Grid Ressource, an der der Bericht erscheint (inventory, calibration, booking, repair, location, information)
Schaltflächen-Name Beschriftung des Buttons im Grid bzw. auf der Detailseite

Alles Weitere (Ordner, Format, Anzeige im Menü, Dateinamen-Pattern, Briefkopf, Rollen-/Gruppenbeschränkung, DMS-Ablage, Etiketten-/Direktdruck) ist optional und kann später über die Aktion Konfigurieren geändert werden.

Der Eintrag entsteht ohne Report-Datei. Die eigentliche Vorlage (.jrxml oder .zip) wird danach über die Aktion Datei hochladen in der Zeile hinzugefügt — jeder Upload erzeugt eine neue Version (siehe Versionshistorie).

Alle Zeilenaktionen stehen im Menü Aktionen am rechten Rand der Zeile: Konfigurieren, Datei hochladen, Paket-Info, Versionshistorie, Duplizieren und Löschen. Solange kein Bericht hochgeladen ist, bleiben Paket-Info und Versionshistorie gesperrt; bei einem Systembericht gilt das für Löschen.

Ähnlichen Bericht kopieren

Existiert bereits ein passender Bericht, ist Duplizieren meist schneller: Die Kopie übernimmt Konfiguration, Variablen, Unterschriften-Plätze, Freigabe-Regeln und die zuletzt hochgeladene Report-Datei.

Über Löschen wird eine Berichtseinstellung samt hochgeladener Versionen entfernt; die Sortierung der verbleibenden Berichte desselben Grids wird anschließend neu vergeben.

Dateinamen-Pattern

Das Pattern bestimmt den Namen der erzeugten Datei (Download und, bei aktiver DMS-Ablage, den Dokumentnamen im DMS). Ohne Pattern setzt sich der Name aus Schaltflächen-Name und Datensatz-Kennung zusammen.

Baustein Bedeutung
{feld} Wert des Feldes aus dem Datensatz, für den der Bericht läuft
[datum] Aktuelles Datum/Uhrzeit in moment.js-Schreibweise (YYYY, MM, DD, HH, mm, ss)
alles andere bleibt unverändert stehen

Beispiel: Zertifikat-{serial_number}_[YYYY-MM-DD] ergibt Zertifikat-SN-4711_2026-08-10.

Für {feld} gelten dieselben Namen wie beim Namensmuster der Dateiverwaltung: der API-Feldname ({serial_number}), der V1-Feldcode ({I4204}) und Zusatzfelder funktionieren gleichwertig. Ein Feld ohne Wert liefert nichts.

Nur Felder des gewählten Grids

{feld} wird gegen die Feldverwaltung des Grids aufgelöst, für das der Bericht konfiguriert ist. Ein Name, den dieses Grid nicht kennt, bleibt wörtlich im Dateinamen stehen — ein Kalibrier-Bericht mit dem Muster {I4202}_{I4203} (Hersteller/Typ des Geräts) erzeugt deshalb eine Datei namens I4202_I4203, und bei aktiver DMS-Ablage heißt das Dokument genauso. Der Dialog meldet solche Platzhalter inzwischen direkt unter dem Feld und bietet die Felder des Grids zum Einsetzen an; die Grids „Information" und „Preisliste" haben keine Feldverwaltung, dort bleibt die Prüfung aus.

Berichtsvorlagen (Report Templates)

Vorlagen definieren das Layout und den Inhalt von Berichten:

Eigenschaft Beschreibung
Name Vorlagenbezeichnung
Typ Berichtstyp (Kalibrierzertifikat, Inventarbericht, etc.)
Format Ausgabeformat (PDF)
Vorlage JasperStarter-Template (.jrxml)

Vorlage erstellen

  1. Klicken Sie auf Neue Vorlage
  2. Laden Sie die JasperStarter-Vorlage (.jrxml) hoch
  3. Vergeben Sie einen Namen und Typ
  4. Konfigurieren Sie die Variablenzuordnung
  5. Speichern

Berichtsvariablen

Variablen ermöglichen dynamische Inhalte in Berichten:

Variablentyp Beschreibung Beispiel
Inventarfeld Daten aus dem Inventar ${inventory_number}
Kalibrierfeld Daten aus der Kalibrierung ${calibration_date}
Kundenfeld Daten aus dem Kundenstamm ${customer_name}
Systemfeld Systemdaten ${current_date}, ${report_number}

Globaler Briefkopf

Oben im Tab Berichtseinstellungen steht der Briefkopf, der jeden generierten PDF-Bericht rahmen kann. Die vier Inhaltsblöcke standen bis ADR-031 in den Grundeinstellungen neben der Passwortrichtlinie:

Einstellung Wirkung
Briefkopf links (left_header_order) Linke Kopfspalte, z. B. Empfängeranschrift eines Lieferscheins
Briefkopf rechts (right_header_order) Rechte Kopfspalte, z. B. Kontaktdaten des Labors
PDF-Kopfzeile (pdf_report_header) Kopfzeile jeder PDF-Seite, oberhalb der Spalten
PDF-Fußzeile (pdf_report_footer) Fußzeile jeder PDF-Seite

Alle vier tragen HTML und werden im WYSIWYG-Editor gepflegt; die Schaltfläche HTML-Code schaltet auf den Quelltext um, wenn handgepflegtes Markup unverändert bleiben soll.

Dazu die Seitengeometrie, mit der der Briefkopf gerendert wird:

Einstellung Vorgabe Wirkung
Briefkopf-Spalten nur auf Seite 1 (report_letterhead_columns_first_page_only) an Aus: die beiden Spalten stehen auf jeder Seite. Kopf- und Fußzeile stehen davon unabhängig immer auf jeder Seite
Rand oben / unten (report_letterhead_margin_top, …_bottom) 10 mm Abstand von Kopf- bzw. Fußzeile zum Seitenrand
Rand links/rechts (report_letterhead_margin_x) 15 mm Seitlicher Abstand aller Blöcke
Schriftgröße (report_letterhead_font_size) 9 pt Grundschriftgröße; Formatierungen im Editor bleiben unberührt

Briefkopf statt PDF-Vorlage

Im Konfigurationsdialog eines Berichts entscheidet das Feld Briefkopf, welches Briefpapier hinter den Bericht gelegt wird:

Auswahl Wirkung
Kein Briefkopf Der Bericht wird unverändert ausgeliefert
Globaler Briefkopf calServer rendert die Blöcke oben zu einem zweiseitigen Briefpapier und legt es unter den Bericht — Seite 1 hinter Berichtsseite 1, Seite 2 hinter alle weiteren
PDF-Vorlage Eine im Tab PDF-Vorlagen hochgeladene PDF wird als Briefpapier verwendet (bisheriges Verhalten)

Der globale Briefkopf ist der Weg, jeden Bericht mit demselben Briefpapier zu versehen, ohne für jeden Bericht eine PDF zu erzeugen und hochzuladen. Ist kein Block gefüllt, kommt der Bericht ungestempelt heraus — ein leeres Briefpapier wird nicht erzeugt.

Die Werte bleiben Properties unter settings/user und erfordern die Operation basic_setting_admin — ohne sie blendet die Seite den Abschnitt aus, der Rest der Berichtsverwaltung bleibt nutzbar. Speichern schreibt nur diesen Abschnitt, nie die übrigen Grundeinstellungen: sonst würde ein Speichern hier eine parallel geänderte Passwortrichtlinie auf ihren Ladestand zurücksetzen.

PDF-Vorlage austauschen

Ein neues Briefpapier ersetzt die Datei der bestehenden Vorlage: im Tab PDF-Vorlagen im Zeilenmenü Datei austauschen wählen und die neue PDF hochladen.

Die Vorlage behält dabei ihre Kennung. Alle Berichte, die sie als Briefpapier nutzen, bleiben zugeordnet und drucken ab sofort auf dem neuen Papier — nichts muss nachkonfiguriert werden. Die alte Datei bleibt über Versionshistorie erreichbar und lässt sich von dort zurückholen.

Der Weg über PDF-Vorlage hochladen legt dagegen eine zweite Vorlage an; die alte lässt sich nicht löschen, solange ein Bericht sie noch verwendet (Meldung: „Diese Vorlage wird noch als Briefpapier verwendet von …").

Hat die neue PDF weniger Seiten als die alte, wird die Seiten-Zuordnung auf die letzte vorhandene Seite gezogen. Prüfen Sie sie danach über Seiten-Zuordnung bearbeiten.

Laborangaben (DCC)

Unter dem Briefkopf steht die Identität des Kalibrierlabors — dieselben Angaben wie auf dem Papier, aber maschinenlesbar für den DCC-Export und für Zertifikatslayouts:

Feld Variable Wirkung
Laborname lab_name Pflicht für den DCC-Export. Ohne sie lehnt calServer den Export mit einer 422 ab
Laborkennung lab_code z. B. die Akkreditierungsnummer (DCC: calibrationLaboratoryCode)
E-Mail, Telefon lab_email, lab_phone Kontaktangaben im DCC-Kontaktblock
Straße, PLZ, Ort, Land lab_street, lab_postcode, lab_city, lab_country Laboranschrift. Ohne Land nimmt der Export DE an
Kalibrierort calibration_place Im Labor oder beim Kunden (DCC: performanceLocation)

Gespeichert werden sie als globale Berichtsvariablen (report_type = all, kein Bericht zugeordnet) — es ist derselbe Speicher, den der Tab Berichtsvariablen zeigt, nur als benanntes Formular. Ein einzelner Bericht kann eine dieser Variablen dort weiterhin überschreiben; die Karte hier schreibt immer nur die globale Zeile.

Die Karte erfordert die Operation report_management_admin. Fehlt der Laborname, weist ein Hinweis darauf hin, bevor der erste DCC-Export daran scheitert.

Unterschriften

Oben im Tab steht die globale Zertifikatsangabe (global_cert): der Text, der unter jeder Unterschrift erscheint, deren Platz auf „Global" steht — typischerweise die Akkreditierungsnummer. Steht ein Platz stattdessen auf „Profil", gilt die Zertifikatsangabe des unterschreibenden Benutzers aus seinem Profil.

Im Tab Unterschriften werden die Unterschrift-Plätze je Bericht angelegt, an denen im Berichtsdialog die handschriftliche Unterschrift erfasst werden kann:

Eigenschaft Beschreibung
Name Bezeichnung des Unterschrift-Platzes
Bericht Bericht, zu dem der Platz gehört
Position Seite (erste/letzte) und Lage auf der Seite, per visuellem Positions-Editor
Rollen-/Gruppenbeschränkung Nur passende Benutzer dürfen an diesem Platz unterschreiben (leer = keine Einschränkung)
Im DMS ablegen Unterschriebenes Dokument nach dem Erfassen zusätzlich im DMS archivieren

Freigaben (Freigabe-Regeln)

Im Tab Freigaben werden die Regeln hinter der Aktion „Freigeben" des Berichtsdialogs gepflegt:

Eigenschaft Beschreibung
Bericht Bericht, für den die Regel gilt
Freigabe-Format PDF, PDF/A oder PDF/A Sign — in diesem Format wird der Bericht bei der Freigabe erzeugt und freigegeben im DMS abgelegt. PDF/A Sign liefert PDF/A ohne eingebettete Signatur (die frühere Selbstsignatur ist entfallen, ADR 2026-08-08); einen prüfbaren Nachweis liefert das Siegel über den Siegel-Dienst
Rollenbeschränkung Regel greift nur für Benutzer mit einer der gewählten Rollen (leer = keine Einschränkung)
Gruppenbeschränkung Regel greift nur für Mitglieder einer der gewählten Gruppen (leer = keine Einschränkung)

Pro Regel, die auf Rolle oder Gruppe des freigebenden Benutzers passt, entsteht ein freigegebenes DMS-Dokument (Approve-Flow). Ohne passende Regel ist für den Bericht keine Freigabe möglich — der Dialog meldet dies entsprechend.

Report-Run-Logs

Die Ausführungshistorie zeigt alle generierten Berichte mit Zeitstempel, Benutzer und Status.