Protokolle: Unterschied zwischen den Versionen

Aus OrgaMon Wiki
Zur Navigation springen Zur Suche springen
 
(99 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 3: Zeile 3:
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.
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 .txt Dateien mit UTF8-BOM Kodierung
* Protokolle sind Baustellen speziefisch
* Protokolle sind Baustellen speziefisch
* Protokolle sind Zählerart speziefisch
* Protokolle sind Zählerart speziefisch
Zeile 17: Zeile 18:
Daten) eingegeben werden können.<br>
Daten) eingegeben werden können.<br>
Protokolle sind frei definierbar. Fest stehender Text, sowie Eingabepositionen
Protokolle sind frei definierbar. Fest stehender Text, sowie Eingabepositionen
können definiert werden. Ev. gibt es in der JonDa Dokumentation noch mehr Infos.<br>
können definiert werden.<br>
<br>
<br>
Protokolle, die für JonDa-Geräte geschrieben wurden können nun auch im OrgaMon
Protokolle, die für JonDa-Geräte geschrieben wurden können nun auch im OrgaMon
Zeile 28: Zeile 29:
<Shift>&<Strg> und <1>, <2> usw. auf.<br>
<Shift>&<Strg> und <1>, <2> usw. auf.<br>
<br>
<br>
Variablen-Namen werden mit "$" eingeleitet, und insofern sie nicht nur ein
Der Variablen-Name ist immer 2 Buchstaben lang. Handelt es sich dabei um eine Zahl  
Ankreuzfeld sind, auch mit einem "$" abgeschlossen. Der Variablen-Name ist immer
01 .. 99, so ist es keine "echte" Eingabe-Position sondern ein Datenfeld, das aus OrgaMon  
2 Buchstaben lang. Handelt es sich dabei um eine Zahl 01 .. 99, so ist es keine
rauskopiert wird. Macht man Eingaben in diese festen OrgaMon-Felder hat dies
"echte" Eingabe-Position sondern ein Datenfeld, das aus OrgaMon rauskopiert wird. Eine
Liste der Feldnummern befindet sich im Dokumentationsverzeichnis
.\Hinweise für OrgaMon. Macht man eingaben in diese festen OrgaMon felder hat dies
keine Auswirkung.<br>
keine Auswirkung.<br>
<br>
<br>
Zeile 135: Zeile 133:


=== Konventionenn ===
=== Konventionenn ===
==== A1 ====
Alphanumerischer Prefix für eine Zählernummer Neu
==== N1 ====
Zählernummer Neu (Alternativ-Feld)


==== V1,V2,V3,V4 ====
==== V1,V2,V3,V4 ====
Zeile 140: Zeile 146:
Vergebliche Besuche  
Vergebliche Besuche  


==== NA,NN ====
==== 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


Nebentarif Ausbau, Nebentarif Einbau
===== FU =====


==== FA,FN,FE ====
* 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


Foto Ausbau, Foto Einbau, Foto Regler
==== ZZ ====
 
* Ja/Nein Feld
* Alles fertig, Eingabe des Ausbaustandes wird so unnötig


=== Verwendung eines Variablen-Wertes innerhalb des Protokolles ===
=== Verwendung eines Variablen-Wertes innerhalb des Protokolles ===
Zeile 169: Zeile 259:
=== Eingabetypen ===
=== Eingabetypen ===


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


=== Ankreuzfelder ===
=== Ankreuzfelder ===
Zeile 178: Zeile 268:
==== Haken ====
==== Haken ====


* "H" ";" <SichtbarerText> [ ";" <JA-Wert> ] [ ";" <NEIN-Wert> ]
* "H;" <SichtbarerText> [";" <WertWennAngekreuzt> [";" <WertWennAngekreuztEntferntwird>]]
 
# mit dem Default: "H;" <SichtbarerText> ";J;N"
#
# Wird das angekreuzt wird der "J"-Wert bzw. <WertWennAngekreuzt> übermittelt
# Im Fall dass ein Haken rausgemacht wird, wird der "N"-Wert bzw. <WertWennAngekreuztEntferntwird> übermittelt
# Bei unberührten Ankreuzfeldern wird "" (<leer>) übermittelt


==== Bobbele ====
==== Bobbele ====


* "B" ";" <SichtbarerText>
* "B;" <SichtbarerText> [ ";" <JA-Wert> ]


=== Scan ===
# 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
#


* S;, Scan
Bobbele eignen sich, wenn man nur eine Auswahl im Protokoll treffen soll und dieses auch als Pflichtfeld "!" versehen möchte
 
=== (Barcode-) Scan ===
 
* "S;" <Beschriftung>
 
 
Infos zur Parametrisierung finden Sie hier [[#.25set_BARCODE_TYPE_Technologie]]


=== Foto ===
=== Foto ===


* F;, Foto
* "F;" <Beschriftung>
** einzelnes Foto für einen vorbestimmten Dokumentationsschritt z.B. "Zählerstand Ausbau"
** keines oder mehrere Fotos (Story-Modus), wobei alle Fotos gleichberechtigt übertragen werden und ihre Gültigkeit haben z.B. "Vergeblicher Besuch" dieser Modus muss durch ein ~#~ bei der <code>F?-Benennung=</code> aktiviert werden
 
=== Pflichteingabe ===
 
* Um die Eingabedaten zu plausibilisieren kann am Ende des Protokolles 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 <code>(Prüfen )</code> als reinen Text ohne Eingabefelder
* bei einer Prüfung wird Zeile für Zeile von oben nach unten abgearbeitet (Prüflogik)
* bei einem Fehler springt der Eingabe-Fokus auf die erste Eingabeposition, die in der Fehlerzeile angegeben ist
* Der Aufbau einer Zeile ist
** <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!)
* wird <code><i>Resultat</i></code> weggelassen, so wird der kommende Block nur ausgeführt wenn die Bedingung erfüllt ist
* wird <code><i>Aktion</i></code> weggelassen, so wird auf eine Unstimmigkeit aufmerksam gemacht
* <u>default</u> Werte sind unterstrichen, diese können einfach weggelassen werden
 
#
#
#
<i>Zeile</i> = { ' ' } { <i>Bedingung</i> ' ' } [ <i>Resultat</i> [ <i>Aktion</i> ]]
#
#
<i>Bedingung</i> = <b>Protokollfeld</b> [ '!' | '<u>="J"</u>' | ( '=' | '<>' | '<' | '>' | '>=' | '<=' ) <i>Eingabewert</i> ]
#
#
Eingabewert = '"' { <b>Zeichen</b> } '"'
#
#
Resultat = '=0' | <u>'=1'</u> | '>0'
#
#
Aktion = <b>exit</b> | <u><b>fail</b></u> | <b>:</b>
 
* werden mehrere Protokollfelder in einer Zeile angegeben so wird eine Summe aller erfüllten Bedingungen gebildet, das ist das Resultat
* Stimmt das Resultat nicht, ergibt sich ein Eingabefehler
 
* <b>!</b> ist einfach eine Kurzform von <b><>""</b>, also es soll etwas drinstehen - egal was
* <b>="J"</b> kann weggelassen werden, also wenn nichts rechts vom Protokollfeld steht wird ="J" angenommen
** <code>KL="J" KM="J" KN="J"</code> kann man schreiben
** <code>KL KM KN</code>
 
==== Aktion <code><b>fail</b></code> ====
 
* Im Fall das das wirkliche Resultat NICHT dem angegebenen Resultat entspricht wird auf das zuerst angegebene Protokollfeld fokusiert
 
==== Aktion <code><b>exit</b></code> ====
 
* Im Fall das das Resultat stimmt wird an dieser Stelle die Prüfung mit Erfolg beendet
 
==== Beispiele ====
 
ZZ exit
O1 O2 O3 >0
HK NK
HK :
  N1 N2
  K3 K2
 
==== Standard ====
 
* wird keine Prüf-Vorschrift angegeben, so gilt folgendes:
 
ZZ exit
14!


== Befehlsausführung ==
== Befehlsausführung ==


* <b><code>%</code></b>, lokaler Befehl (Ausführung bei Protokoll Start)
* <b><code>$</code></b>, globaler Befehl (Ausführung einmalig)
* <b><code>$</code></b>, globaler Befehl (Ausführung einmalig)
* <b><code>%</code></b>, Befehl für dieses Protokoll (wirksam für aktuelles Protokoll)




Zeile 203: Zeile 389:
* Lokale BEfehle, die bei jeder Protokollverwendung ausgeführt werden sollen werden mit "%" eingeleitet
* Lokale BEfehle, die bei jeder Protokollverwendung ausgeführt werden sollen werden mit "%" eingeleitet


=== mv ===
=== $mv ===


* Verschieben einer Datei
* Verschieben einer Datei


=== rm ===
=== $rm ===


* Löschen einer Datei
* Löschen einer Datei


=== set ===
=== %set ===


* setzen einer Systemvariable
* setzen einer Systemvariable


==== <code>$set BARCODE_TYPE=</code> ====
==== %set BARCODE_TYPE <i>Technologie</i>====


* welche Barcode Technologie (ITF,Code-128,Code-39, usw.) aktiv ist wird durch das Protokoll bestimmt,
* Um Barcodes über das Protokoll abscannen zu können muss dies im Protokoll erst aktiviert werden
* Der zxing Barcode Scanner den wir verwenden kann (fast) alle Barcodes erkennen und scannen, das ist aber auch ein Problem da er durchaus sich auch mal täuschen kann:
* Ganz oben im Protokoll wird eingestellt welche Barcode-Technologie zum Einsatz kommt
* Folgende Technologien gibt es:
** 1D Technologien: <code>UPC_A|UPC_E|EAN_13|EAN_8|RSS_14|RSS_EXPANDED|CODE_39|CODE_93|CODE_128|ITF|CODABAR</code>
** 2D Technologien: <code>DATA_MATRIX|QR_CODE </code>
* Das Scannen wird bewusst auf einzelne Technologien vor Ort beschränkt, damit es nicht zu Fehlinterpretationen kommt:


[[Datei:Screenshot 2016-01-29-09-57-05.png|300px]]
[[Datei:Screenshot 2016-01-29-09-57-05.png|300px]]


* 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


Um ihn nicht in die Sutuation zu bringen alle möglichen Technologieen durchlaufen zu müssen, legen wir die einzig "richtige" fest. Dadurch ist der Scan schneller fertig UND richtig.


%set BARCODE_TYPE Technologie { "," Technologie }


* <code>BARCODE_TYPE=Technologie { "," Technologie }</code>
** 1D Technologien=<code>UPC_A|UPC_E|EAN_13|EAN_8|RSS_14|RSS_EXPANDED|CODE_39|CODE_93|CODE_128|ITF|CODABAR</code>
** 2D Technologien=<code>DATA_MATRIX</code>
** <code>=ITF</code> : Es wird eine Prüfziffern-Routine nachgeschaltet, "+" bedeutet Erfolg, "-" Fehler in der Prüfziffer.
** <code>=ITF,ITF</code> : Einfach nur ITF ohne Prüfziffernberechnung
** <code>=CODE_39</code> : Es wird die Einlagerungsfunktion durchgeführt.
** <code>=CODE_39,CODE_39</code> Einfach nur CODE_39-Scan ohne jede weitere Sonderfunktion


==== <code>$set AUTO_FOCUS=</code> ====
* Beispiel


* setzt automatisch den Eingabefokus des Protokolles auf eines der angegebenen Felder


  %$set AUTOFOCUS=S1,S2
[[Datei:Format-ITF.jpg|300px]]
 
 
  %set BARCODE_TYPE ITF,ITF
 
 
===== Besondere Werte =====
 
* Folgende Angaben haben interne feste Programmierungen
** <code>ITF</code> : Es wird eine Prüfziffern-Routine nachgeschaltet, "+" bedeutet Erfolg, "-" Fehler in der Prüfziffer.
** <code>ITF,ITF</code> : Einfach nur ITF ohne Prüfziffernberechnung
** <code>CODE_39</code> : Es wird die Einlagerungsfunktion durchgeführt.
** <code>CODE_39,CODE_39</code> Einfach nur CODE_39-Scan ohne jede weitere Sonderfunktion
 
==== %set AUTO_FOCUS <i>Parameter</i> ====


* setzt automatisch den Eingabefokus des Protokolles auf eines der angegebenen Felder
* Der Fokus wird nur dann gesetzt wenn das Feld bisher keine Eingabe hat
* Der Fokus wird nur dann gesetzt wenn das Feld bisher keine Eingabe hat


==== <code>set AUTO_SCAN=</code> ====
#
# Beispiel, Gehe auf das Feld S1 danach S2
#
%set AUTO_FOCUS=S1;S2
#
# default
#
%set AUTO_FOCUS=14


* ist das Feld leer wird sofort der Barcode-Scanner gestartet
==== %set AUTO_SCAN <i>Parameter</i> ====


=== fester Text ===
* ist das angegebene Eingabefeld leer wird sofort der Barcode-Scanner gestartet und das Scan-Ergebnis landet in dem Feld


alles andere ist fester Text
#
# erst S1 dann S2 scannen
#
%set AUTO_SCAN=S1;S2


== Beispiel 1 ==
== Beispiel 1 ==
Zeile 501: Zeile 711:
  FN=
  FN=
  F;Foto Einbau ~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~

Aktuelle Version vom 11. April 2023, 14:17 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 .txt Dateien mit UTF8-BOM Kodierung
  • 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> [";" <WertWennAngekreuzt> [";" <WertWennAngekreuztEntferntwird>]]
# mit dem Default: "H;" <SichtbarerText> ";J;N"
#
# Wird das angekreuzt wird der "J"-Wert bzw. <WertWennAngekreuzt> übermittelt
# Im Fall dass ein Haken rausgemacht wird, wird der "N"-Wert bzw. <WertWennAngekreuztEntferntwird> übermittelt
# Bei unberührten Ankreuzfeldern wird "" (<leer>) übermittelt

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
#
Bobbele eignen sich, wenn man nur eine Auswahl im Protokoll treffen soll und dieses auch als Pflichtfeld "!" versehen möchte

(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"
    • keines oder mehrere Fotos (Story-Modus), wobei alle Fotos gleichberechtigt übertragen werden und ihre Gültigkeit haben z.B. "Vergeblicher Besuch" dieser Modus muss durch ein ~#~ bei der F?-Benennung= aktiviert werden

Pflichteingabe

  • Um die Eingabedaten zu plausibilisieren kann am Ende des Protokolles 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 (Prüflogik)
  • 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
  • default Werte sind unterstrichen, diese können einfach weggelassen werden
#
#
#
Zeile = { ' ' } { Bedingung ' ' } [ Resultat [ Aktion ]]

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

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

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

#
#
Aktion = exit | fail | :
  • werden mehrere Protokollfelder in einer Zeile angegeben so wird eine Summe aller erfüllten Bedingungen gebildet, das ist das Resultat
  • Stimmt das Resultat nicht, ergibt sich ein Eingabefehler
  • ! ist einfach eine Kurzform von <>"", also es soll etwas drinstehen - egal was
  • ="J" kann weggelassen werden, also wenn nichts rechts vom Protokollfeld steht wird ="J" angenommen
    • KL="J" KM="J" KN="J" kann man schreiben
    • KL KM KN

Aktion fail

  • Im Fall das das wirkliche Resultat NICHT dem angegebenen Resultat entspricht wird auf das zuerst angegebene Protokollfeld fokusiert

Aktion exit

  • Im Fall das das Resultat stimmt wird an dieser Stelle die Prüfung mit Erfolg beendet

Beispiele

ZZ exit
O1 O2 O3 >0
HK NK
HK :
 N1 N2
 K3 K2

Standard

  • wird keine Prüf-Vorschrift angegeben, so gilt folgendes:
ZZ exit
14!

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~