... |
... |
@@ -1,0 +1,111 @@ |
|
1 |
+{{content/}} |
|
2 |
+ |
|
3 |
+{{id name="fig_counter"/}} |
|
4 |
+{{figure image="counter_de.png"}}Konfigurationsoberfläche zum Anlegen von Zählern: (1) Liste existierender Zähler, (2) Bereich zum Editieren der selektierten Zähler, (3) Metadaten des Zählers.{{/figure}} |
|
5 |
+ |
|
6 |
+Die Werte der Zähler können mit der Aktion [[Zähler ändern>>doc:Formcycle.Designer.Workflow.Actions.ModifyCounter]] verändert und über [[Platzhalter>>doc:Formcycle.UserInterface.Variables]] ausgelesen und so zum Beispiel in [[Bedingungen>>doc:Formcycle.Designer.Workflow.FlowControl.Condition]] verwendet werden. |
|
7 |
+ |
|
8 |
+== Anlegen eines Zählers == |
|
9 |
+ |
|
10 |
+Öffnen Sie das Modul "Daten > Zähler" und klicken Sie auf die Schaltfläche "Neu" {{ficon name="plus-circle-outline"/}} in der Kopfzeile der Liste (siehe Punkt 1 in der [[Abbildung>>||anchor="fig_counter"]]). Daraufhin können die entsprechenden [[Einstellungen>>||anchor="HKonfigurationsoptionen"]] für den Zähler getroffen werden. Mit einem Klick auf die Schaltfläche //Speichern// wird der Zähler angelegt. |
|
11 |
+ |
|
12 |
+== Konfigurationsoptionen == |
|
13 |
+ |
|
14 |
+; Name |
|
15 |
+: Name des Zählers |
|
16 |
+; Aktueller Wert |
|
17 |
+: Hier wird der aktuelle Wert des Zählers angezeigt. Nach einen Klick auf das Stiftsymbol kann der Wert angepasst und über ein Klick auf den Haken übernommen werden. |
|
18 |
+; Automatisch zurücksetzen |
|
19 |
+: Wenn diese Option aktiviert wurde, kann über die folgenden Optionen festgelegt werden, unter welchen Bedingungen der Zähl zurückgesetzt werden soll: |
|
20 |
+:; Startwert |
|
21 |
+:: Wert auf den der Zähler zurückgesetzt werden soll |
|
22 |
+:; Bedingung |
|
23 |
+:: Bedingung unter welcher der Zähler zurückgesetzt werden soll. Zur Auswahl stehen die folgenden Optionen: |
|
24 |
+::: - Zähler größer gleich |
|
25 |
+::: - Zähler kleiner gleich |
|
26 |
+::: - täglich |
|
27 |
+::: - wöchentlich |
|
28 |
+::: - monatlich |
|
29 |
+::: - jährlich |
|
30 |
+:: Entsprechend der hier getroffenen Auswahl werden die folgenden Felder sichtbar |
|
31 |
+::; Wert |
|
32 |
+::: Wert mit dem der Zähler verglichen werden soll. Nur verfügbar, wenn //Zähler größer gleich// oder //Zähler kleiner gleich// als Bedingung ausgewählt wurde. |
|
33 |
+::; um |
|
34 |
+::: Uhrzeit, an der das Zurücksetzen stattfinden soll. Nur verfügbar, wenn //täglich//, //wöchentlich//, //monatlich// oder //jährlich// als Bedingung ausgewählt wurde. |
|
35 |
+::; An den Tagen |
|
36 |
+::: Wochentag, an dem das Zurücksetzen stattfinden soll. Nur verfügbar, wenn //wöchentlich// als Bedingung ausgewählt wurde. |
|
37 |
+::; Jeweils am |
|
38 |
+::: Tag in Monat, an dem der Zähler zurückgesetzt werden soll. Nur verfügbar, wenn //monatlich// oder //jährlich// als Bedingung ausgewählt wurde. |
|
39 |
+::; Monat |
|
40 |
+::: Monat, in dem der Zähler zurückgesetzt werden soll. Nur verfügbar, wenn //jährlich// als Bedingung ausgewählt wurde. |
|
41 |
+ |
|
42 |
+Unter den Einstellungen werden zudem die folgenden Informationen unter //Zähler-Metadaten// angezeigt: |
|
43 |
+ |
|
44 |
+; UUID |
|
45 |
+: Systeminterne UUID des Zählers |
|
46 |
+; Angelegt am |
|
47 |
+: Zeitpunkt, an dem der Zähler erstellt wurde |
|
48 |
+; Geändert am |
|
49 |
+: Zeitpunkt, an dem zum letzten Mal Änderungen am Zähler vorgenommen wurden |
|
50 |
+ |
|
51 |
+== Platzhalter == |
|
52 |
+ |
|
53 |
+Die Werte von Zählern können über [[Platzhalter>>doc:Formcycle.UserInterface.Variables]] zum Beispiel im Workflow oder als Wert von Formularelementen ausgelesen werden. Die Syntax ist dabei wie folgt: |
|
54 |
+ |
|
55 |
+{{code language="none"}}[%$COUNTER_CLIENT.<Name des Zählers>%]{{/code}} |
|
56 |
+ |
|
57 |
+== Zugriff auf Zählerwert per Servlet == |
|
58 |
+ |
|
59 |
+=== Servlet-URL und Parameter === |
|
60 |
+ |
|
61 |
+Der Wert der Zähler kann innerhalb von Formularen über einen Servletaufruf ermittelt werden. Es ist dabei möglich, den Zähler über seinen Namen oder seine UUID auszuwählen. Die entsprechenden {{smallcaps}}URL{{/smallcaps}}s zum Aufruf der Werte könnten zum Beispiel wie folgt aussehen: |
|
62 |
+ |
|
63 |
+{{code language="none"}}https://<Serveradresse>/formcycle/form/clientcounter/?frid=<gültige FRID>&name=<Name des Zählers>{{/code}} |
|
64 |
+und |
|
65 |
+{{code language="none"}}https://<Serveradresse>/formcycle/form/clientcounter/?frid=<gültige FRID>&uuid=<UUID des Zählers>{{/code}} |
|
66 |
+ |
|
67 |
+ |
|
68 |
+In beiden Fällen wird eine gültige //form request id// (frid) benötigt, welche im Formular per JavaScript unter {{code language="none"}}XFC_METADATA.currentSessionFRID{{/code}} zu finden ist. Auf gleiche Art kann zudem die {{smallcaps}}URL{{/smallcaps}} des Servlets per JavaScript unter {{code language="none"}}XFC_METADATA.urls.counter_client{{/code}} ausgelesen werden. Dies ist wichtig, da sich die {{smallcaps}}URL{{/smallcaps}} bei Aufrufen über Frontend- und Masterserver unterscheidet. |
|
69 |
+ |
|
70 |
+=== Rückgabewerte === |
|
71 |
+ |
|
72 |
+Das Erebnis wird als JSON zurückgegeben. Neben dem eigentlichen Wert sind auch andere Informationen zurückgegeben. Die Antwort hat die folgende Struktur: |
|
73 |
+; success |
|
74 |
+: Boolscher Wert, der aussagt, ob der Zählerwert erfolgreich ausgelesen werden konnte. |
|
75 |
+; msg |
|
76 |
+: Servernachricht bezüglich der Anfrage, welche zur Fehlersuche verwendet werden kann. Ein erfolgreicher Zugriff liefert z.B. //Counter found//. |
|
77 |
+; result |
|
78 |
+: Antwort auf die Anfrage. Wenn die Anfrage erfolgreich war, sind die folgenden Unterpunkte enthalten: |
|
79 |
+:; lastChange |
|
80 |
+:: Formatierte Ausgabe von Datum und Uhrzeit der letzten Änderung des Zählerwertes |
|
81 |
+:; lastChangeTimestamp |
|
82 |
+:: Epoche der letzten Änderung des Zählerwertes |
|
83 |
+:; name |
|
84 |
+:: Name des Zählers |
|
85 |
+:; uuid |
|
86 |
+:: UUID des Zählers |
|
87 |
+:; value |
|
88 |
+:: Aktueller Zählerwert |
|
89 |
+ |
|
90 |
+=== Beispiel für eine AJAX-Anfrage im Formular === |
|
91 |
+ |
|
92 |
+Eine bespielhafte AJAX-Anfrage, welche den aktuellen Zählerwert des Zählers //Beispielzähler// in das Feld //tf1// schreibt, könnte also wie folgt aussehen: |
|
93 |
+ |
|
94 |
+{{code language="javascript"}} |
|
95 |
+$.ajax({ |
|
96 |
+ method: "GET", |
|
97 |
+ url: XFC_METADATA.urls.counter_client, |
|
98 |
+ data: { |
|
99 |
+ name: "Beispielzähler", |
|
100 |
+ frid: XFC_METADATA.currentSessionFRID, |
|
101 |
+ } |
|
102 |
+}).then(function(data) { |
|
103 |
+ if (data.success) { |
|
104 |
+ $('[data-name="tf1"]').val(data.result.value); |
|
105 |
+ } else { |
|
106 |
+ console.warn("Zugriff auf Zähler Beispielzähler fehlgeschlagen:",data.msg); |
|
107 |
+ } |
|
108 |
+}).catch(function(jqXHR, errorTextStatus, errorThrown) { |
|
109 |
+ console.warn("Zugriff auf Zähler Beispielzähler fehlgeschlagen:", errorThrown, "(" + errorTextStatus + ")"); |
|
110 |
+}); |
|
111 |
+{{/code}} |