Berichtsverwaltung¶
Unter Administration > Berichte (/v2/admin/reports) werden Berichtsvorlagen, Variablen und Einstellungen verwaltet.
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¶
- Klicken Sie auf Neue Vorlage
- Laden Sie die JasperStarter-Vorlage (.jrxml) hoch
- Vergeben Sie einen Namen und Typ
- Konfigurieren Sie die Variablenzuordnung
- 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.
