Protokolle: Unterschied zwischen den Versionen

Aus OrgaMon Wiki
Zur Navigation springen Zur Suche springen
Zeile 324: Zeile 324:
* Der Aufbau einer Zeile ist
* Der Aufbau einer Zeile ist
** <code><i>Bedingung [Resultat [Aktion]]</i></code>
** <code><i>Bedingung [Resultat [Aktion]]</i></code>
* Vor der <code><i>Bedingung</i></code> kann man einige Leerschritte machen um eine Blockzugehörigkeit zu setzen
* Erfüllte Bedigungen bekommen einen Punkt, man kann z.B. 5 Bedingungen in eine Zeile schreiben, nach der Prüfung aller Bedingungen ergibt sich ein Resultat von 0,1,2,3,4 oder 5 (wenn alle Bedingungen erfüllt sind!)
* Erfüllte Bedigungen bekommen einen Punkt, man kann z.B. 5 Bedingungen in eine Zeile schreiben, nach der Prüfung aller Bedingungen ergibt sich ein Resultat von 0,1,2,3,4 oder 5 (wenn alle Bedingungen erfüllt sind!)
* wird <code><i>Resultat</i></code> weggelassen, so wird der kommende Block nur ausgeführt wenn die Bedingung erfüllt ist
* wird <code><i>Resultat</i></code> weggelassen, so wird der kommende Block nur ausgeführt wenn die Bedingung erfüllt ist

Version vom 30. November 2021, 17:38 Uhr

Überblick

die OrgaMon-App sammelt mobile Daten. Protokolle sind frei gestaltbare Eingabeformulare, die unterwegs ausgefüllt werden können. Pro Auftrag wird nur ein Protokoll ausgefüllt.

  • Protokolle sind Baustellen speziefisch
  • Protokolle sind Zählerart speziefisch
    • Beispiel: Baustelle ST3A, hier gibt es die Auftragsarten "W" und "G" und "E2"
    • ST3AW.txt wird dann verwendet für die Auftragsart "W"
    • ST3AG.txt ... "G"
    • ST3AE2.txt ... "E2"
    • ST3A.txt für alle anderen


Protokoll Gestaltung

Protokolle sind Textdateien, in die vor Ort zusätzliche Daten (neben den Standard-OrgaMon- Daten) eingegeben werden können.
Protokolle sind frei definierbar. Fest stehender Text, sowie Eingabepositionen können definiert werden.

Protokolle, die für JonDa-Geräte geschrieben wurden können nun auch im OrgaMon aufgerufen und bearbeitet werden. Ist ein Auftrag offen, so kann man das passende Protokoll mit <Strg> und <1>, <2> usw. aufrufen. Der Name des Protokolles wird aus "Baustellenkrzel"-"ZählerArt"-"NummerDerProtokollAlternative".txt zusammengesetzt. Protokolle werden im Verzeichnis .\Protokolle erwartet.

Muss man Änderungen an einem Protokoll machen, so ruft man das Protokoll mit <Shift>&<Strg> und <1>, <2> usw. auf.

Der Variablen-Name ist immer 2 Buchstaben lang. Handelt es sich dabei um eine Zahl 01 .. 99, so ist es keine "echte" Eingabe-Position sondern ein Datenfeld, das aus OrgaMon rauskopiert wird. Macht man Eingaben in diese festen OrgaMon-Felder hat dies keine Auswirkung.

Gibt es pro Baustelle mehrere Protokolle sollten eindeutige Variblennamen ver wendet werden. z.B.

Protokoll 1 -> AA bis AZ, BA bis BZ
Protokoll 2 -> CA bis CZ, DA bis DZ
Protokoll 3 -> EA bis EZ, FA bis FZ
Protokoll 4 -> GA bis GZ, HA bis HZ
Protokoll 5 -> IA bis IZ, JA bis JZ

Datenausgabe: OrgaMon erzeugt Ausgabedaten im bekannten .csv Format. In der Regel jedoch ohne Protokolldaten. In der Baustelle kann man jedoch die Ausgabe der csv-Dateien incl. der Protokoll-Eingaben ermöglichen. Dazu "Baustelle", Reiter "Protokolle" das Häkchen "Ausfühen Protokollausgabe" aktivieren.

Übergeben Sie ev. Protokolle aus dem Verzeichnis "./Protokolle" dem Auftraggeber, damit ihm klar wird, was sich z.B. hinter der Spalte "V1" verbirgt.

Im Auftragsarbeitsplatz: Werden Protokolldaten mit ausgegeben erscheint der Ausgabewartenbalken als voller Balken, ansonsten ist dieser Balken unterbrochen (da nur ein Teil der Daten ausgegeben wird).

Ist schon eine Feldreihenfolge mit dem Auftraggeber vereinbart sollten neue Felder nur hinten (also im Excel "rechts") angefügt werden.

Ist noch keine Feldreihenfolge mit dem Auftraggeber vereinbart empfiehlt es sich die Spaltennamen ev. inhaltlich oder vom Namen her zu sortieren, damit die Daten de zusammengehören auch zusammen sind.

Dateiname eines Protokolles

  • bei der Aufbereitung des Auftragsvolumens wird für jeden einzelnen Auftrag ermittelt welches Protokoll mitgegeben wird.
  • Hier ist man also sehr flexibel und man kann so steuern "was" der Monteur vor Ort alles machen kann und soll. Und das abhängig von der Baustelle und der Auftragsart.
  • das zu jedem einzelnen Auftrag mitgesendete Protokoll ist nicht Geräte-abhängig sondern Baustellen- und Zähler-Art abhängig: Also bei Baustelle "X3" kann es z.B. die Art "W" und "E2" und andere Zählerarten geben. Dann kann man 3 ganz verschiendene Protokolle hinterlegen:
X3
X3W
X3E2
  • im OrgaMon finden sich die Dateien im Verzeichnis .\Protokolle. Sie werden folgendermassen benannt:
 <Kürzel der Baustelle><Zählerart><Protokollvariante>.txt

 Bei <Protokollvariante> = "1" wird die Ziffer "1" NICHT angegeben! Beispiel:
 Baustelle KARL: es gibt "G" und "W" Zählertypen: die möglichen Protokolle sind
 somit:
 
 OrgaMon/JonDa
 ===========
 
 KARLG.TXT, KARLW.TXT
 
 OrgaMon
 
 KARLG2.TXT, KARLW2.TXT
 KARLG3.TXT, KARLW3.TXT
 KARLG4.TXT, KARLW4.TXT
 KARLG5.TXT, KARLW5.TXT

Konstante

  • 1=, RID
  • 2=, TERMIN
  • 3=, ABNUMMER
  • 4=, ART
  • 5=, ZAEHLER_# ALT
  • 6=, REGLER_# ALT
  • 7=, ZAEHLER_INFO
  • 8=, MONTEUR_INFO
  • 9=, ORT
  • 10=, PROTOKOLL_NAME

vorbestimmete Variable

Variable speichern Protokoll-Eingaben. Dabei gibt es folgende fest eingebauten Speicherplätze:

  • 11=, Zählernummer Korrektur
  • 12=, Zählernummer Neu
  • 13=, Zählerstand Neu
  • 14=, Zählerstand Alt
  • 15=, Reglernummer Korrektur
  • 16=, Reglernummer Neu

freie Variable (Protokollwerte)

  • werden in Grossbuchstaben angegeben und haben immer 2 Stellen
  • die 2. Stelle kann eine Ziffer sein
  • Freie Variable sind die Wertbezeichnungen für Eingaben in das Protokoll, also Speicherbezeichnungen für Protokollwerte
  • Die kommende Verwendung einer Variable gibt man durch ein abschliessendes "=" Zeichen an
  • Der Name einer Variable wird einem eingegebenen Wert vorangestellt
  • Im Datenfeld PROTOKOLLE des Auftrages können Eingaben abgerufen werden
S1=X
OR=Keller
  • In der Ergebnismeldung können Spaltennamen den Variablennamen entsprechen

Konventionenn

A1

Alphanumerischer Prefix für eine Zählernummer Neu

N1

Zählernummer Neu (Alternativ-Feld)

V1,V2,V3,V4

Vergebliche Besuche

Zählwerke

Ausbau
Ausbau Verbrauch 1.8.0
ZAEHLER_STAND_ALT (echtes Datenbankfeld, intern 14=)

Ausbau Verbrauch 1.8.1
A181=

Ausbau Verbrauch Nebentarif 1.8.2
NA=

Ausbau Einspeisung 2.8.0
A280=

Ausbau Einspeisung  2.8.1
A281=

Ausbau  Einspeisung 2.8.2
A282=
Einbau
Einbau Verbrauch 1.8.0
ZAEHLER_STAND_NEU (echtes Datenbankfeld, intern 13=)

Einbau Verbrauch 1.8.1
E181=

Einbau Verbrauch Nebentarif 1.8.2
NN=

Einbau  Einspeisung 2.8.0
E280=

Einbau  Einspeisung 2.8.1
E281=

Einbau  Einspeisung Nebentarif 2.8.2
E282=

Fotos

Foto Ausbau 
FA

Foto Einbau 
FN

Foto Regler
FE

Foto Anlage
FH

Ausbau 1.8.0
FA 
Ausbau 1.8.1 
FB 
Ausbau 1.8.2
FC 
Ausbau 2.8.0
FD 
Ausbau 2.8.1
FF 
Ausbau 2.8.2
FG 

Einbau 1.8.0
FN
Einbau 1.8.1
FM
Einbau 1.8.2
FO
Einbau 2.8.0
FP
Einbau 2.8.1
FQ
Einbau 2.8.2
FR
FU
  • kein Foto, sondern es wird ein Dialog gezeigt auf dem kann man unterschreiben
  • die Unterschrift wird als -FU.jpg abgespeichert und als normales Foto übertragen

ZZ

  • Ja/Nein Feld
  • Alles fertig, Eingabe des Ausbaustandes wird so unnötig

Verwendung eines Variablen-Wertes innerhalb des Protokolles

Werte von aktuellen Variablen können mit Schlangenlinien ausbelichtet werden:

~NN~

Ist der Wert bereits bestimmt wird anstelle von ~NN~ der eingegebene Wert angezeigt

Unterformulare

Formulare lassen sich verschachteln. So kann man Inhaltlich zusammenpassende Bereiche eines Protokolles auf eine eigene Unterseite bringen

  • (, Unterbereich beginnen
  • ), Unterbereich Ende

Trenner

  • --

Eingabetypen

  • "N;" rein numerische Eingabe (0 .. 9)
  • "D;" dezimal (0 .. 9 und Punkt oder Komma)
  • "A;" alphanumerisch (Buchstaben und Ziffern)
  • "T;" Zeit/Datum

Ankreuzfelder

Haken

  • "H;" <SichtbarerText>
# Intern wird im Moment in angekreuzten Fall "J" übermittelt
# Im Fall das nichts eingegeben wird, wird leer übermittelt
# Im Fall das ein Haken rausgemacht wird, wird "N" übermittelt
# in Planung:

"H;" <SichtbarerText> [ ";" <JA-Wert> ] [ ";" <NEIN-Wert> ]

mit dem Default

"H;" <SichtbarerText> ";J;N"

Bobbele

  • "B;" <SichtbarerText> [ ";" <JA-Wert> ]
# B sind eine Gruppe von Radiobuttons, als es ist immer nur EIN
# Knopf gedrückt angekreuzt, wählt man eine andere Option 
# springt der Haken in einer ehemals gewählten Option raus
#
# Übermittelt wird der <JA-Wert> der jeweils gesetzten Option
#

(Barcode-) Scan

  • "S;" <Beschriftung>


Infos zur Parametrisierung finden Sie hier #.25set_BARCODE_TYPE_Technologie

Foto

  • "F;" <Beschriftung>
    • einzelnes Foto für einen vorbestimmten Dokumentationsschritt z.B. "Zählerstand Ausbau"
  • "G;" <Beschriftung>²
    • keines oder mehrere Fotos (Story-Modus), wobei alle Fotos gleichberechigt übertragen werden und ihre Gültigkeit haben

² noch nicht programmiert

Prüflogik

  • Um die Eingabedaten zu plausibilisieren kann dem Protokoll eine Prüf-Vorschrift mitgegeben werden
  • beim "SPEICHERN" wird die Prüf-Vorschrift angewendet
  • Folgende "Eingabefehler" des Monteurs können durch die Prüf-Vorschrift aufgedeckt werden
    • Vergessen ein Feld auszufüllen (als ein sogenanntes Pflichtfeld/Mussfeld/Sollfeld)
    • Vergessen eine Option zu wählen
    • Einen Wert eingegeben, obwohl dies in diesem Falle nicht mehr notwendig ist
    • Einen Wert eingegeben der zu gross oder zu klein ist

Syntax der Prüf-Vorschrift

  • man schreibt als letzten Punkt des Protokolles eine neue Rubrik (Prüfen ) als reinen Text ohne Eingabefelder
  • bei einer Prüfung wird Zeile für Zeile von oben nach unten abgearbeitet
  • bei einem Fehler springt der Eingabe-Fokus auf die erste Eingabeposition, die in der Fehlerzeile angegeben ist
  • Der Aufbau einer Zeile ist
    • Bedingung [Resultat [Aktion]]
  • Vor der Bedingung kann man einige Leerschritte machen um eine Blockzugehörigkeit zu setzen
  • Erfüllte Bedigungen bekommen einen Punkt, man kann z.B. 5 Bedingungen in eine Zeile schreiben, nach der Prüfung aller Bedingungen ergibt sich ein Resultat von 0,1,2,3,4 oder 5 (wenn alle Bedingungen erfüllt sind!)
  • wird Resultat weggelassen, so wird der kommende Block nur ausgeführt wenn die Bedingung erfüllt ist
  • wird Aktion weggelassen, so wird auf eine Unstimmigkeit aufmerksam gemacht
#
#
#
Zeile = { ' ' } { Bedingung ' ' } [ Resultat ] [Aktion]

#
#
Bedingung = Protokollfeld [ '!' | '="J"' | ( '=' | '<>' | '<' | '>' | '>=' | '<=' ) Eingabewert ]

#
#
Eingabewert = '"' { Zeichen } '"' 

#
#
Resultat = '=0' | '=1' | '>0'

#
#
Aktion = exit | fail
  • werden bei einem Statement mehrere Protokollfeld wird eine Summe aller erfüllten Bedingungen gebildet
  • ! ist ein Platzhalter für <>""
  • ="J" kann weggelassen werden, also anstelle von
    • KL="J" KM="J" KN="J" kann man schreiben
    • KL KM KN
  • der default für den Stringvergleich ist <>""
  • bleibt es bei der Einrückungstufe in der nächste Zeile so wir die aktuelle Zeile bewertet, ist das Ergebnis "false" wird das als Eingabefelder aufgefasst, es wird in das erste angegebene Feld fokusiert
  • kommt nach einer Zeile eine weitere Einrückung hinzu, wird die Zeile nicht Eingabeprüfung bewertet sondern als Hinweis ob der folgende Block beachtet oder übersprungen werden soll

Beispiele

-ZZ
 O1 O2 O3 >0
 HAK
  N1 N2
  K3 K2

Befehlsausführung

  • $, globaler Befehl (Ausführung einmalig)
  • %, Befehl für dieses Protokoll (wirksam für aktuelles Protokoll)


Beim Laden aus dem Internet werden die Protokolle gespeichert.

  • Dabei werden alle mit "$" aufgeführten Befehle ausgeführt.
  • Lokale BEfehle, die bei jeder Protokollverwendung ausgeführt werden sollen werden mit "%" eingeleitet

$mv

  • Verschieben einer Datei

$rm

  • Löschen einer Datei

%set

  • setzen einer Systemvariable

%set BARCODE_TYPE Technologie

  • Um Barcodes über das Protokoll abscannen zu können muss dies im Protokoll erst aktiviert werden
  • Ganz oben im Protokoll wird eingestellt welche Barcode-Technologie zum Einsatz kommt
  • Folgende Technologien gibt es:
    • 1D Technologien: UPC_A|UPC_E|EAN_13|EAN_8|RSS_14|RSS_EXPANDED|CODE_39|CODE_93|CODE_128|ITF|CODABAR
    • 2D Technologien: DATA_MATRIX|QR_CODE
  • Das Scannen wird bewusst auf einzelne Technologien vor Ort beschränkt, damit es nicht zu Fehlinterpretationen kommt:

  • Um die verwendetet Technologie herauszufinden starten Sie auf dem Handy die "zxing Barcode Scanner"-App und Scannen den Code.
  • Merken Sie sich war bei "Format" steht, das tragen Sie bitte in die erste Zeile des Protokolles ein


%set BARCODE_TYPE Technologie { "," Technologie }


  • Beispiel



%set BARCODE_TYPE ITF,ITF


Besondere Werte
  • Folgende Angaben haben interne feste Programmierungen
    • ITF : Es wird eine Prüfziffern-Routine nachgeschaltet, "+" bedeutet Erfolg, "-" Fehler in der Prüfziffer.
    • ITF,ITF : Einfach nur ITF ohne Prüfziffernberechnung
    • CODE_39 : Es wird die Einlagerungsfunktion durchgeführt.
    • CODE_39,CODE_39 Einfach nur CODE_39-Scan ohne jede weitere Sonderfunktion

%set AUTO_FOCUS Parameter

  • setzt automatisch den Eingabefokus des Protokolles auf eines der angegebenen Felder
  • Der Fokus wird nur dann gesetzt wenn das Feld bisher keine Eingabe hat
#
# Beispiel, Gehe auf das Feld S1 danach S2
#
%set AUTO_FOCUS=S1;S2

#
# default
#
%set AUTO_FOCUS=14

%set AUTO_SCAN Parameter

  • ist das angegebene Eingabefeld leer wird sofort der Barcode-Scanner gestartet und das Scan-Ergebnis landet in dem Feld
#
# erst S1 dann S2 scannen
#
%set AUTO_SCAN=S1;S2

Beispiel 1

%set BARCODE_TYPE CODE_128
#
# KAWS 2016-01-26
#
(Zählerwechsel
Korrektur der Ausbau-Zählernummer
11=
N;
Stand des Ausbau-Zählers
14=
D;
Nummer des Einbau-Zählers
12=
A;
S;Barcode ~12~
Stand des Einbau-Zählers
13=
D;
)
(Regler
Korrektur der Ausbau-Reglernummer
15=
N;
Nummer des Einbau-Reglers
16=
N;
)
#
--
Vergebliche Besuche
--
V1=
A;
V2=
A;
V3=
A;
--
Inspektion SCHACHT
--
V5=
H;Kopie an Eigent.
AA=
H;Turnus
AB=
H;Abnahme
AC=
H;Reparaturwechsel
AD=
H;Neusetzung
--
Mängelprüfung
--
BR=
H;DIN 1988 OK!
SA=
H;DVGW-Blatt OK!
Entnahmestelle
BA=
H;vor Zähler.Info:
BB=
A;
--
P0=
H;ALLES WIE EBEN!
--
Wasserzählerplatz.
BC=
H;nicht zugänglich
BD=
H;frostgefährdet
Wasserzähleran-
schlussbügel
BK=
H;fehlt!
Absperrventil
kombiniert mit
Rückflussver-
hinderer
BM=
H;fehlt!
läßt sich
BN=
H;nicht schliessen
Installations
leitungen der
Kundenanlage
BO=
H;stark angerostet
unzureichend
BP=
H;befestigt!
BX=
H;Sonstige Mängel
BQ=
A;
BS=
H;wegen Mängel un-
möglich!
--
Eingebaute Apparate
--
Schachttiefe bis
Rohrachse kleinr
SB=
H;1,5m:Frostgefahr
Bodenfreiheit
SC=
H;kleiner 40 cm
Leiter(ab DN100
SD=
H;Treppe!) fehlt
Undicht gegen
SE=
H;Grund-/Tagwasser
Mauerdurchführng
ohne Dichtung
SF=
H;Gummi/Quellm÷rtl
Pumpensumpf
SG=
H;40x40 fehlt
Pumpensumpf
SH=
H;ohne Gitterrost
Schachtabdeckung
nicht Tagwasser
SI=
H;dicht
Schachtabdeckung
falsche Belast-
SJ=
H;ungsklasse
Befestigung für
Wasseranschluss
bügel an Wand
oder Schacht-
SK=
H;boden fehlt
Schraubmuffe
innerhalb des
SL=
H;Schachtbauwerkes
ab QN15: Schacht
belüftung mind.
SM=
H;180qcm fehlt
ab QN15: Schacht
entlüftung mind.
SN=
H;180qcm fehlt
ab Grosswasser:
Montagehaken /
Montageschiene
über Rohrachse
SO=
H;fehlt
--
Hausanschluss
--
Hausanschluss-
leitung stark
CD=
H;angerostet
Hauptabsperr-
ventil ..
CE=
H;schließt nicht
CF=
H;fehlt
--
EA=
A;
EB=
A;
EC=
A;
********************
FA=
F;Foto Ausbau ~FA~
FN=
F;Foto Einbau ~FN~
FH=
F;Foto Anlage ~FH~

Beispiel 2

%set BARCODE_TYPE CODE_128,CODE_39
#
# Elektro-Protokoll 1.0
# vom 19.04.2013, AF
#
Korrektur der Ausbau-Zählernummer
11=
N;
Stand des Ausbau-Zählers
14=
D;
NT-Stand des Ausbau-Zählers
NA=
D;
--
Nummer des Einbau-Zählers
12=
N;
S;Barcode ~12~
Stand des Einbau-Zählers
13=
D;
NT-Stand des Einbau-Zählers
NN=
D;
--
Vergebliche Besuche (2 eingeben für jetzt)
V1=
A;
V2=
A;
V3=
A;
--
Bemerkungen
I3=
A;
I4=
A;
I5=
A;
--
wichtige Hinweise
I6=
A;
I7=
A;
I8=
A;
--
Hinweise Buero
B1=
A;
B2=
A;
B3=
A;
--
FA=
F;Foto Ausbau ~FA~
FN=
F;Foto Einbau ~FN~

Beispiel 3

 %set BARCODE_TYPE CODE_128
 #
 # Hermesdorf 2020-05-07
 #
 (Zählerwechsel
 Korrektur der Ausbau-Zählernummer
 11=
 A;
 Ausbau 1.8.0
 14=
 D;
 Ausbau 1.8.1
 A181=
 D;
 Ausbau 1.8.2
 NA=
 D;
 Ausbau 2.8.0
 A280=
 D;
 Ausbau 2.8.1
 A281=
 D;
 Ausbau 2.8.2
 A282=
 D;
 --
 Nummer des Einbau-Zählers
 12=
 A;
 S;Barcode ~12~
 Einbau 1.8.0
 13=
 D;
 Einbau 1.8.1
 E181=
 D;
 Einbau 1.8.2
 NN=
 D;
 Einbau 2.8.0
 E280=
 D;
 Einbau 2.8.1
 E281=
 D;
 Einbau 2.8.2
 E282=
 D;
 )
 #
 --
 weitere Protokoll Eintragungen
 --
 Vergebliche Besuche (2 eingeben für jetzt)
 V1=
 A;
 V2=
 A;
 V3=
 A;
 --
 Bemerkungen
 I3=
 A;
 I4=
 A;
 I5=
 A;
 --
 wichtige Hinweise
 I6=
 A;
 I7=
 A;
 I8=
 A;
 --
 Hinweise Buero
 B1=
 A;
 B2=
 A;
 B3=
 A;
 --
 FA=
 F;Foto Ausbau 1.8.0 -FA- ~FA~
 FB=
 F;Foto Ausbau 1.8.1 ~FB~
 FC=
 F;Foto Ausbau 1.8.2 ~FC~
 FD=
 F;Foto Ausbau 2.8.0 ~FD~
 FF=
 F;Foto Ausbau 2.8.1 ~FF~
 FG=
 F;Foto Ausbau 2.8.2 ~FG~
 FN=
 F;Foto Einbau 1.8.0 -FN- ~FN~
 FM=
 F;Foto Einbau 1.8.1 ~FM~
 FO=
 F;Foto Einbau 1.8.2 ~FO~
 FP=
 F;Foto Einbau 2.8.0 ~FP~
 FQ=
 F;Foto Einbau 2.8.1 ~FQ~
 FR=
 F;Foto Einbau 2.8.2 ~FR~
 FH=
 F;Foto Hausanschlusskasten ~FH~