Wiki-Quellcode von Zähler
Verstecke letzte Bearbeiter
| author | version | line-number | content |
|---|---|---|---|
![]() |
1.2 | 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 | |||
![]() |
1.7 | 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. |
![]() |
1.2 | 7 | |
| 8 | == Anlegen eines Zählers == | ||
| 9 | |||
![]() |
3.3 | 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. |
![]() |
1.2 | 11 | |
![]() |
1.6 | 12 | == Konfigurationsoptionen == |
![]() |
1.2 | 13 | |
| 14 | ; Name | ||
![]() |
1.6 | 15 | : Name des Zählers |
![]() |
1.2 | 16 | ; Aktueller Wert |
![]() |
1.6 | 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. |
![]() |
1.2 | 18 | ; Automatisch zurücksetzen |
![]() |
3.4 | 19 | : Wenn diese Option aktiviert wurde, kann über die folgenden Optionen festgelegt werden, unter welchen Bedingungen der Zähl zurückgesetzt werden soll: |
![]() |
1.3 | 20 | :; Startwert |
![]() |
1.2 | 21 | :: Wert auf den der Zähler zurückgesetzt werden soll |
![]() |
1.3 | 22 | :; Bedingung |
![]() |
1.2 | 23 | :: Bedingung unter welcher der Zähler zurückgesetzt werden soll. Zur Auswahl stehen die folgenden Optionen: |
![]() |
1.4 | 24 | ::: - Zähler größer gleich |
| 25 | ::: - Zähler kleiner gleich | ||
| 26 | ::: - täglich | ||
| 27 | ::: - wöchentlich | ||
| 28 | ::: - monatlich | ||
| 29 | ::: - jährlich | ||
![]() |
1.2 | 30 | :: Entsprechend der hier getroffenen Auswahl werden die folgenden Felder sichtbar |
![]() |
1.3 | 31 | ::; Wert |
![]() |
1.4 | 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. |
![]() |
1.3 | 33 | ::; um |
![]() |
1.4 | 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. |
![]() |
1.3 | 35 | ::; An den Tagen |
![]() |
1.4 | 36 | ::: Wochentag, an dem das Zurücksetzen stattfinden soll. Nur verfügbar, wenn //wöchentlich// als Bedingung ausgewählt wurde. |
![]() |
1.3 | 37 | ::; Jeweils am |
![]() |
1.4 | 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. |
![]() |
1.3 | 39 | ::; Monat |
![]() |
1.4 | 40 | ::: Monat, in dem der Zähler zurückgesetzt werden soll. Nur verfügbar, wenn //jährlich// als Bedingung ausgewählt wurde. |
![]() |
1.2 | 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 | |||
![]() |
3.6 | 51 | == Platzhalter == |
| 52 | |||
![]() |
3.14 | 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: |
![]() |
3.15 | 54 | |
![]() |
3.6 | 55 | {{code language="none"}}[%$COUNTER_CLIENT.<Name des Zählers>%]{{/code}} |
![]() |
3.7 | 56 | |
| 57 | == Zugriff auf Zählerwert per Servlet == | ||
| 58 | |||
![]() |
3.12 | 59 | === Servlet-URL und Parameter === |
| 60 | |||
![]() |
3.7 | 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: |
![]() |
3.11 | 62 | |
![]() |
3.16 | 63 | {{code language="none"}}https://<Serveradresse>/formcycle/form/clientcounter/?frid=<gültige FRID>&name=<Name des Zählers>{{/code}} |
![]() |
3.10 | 64 | und |
![]() |
3.16 | 65 | {{code language="none"}}https://<Serveradresse>/formcycle/form/clientcounter/?frid=<gültige FRID>&uuid=<UUID des Zählers>{{/code}} |
![]() |
3.7 | 66 | |
![]() |
3.11 | 67 | |
![]() |
3.7 | 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 | |||
![]() |
3.12 | 70 | === Rückgabewerte === |
![]() |
3.8 | 71 | |
![]() |
3.16 | 72 | Das Erebnis wird als JSON zurückgegeben. Neben dem eigentlichen Wert sind auch andere Informationen zurückgegeben. Die Antwort hat die folgende Struktur: |
![]() |
3.7 | 73 | ; success |
![]() |
3.16 | 74 | : Boolscher Wert, der aussagt, ob der Zählerwert erfolgreich ausgelesen werden konnte. |
![]() |
3.7 | 75 | ; msg |
| 76 | : Servernachricht bezüglich der Anfrage, welche zur Fehlersuche verwendet werden kann. Ein erfolgreicher Zugriff liefert z.B. //Counter found//. | ||
| 77 | ; result | ||
![]() |
3.16 | 78 | : Antwort auf die Anfrage. Wenn die Anfrage erfolgreich war, sind die folgenden Unterpunkte enthalten: |
![]() |
3.7 | 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 | |||
![]() |
3.12 | 90 | === Beispiel für eine AJAX-Anfrage im Formular === |
| 91 | |||
![]() |
3.19 | 92 | Eine beispielhafte AJAX-Anfrage, welche den aktuellen Zählerwert des Zählers //Beispielzähler// in das Feld //tf1// schreibt, könnte also wie folgt aussehen: |
![]() |
3.12 | 93 | |
| 94 | {{code language="javascript"}} | ||
| 95 | $.ajax({ | ||
![]() |
3.18 | 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 { | ||
![]() |
3.20 | 106 | console.warn("Zugriff auf Zähler Beispielzähler fehlgeschlagen:", data.msg); |
![]() |
3.18 | 107 | } |
| 108 | }).catch(function(jqXHR, errorTextStatus, errorThrown) { | ||
| 109 | console.warn("Zugriff auf Zähler Beispielzähler fehlgeschlagen:", errorThrown, "(" + errorTextStatus + ")"); | ||
![]() |
3.12 | 110 | }); |
| 111 | {{/code}} | ||
![]() |
3.21 | 112 | |
| 113 | Ein der obenstehenen Funktion ähnliches Template kann auch per Autocomplete direkt im JavaScript-Bereich des Formulardesigners eingefügt werden. Hierzu muss hintereinander {{code language=none}}Counter query{{/code}} (oder zumindest {{code language=none}}Counter{{/code}}) eingegeben werden und die vom Autocomplete vorgeschlagene Option //Counter query// mit einem Klick oder mit den Pfeiltasten ausgewählt und der der Enter-Taste bestätigt werden. |
