Wiki-Quellcode von Zähler
Zeige letzte Bearbeiter
author | version | line-number | content |
---|---|---|---|
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 | url:[ | ||
97 | XFC_METADATA.urls.counter_client, | ||
98 | "?frid=", | ||
99 | XFC_METADATA.currentSessionFRID, | ||
100 | "&name=Beispielzähler" | ||
101 | ].join(""), | ||
102 | success: function(data, textStatus, jqXHR) { | ||
103 | if (data.success) { | ||
104 | $('[data-name="tf1"]').val(data.result.value); | ||
105 | } else { | ||
106 | console.error("Zugriff auf Zähler Beispielzähler fehlgeschlagen:",data.msg); | ||
107 | } | ||
108 | } | ||
109 | }); | ||
110 | {{/code}} |