Zeige letzte Bearbeiter
1 {{content/}}
2
3 Die Quellen bzw. Datenquellen werden als Text im Format CSV, JSON oder XML hinterlegt und können über den {{designer case="acc"/}} bzw. das Formular verarbeitet werden.
4
5 Um auch im Skriptbereich per Javaskript auf die Datenquellen Zugriff zu haben, werden alle Datenquellen in eine JSON-Struktur umgewandelt und im Objekt {{code}}XFC_METADATA.urls.datasource_[csv|json|xml]{{/code}} zugänglich gemacht. Die Struktur dieser JSON-Struktur für die verschiedenen Datenquellen ist im jeweiligen Abschnitt erläutert.
6
7 == CSV ==
8
9 Hier können Sie Datensätze im CSV-Format eingeben.
10
11 * Wählen Sie unter //Typ// die Option //CSV//.
12 * Vergeben Sie einen eindeutigen Namen.
13 * Im Feld //Wert// geben Sie die Daten separiert mit einem Komma ein.
14
15 {{figure image="datenquelle_csv_8.png" width="300"}}
16 Die JSON-Struktur der CSV-Datenquelle. Auf diese JSON-Struktur kann dann per Javaskript über {{code}}XFC_METADATA.urls.datasource_[csv|json|xml]{{/code}} zugegriffen werden.
17 {{/figure}}
18
19 === Beispiel für eine CSV-Datenquelle ===
20
21 {{info}}
22 Die CSV-Daten werden intern in ein JSON-Objekt umgewandelt, sodass die erste Zeile der //CSV-Datei// immer die Objektnamen für den späteren Zugriff definiert.
23 {{/info}}
24
25 {{code}}
26 Wert 1.1, Wert 1.2, Wert 1.3, Wert 1.4, ...
27 {{/code}}
28
29 Das Auslesen der Werte im {{designer case="dat"/}} erfolgt über das //Servlet// mit Namen //datenquellecsv//.
30
31 === Servlet-Parameter ===
32
33 {{info}}
34 **Servlet-URL**
35 http(s):~/~/<server>/formcycle/datenquellecsv?mandantName=<Mandant-Name>&name=<Datenquellen-Name>
36 {{/info}}
37
38 Bei Zugriff aus dem {{designer case="dat"/}} verwenden Sie immer das globale Variablen-Objekt //XFC_METADATA//, siehe hierzu auch [[Globale Designer Variablen>>doc:Formular-Metadaten]]. Beispielsweise kann wie folgt darauf zugegriffen werden: {{code}}XFC_METADATA.urls.datasource_csv{{/code}}.
39
40 Folgende Parameter sind möglich:
41
42 |=Parametername|=Beschreibung|=Erforderlich
43 |name|Muss dem Namen der CSV-Datenquelle entsprechen.|Ja
44 |mandantName|Muss dem Namen des Mandanten entsprechen, unter welchen diese Datenquelle erstellt wurde.|Ja, wenn //projektId// nicht gegeben.
45 |projektId|Muss der ID des Formulars entsprechen. Diese Information kann über {{code}}XFC_METADATA.currentProject.id{{/code}} abgerufen werden.|Ja, wenn //mandantName// nicht gegeben.
46 |kopfzeile|Gibt eine Komma-separierte Liste der Spaltennamen der CSV-Tabelle an. Ist dieser nicht angegeben, so wird hierfür die erste Zeile der CSV-Tabelle verwendet.|Nein
47 |spaltenNamen|Gibt eine kommaseparierte Liste der Spalten an, welche Spalten vom //Servlet// mit den entsprechenden Werten zurückgeliefert werden. Hierbei werden je nach Verwendung die Namen der Spalten aus dem Parameter //kopfzeile// oder die Namen der ersten Zeile der //CSV//-Datenquelle erwartet.|Nein
48 |csvTrennzeichen|Gibt das Trennzeichen zwischen den einzelnen Datenzellen an. Wird dieses nicht gesetzt, wird hier standardmäßig ein Komma {{code}},{{/code}} benutzt.|Nein
49 |csvQuote|Das Trennzeichen, mit dem die Werte der Zeilen getrennt sind. Wird dieses nicht gesetzt, wird hier standardmäßig ein Anführungszeichen verwendet {{code}}"{{/code}}.| Nein
50
51 === Anwendungsbeispiel ===
52
53 {{figure image="datenquelle_csv_7.png" width="300"}}
54 Ein Beispiel dafür, wie eine CSV-Datenquelle aussehen kann. Die Spalten werden durch Kommas getrennt.
55 {{/figure}}
56
57 {{code language="csv"}}
58 anrede,vorname,nachname,plz,ort
59 Herr,Max,Mustermann,1000,Musterhausen
60 Frau,Monika,Mustermann,2000,Musterdorf
61 Frau, Luise,Musterfrau,3000,Musterstadt
62
63 {{/code}}
64
65
66
67
68 Im {{designer case="dat"/}} wird dann folgendes Skript im [[Skriptbereich>>doc:TAB - Script]] verwendet.
69
70 {{code language="javascript"}}
71 $.getJSON( XFC_METADATA.urls.datasource_csv + "?name=Demo&mandantName=xima.de", function(json) {
72 var obj = json.returnValue[0]
73
74 $('[name=tfAnrede]').val(obj.anrede)
75 $('[name=tfVorname]').val(obj.vorname)
76 $('[name=tfName]').val(obj.nachname)
77 $('[name=tfPLZ]').val(obj.plz)
78 $('[name=tfOrt]').val(obj.ort)
79 })
80 {{/code}}
81
82 {{lightbox image="datenquelle_csv_4.png" width="300"/}}
83
84 Dieses Beispiel als Datenquelle für den {{designer case="acc"/}} [[zum Herunterladen>>attach:beispiel_datenquelle_csv.json||rel="__blank"]].
85
86 === Sonderfall Auswahlelement ===
87
88 {{figure image="datenquelle_csv_2.png" width="300"}}
89 Die Anbindung einer Datenquelle an eine Auswahlelement erfolgt direkt im {{designer case="dat"/}}
90 {{/figure}}
91
92 Soll die //CSV//-Datenquelle direkt in ein [[Auswahlelement>>doc:Auswahl]] geladen werden, erfolgt dies über die Eigenschaften des Auswahlelements im {{designer case="dat"/}}.
93
94 Der Inhalt der CSV-Datenquelle wird folgendermaßen in einem [[Auswahlelement>>doc:Auswahl]] verarbeitet.
95
96 {{code}}
97 sichtbarer wert, übertragener, wert, optionaler wert, optionaler wert, ...
98 {{/code}}
99
100 Werden mehr als der sichtbare und übertragene Wert angegeben, also optionale Werte, so können diese im Javaskript über den folgenden jQuery-Selektor abgerufen werden.
101
102 {{code language="javascript"}}
103 $('[name=sel2]').find('option:selected').attr('col0');
104 {{/code}}
105
106 Jeder optionale Wert wird am Auswahlelement als Attribut {{code}}col + Index des optionalen Wert{{/code}} gespeichert. Bei z.B. drei optionalen Werten würde es also //col0//, //col1// und //col2// geben.
107
108 == XML ==
109
110 Die XML Datenquelle verhält sich analog zur //CSV//-Datenquelle, kann jedoch nicht direkt an ein [[Auswahlelement>>doc:Auswahl]] gebunden werden.
111
112 {{figure image="datenquelle_xml.png" width="300"}}
113 Die JSON-Struktur der XML-Datenquelle. Auf diese JSON-Struktur kann dann per Javaskript über {{code}}XFC_METADATA.urls.datasource_[csv|json|xml]{{/code}} zugegriffen werden.
114 {{/figure}}
115
116 === Beispiel für eine XML-Datenquelle ===
117
118 {{code language="xml"}}
119 <root>
120 <person>
121 <anrede>
122 Herr
123 </anrede>
124 <vorname>
125 Max
126 </vorname>
127 <nachname>
128 Mustermann
129 </nachname>
130 </person>
131 <person>
132 <anrede>
133 Frau
134 </anrede>
135 <vorname>
136 Monika
137 </vorname>
138 <nachname>
139 Musterfrau
140 </nachname>
141 </person>
142 </root>
143 {{/code}}
144
145
146 === Servlet-Parameter ===
147
148 {{info}}
149 **Servlet-URL**
150 http(s):~/~/<server>/formcycle/datenquellexml?mandantName=<Mandant-Name>&name=<Datenquellen-Name>
151 {{/info}}
152
153 Bei Zugriff aus dem {{designer case="dat"/}} verwenden Sie immer das globale Variablen-Objekt //XFC_METADATA//, siehe hierzu auch [[Globale Designer Variablen>>doc:Formular-Metadaten]]. Beispielsweise kann wie folgt darauf zugegriffen werden: {{code language="javascript"}}XFC_METADATA.urls.datasource_xml{{/code}}.
154
155 Folgende Parameter sind möglich:
156
157 |=Parametername|=Beschreibung|=Erforderlich
158 |mandantName|Muss dem Namen des Mandanten entsprechen, unter welchem diese Datenquelle erstellt wurde.|Ja
159 |name|Muss dem Namen der CSV-Datenquelle entsprechen.|Ja
160
161 == JSON ==
162
163 Die //JSON//-Datenquelle verhält sich analog zur //CSV//-Datenquelle, kann jedoch nicht direkt an ein [[Auswahlelement>>doc:Auswahl]] gebunden werden.
164
165 {{figure image="datenquelle_json.png" width="300"}}
166 Die JSON-Struktur der JSON-Datenquelle. Sie ist identisch mit der JSON-Datenquelle. Auf diese JSON-Struktur kann dann per Javaskript über {{code}}XFC_METADATA.urls.datasource_[csv|json|xml]{{/code}} zugegriffen werden.
167 {{/figure}}
168
169 === Beispiel für eine JSON-Datenquelle ===
170
171 {{code language="json"}}
172 {"person":[
173 {
174 'anrede':'Herr',
175 'vorname':'Max',
176 'nachname':'Mustermann'
177 },
178 {
179 'anrede':'Frau',
180 'vorname':'Monika',
181 'nachname':'Musterfrau'
182 }
183 ]}
184 {{/code}}
185
186 === Servlet-Parameter ===
187
188 {{info}}
189 **Servlet-URL**
190 http(s):~/~/<server>/formcycle/datenquellejson?mandantName=<Mandant-Name>&name=<Datenquellen-Name>
191 {{/info}}
192
193 Bei Zugriff aus dem {{designer case="dat"/}} verwenden Sie immer das globale Variablenobjekt //XFC_METADATA//, siehe hierzu auch [[Globale Designer Variablen>>doc:Formular-Metadaten]]. Beispielweise kann wie folgt darauf zugegriffen werden: {{code language="javascript"}}XFC_METADATA.urls.datasource_json{{/code}}.
194
195 Folgende Parameter sind möglich:
196
197 |=Parametername|=Beschreibung|=Erforderlich
198 |mandantName| Muss dem Namen des Mandanten entsprechen, unter welchen diese Datenquelle erstellt wurde.|Ja
199 |name| Muss dem Namen der CSV-Datenquelle entsprechen.|Ja
Copyright 2000-2025