Mittels LibreOffice wird eine neue Tabelle erstellt:
Die Checkliste wird nun so erstellt, wie sie in ausgedruckter Form später aussehen soll.
•Logos
•Schriftarten
•Schriftgrössen
•Spaltenhöhe und -breite
•Feld-Attribute
•usw.
Beispiel einer Checkliste (noch komplett ohne Definitionen):
Druckvorschau:
Wenn das "Look&Feel" der Checkliste dem entspricht, was man sich vorstellt, kann man mit dem Ausfüllen der Definitionen beginnen.
Jetzt kann mit dem Definieren der Datenfelder begonnen werden. Unter Datenfelder werden Stammdaten wie Anlage, Name des Technikers, aktuelles Datum usw. verstanden.
Daten werden immer im Format {"value": "SCHLÜSSEL"} definiert.
Aktuell muss noch object.name genutzt werden. Wird aber im nächsten Release angepasst!
Die Platzhalter müssen in den Feldern eingegeben werden, in denen der Inhalt später auch dargestellt werden soll.
Ausgabe:
Vor der Definition der einzelnen Fragen sollte man sich überlegen, in wie weit Fragen gruppiert werden sollen. Im Beispiel hat es zwei Gruppen "Filtertausch" und "Funktionschecks".
Diese Gruppen werden nun direkt in der Vorlage definiert:
Das Format ist {"group": GRUPPENNUMMER, "label": "Bezeichnung der Gruppe in der Ausgabe"}.
GRUPPENNUMMER
Zahl, beginnend mit 1. Jede Gruppe hat eine eigene Zahl.
Bezeichnung der Gruppe in der Ausgabe
Dieser Text wird beim Einlesen der Vorlage
beim Ausfüllen der Checkliste
und beim Generieren des PDF in die entsprechende Position eingetragen:
Beispiele:
{"group": 1, "label": "Filtertausch"}
{"group": 2, "label": "Funktionschecks"}
{"group": 30, "label": "Weitere Gruppe"}
Die Nummerierung der Gruppen ist egal (muss nicht fortlaufend sein). Wichtig ist, dass bei den Fragen die entsprechende Gruppennummer angegeben wird.
Soll eine Frage keiner Gruppe zugeordnet werden, so muss eine Gruppennummer bei der Frage definiert werden, die nirgends deklariert wurde (wird dann als "Einzelfrage" dargestellt).
Definition der Fragen
Die Definition der Fragen wird in das Feld gesetzt, in das die Antworten dargestellt werden sollen.
Bei allen Fragen muss folgendes angegeben werden:
"question" Frage-Gruppe (Zahl)
"type" Type der Frage (Texteingabe, Datumseingabe, Zahleingabe, Auswahl)
"label" Frage im Klartext
Optional
"comment" zusätzlicher Kommentar
Texteingabe
{"question": 1, "type": "text", "label": "Filterklasse"}
Eingabefeld:
Freie Texteingabe im Feld
Ausgabe PDF:
Datumseingabe
{"question": 1 , "type": "date", "label": "Nächste Inspektion"}
Eingabefeld:
Datums-Picker steht zur Verfügung
Ausgabe PDF:
Das Ausgabeformat ist immer dd.mm.yyyy und kann nicht umgestellt werden (auch nicht durch das Anpassen das Datumsformat in der Vorlage).
Zahleneingabe
{"question": 1 , "type": "number", "label": "Anzahl Filter"}
Eingabefeld:
Ausgabe PDF:
Der Eingabebereich kann nicht überprüft werden. Das Inkrement/Dekrement ist immer 1.
Auswahl
{"question": 2, "type": "select", "label": "Lüftung in Betrieb genommen", \
"values": {"ja":"JA", "nein": "NEIN"}}
Bei den "values" müssen die Texte jeweils paarweise angegeben werden. Der erste Text wird für die Generierung des PDF's genutzt, der zweite Teil für die Darstellung in der Auswahlliste. Damit ist es z.B. möglich, einen Fragebogen auf französisch auszufüllen und in Deutsch auszudrucken.
Eingabefeld:
Es wird die Auswahl dargestellt, die in der Liste der "values" definiert wurde.
Ausgabe PDF:
Beispiele:
{"question": 1, "type": "select", "label": "Verschmutzungsgrad der alten Filter", \
"values": {"leicht": "Leicht", "mittel": "Mittel", "startk": "Stark"}}
{"question": 1, "type": "select", "label": "Austausch der Filter", "values": \
{"Vollständig": "Vollständig", "Teilweise": "Teilweise", "nicht gewechselt": \
"nicht gewechselt"}}
{"question": 1, "type": "select", "label": "Ausgetauschter Filtertyp", "values": \
{"Grobstaubfilter": "Grobstaubfilter", "Medium-Staubfilter": "Medium-Staubfilter", \
"Feinstaubfilter": "Feinstaubfilter"}}
Erweiterung Eingabemasken um Kommentare
Bei jeder Frage kann noch ein Kommentar mitgegeben werden:
{"question": 1 , "type": "number", "label": "Anzahl Filter", \
"comment": "Es sollen nur komplette Filtersätze gezählt werden"}
Dieser Kommentar wird bei der Eingabemaske dargestellt:
Solche Kommentare können bei allen Fragetypen definiert werden.
Abfrage von Kommentaren durch Benutzer
In den Fragen können auch Kommentare spezifiziert werden. Es wird zwischen zwei verschiedenen Kommentar-Typen unterschieden:
•Genereller (zusammengefasster) Kommentar (comment)
•Kommentar zu einer Frage (scomment)
Bei den Auswahl-Fragen kann ein Kommentar in Abhängigkeit der Antwort angefordert werden.
{"question": 2, "type": "select", "label": "Lüftung in Betrieb genommen", \
"values": {"ja":"JA", "nein": "NEIN | comment"}}
Dabei muss bei der entsprechenden Antwort das Schlüsselwort "comment" nach einem Pipe-Trennzeichen (|) eingegeben werden. Kommentar kann bei mehreren Auswahlfeldern definiert werden.
{"Vollständig": "Vollständig", "Teilweise": "Teilweise | comment", \
"nicht gewechselt": "nicht gewechselt | comment"}
Die "gesammelten" Kommentare können in einem Feld mit dem Format {"value": "comment"} ausgegeben werden.
Die Kommentare werden einem globalen Benutzer-Kommentar angefügt. Es kann nur ein einziger genereller Kommentar genutzt werden.
Die Kommentare werden hintereinander ausgegeben (um Platz bei der Ausgabe zu sparen). Eingegebene Zeilenvorschübe werden ignoriert.
Kommentar bei einzelnen Fragen können über den scomment-Tag definiert werden.
{"question": 2, "type": "select", "label": "Differenzdruck-Ablesung ok?", \
"values": {"ok":"ok", "nicht ok": "nicht ok | scomment_1"}}
Die Kommentare werden nummeriert. Eine Nummer darf nur einmalig genutzt werden (Reihenfolge oder Zahlenlücken spielen keine Rolle). Die Nummer wird nach einem Unterstrich (_) angehängt. Dies ist nur möglich, beim letzten Auswahltext einer "select"-Abfrage. Wird dieser Auswahltext ausgewählt, so muss ein Kommentar eingegeben werden.
Die Ausgabe des Kommentars kann in beliebige Zellen erfolgen:
{"value": "scomment", "comment": 1}
Die letzte Zahl muss der Nummer entsprechen, die bei der "select"-Frage angegeben wurde.
Resultat: