Verstecke letzte Bearbeiter
gru 1.1 1 {{content/}}
2
nlo 7.1 3 {{id name="fig_data_source"/}}
nlo 11.1 4 {{figure image="data_source_de.png"}}Konfigurationsoberfläche zum Anlegen von Datenquellen: (1) Liste existierender Datenquellen, (2) Bereich zum Editieren der selektierten Datenquelle, (3) Einstellungspanel der Datenquelle, (4) Servlet-URL der Datenquelle, um auf diese zugreifen zu können.{{/figure}}
nlo 7.1 5
gru 1.1 6 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.
7
8 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.
9
nlo 10.1 10 == Anlegen einer Datenquelle ==
nlo 9.1 11
nlo 14.1 12 Öffnen Sie das Modul "Daten > Quellen" 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_data_source"]]). Daraufhin werden Sie aufgefordert eine leere Datenquelle anzulegen oder diese aus einer Datei zu importieren. Es können drei Typen von Datenquellen angelegt werden: //XML//, //CSV// und //JSON//.
nlo 9.1 13
nlo 11.1 14 {{lightbox image="data_source_new_de.png"/}}
15
nlo 14.2 16 === Importieren von Datenquellen aus Dateien ===
17
nlo 15.1 18 Folgende Dateitypen können verwendet werden, um Datenquellen zu importieren:
nlo 14.2 19
nlo 15.1 20 * **XML**: //.xml//
21 * **CSV**: //.csv//, //.xls//, //.xlsx//
22 * **JSON**: //.json//
nlo 14.2 23
gru 1.1 24 == CSV ==
25
26 Hier können Sie Datensätze im CSV-Format eingeben.
27
28 * Wählen Sie unter //Typ// die Option //CSV//.
29 * Vergeben Sie einen eindeutigen Namen.
30 * Im Feld //Wert// geben Sie die Daten separiert mit einem Komma ein.
31
nlo 7.1 32 {{figure image="datenquelle_csv_8.png"}}
gru 1.1 33 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.
34 {{/figure}}
35
36 === Beispiel für eine CSV-Datenquelle ===
37
38 {{info}}
39 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.
40 {{/info}}
41
42 {{code}}
43 Wert 1.1, Wert 1.2, Wert 1.3, Wert 1.4, ...
44 {{/code}}
45
46 Das Auslesen der Werte im {{designer case="dat"/}} erfolgt über das //Servlet// mit Namen //datenquellecsv//.
47
48 === Servlet-Parameter ===
49
50 {{info}}
51 **Servlet-URL**
52 http(s):~/~/<server>/formcycle/datenquellecsv?mandantName=<Mandant-Name>&name=<Datenquellen-Name>
53 {{/info}}
54
gru 1.3 55 Bei Zugriff aus dem {{designer case="dat"/}} verwenden Sie immer das globale Variablen-Objekt //XFC_METADATA//, siehe hierzu auch [[Globale Designer Variablen>>doc:Main.Formular-Metadaten]]. Beispielsweise kann wie folgt darauf zugegriffen werden: {{code}}XFC_METADATA.urls.datasource_csv{{/code}}.
gru 1.1 56
57 Folgende Parameter sind möglich:
58
59 |=Parametername|=Beschreibung|=Erforderlich
60 |name|Muss dem Namen der CSV-Datenquelle entsprechen.|Ja
61 |mandantName|Muss dem Namen des Mandanten entsprechen, unter welchen diese Datenquelle erstellt wurde.|Ja, wenn //projektId// nicht gegeben.
62 |projektId|Muss der ID des Formulars entsprechen. Diese Information kann über {{code}}XFC_METADATA.currentProject.id{{/code}} abgerufen werden.|Ja, wenn //mandantName// nicht gegeben.
63 |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
64 |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
65 |csvTrennzeichen|Gibt das Trennzeichen zwischen den einzelnen Datenzellen an. Wird dieses nicht gesetzt, wird hier standardmäßig ein Komma {{code}},{{/code}} benutzt.|Nein
66 |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
67
68 === Anwendungsbeispiel ===
69
70 {{figure image="datenquelle_csv_7.png" width="300"}}
71 Ein Beispiel dafür, wie eine CSV-Datenquelle aussehen kann. Die Spalten werden durch Kommas getrennt.
72 {{/figure}}
73
74 {{code language="csv"}}
75 anrede,vorname,nachname,plz,ort
76 Herr,Max,Mustermann,1000,Musterhausen
77 Frau,Monika,Mustermann,2000,Musterdorf
78 Frau, Luise,Musterfrau,3000,Musterstadt
79
80 {{/code}}
81
82
83
84
gru 1.3 85 Im {{designer case="dat"/}} wird dann folgendes Skript im [[Skriptbereich>>doc:Main.TAB - Script]] verwendet.
gru 1.1 86
87 {{code language="javascript"}}
88 $.getJSON( XFC_METADATA.urls.datasource_csv + "?name=Demo&mandantName=xima.de", function(json) {
89 var obj = json.returnValue[0]
90
91 $('[name=tfAnrede]').val(obj.anrede)
92 $('[name=tfVorname]').val(obj.vorname)
93 $('[name=tfName]').val(obj.nachname)
94 $('[name=tfPLZ]').val(obj.plz)
95 $('[name=tfOrt]').val(obj.ort)
96 })
97 {{/code}}
98
99 {{lightbox image="datenquelle_csv_4.png" width="300"/}}
100
101 Dieses Beispiel als Datenquelle für den {{designer case="acc"/}} [[zum Herunterladen>>attach:beispiel_datenquelle_csv.json||rel="__blank"]].
102
103 === Sonderfall Auswahlelement ===
104
nlo 4.1 105 {{figure image="data_source_csv_designer_de.png"}}
gru 1.1 106 Die Anbindung einer Datenquelle an eine Auswahlelement erfolgt direkt im {{designer case="dat"/}}
107 {{/figure}}
108
gru 1.3 109 Soll die //CSV//-Datenquelle direkt in ein [[Auswahlelement>>doc:Main.Auswahl]] geladen werden, erfolgt dies über die Eigenschaften des Auswahlelements im {{designer case="dat"/}}.
gru 1.1 110
gru 1.3 111 Der Inhalt der CSV-Datenquelle wird folgendermaßen in einem [[Auswahlelement>>doc:Main.Auswahl]] verarbeitet.
gru 1.1 112
113 {{code}}
114 sichtbarer wert, übertragener, wert, optionaler wert, optionaler wert, ...
115 {{/code}}
116
117 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.
118
119 {{code language="javascript"}}
120 $('[name=sel2]').find('option:selected').attr('col0');
121 {{/code}}
122
123 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.
124
125 == XML ==
126
gru 1.3 127 Die XML Datenquelle verhält sich analog zur //CSV//-Datenquelle, kann jedoch nicht direkt an ein [[Auswahlelement>>doc:Main.Auswahl]] gebunden werden.
gru 1.1 128
129 {{figure image="datenquelle_xml.png" width="300"}}
130 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.
131 {{/figure}}
132
133 === Beispiel für eine XML-Datenquelle ===
134
135 {{code language="xml"}}
136 <root>
137 <person>
138 <anrede>
139 Herr
140 </anrede>
141 <vorname>
142 Max
143 </vorname>
144 <nachname>
145 Mustermann
146 </nachname>
147 </person>
148 <person>
149 <anrede>
150 Frau
151 </anrede>
152 <vorname>
153 Monika
154 </vorname>
155 <nachname>
156 Musterfrau
157 </nachname>
158 </person>
159 </root>
160 {{/code}}
161
162
163 === Servlet-Parameter ===
164
165 {{info}}
166 **Servlet-URL**
167 http(s):~/~/<server>/formcycle/datenquellexml?mandantName=<Mandant-Name>&name=<Datenquellen-Name>
168 {{/info}}
169
gru 1.3 170 Bei Zugriff aus dem {{designer case="dat"/}} verwenden Sie immer das globale Variablen-Objekt //XFC_METADATA//, siehe hierzu auch [[Globale Designer Variablen>>doc:Main.Formular-Metadaten]]. Beispielsweise kann wie folgt darauf zugegriffen werden: {{code language="javascript"}}XFC_METADATA.urls.datasource_xml{{/code}}.
gru 1.1 171
172 Folgende Parameter sind möglich:
173
174 |=Parametername|=Beschreibung|=Erforderlich
175 |mandantName|Muss dem Namen des Mandanten entsprechen, unter welchem diese Datenquelle erstellt wurde.|Ja
176 |name|Muss dem Namen der CSV-Datenquelle entsprechen.|Ja
177
178 == JSON ==
179
gru 1.3 180 Die //JSON//-Datenquelle verhält sich analog zur //CSV//-Datenquelle, kann jedoch nicht direkt an ein [[Auswahlelement>>doc:Main.Auswahl]] gebunden werden.
gru 1.1 181
182 {{figure image="datenquelle_json.png" width="300"}}
183 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.
184 {{/figure}}
185
186 === Beispiel für eine JSON-Datenquelle ===
187
188 {{code language="json"}}
189 {"person":[
190 {
191 'anrede':'Herr',
192 'vorname':'Max',
193 'nachname':'Mustermann'
194 },
195 {
196 'anrede':'Frau',
197 'vorname':'Monika',
198 'nachname':'Musterfrau'
199 }
200 ]}
201 {{/code}}
202
203 === Servlet-Parameter ===
204
205 {{info}}
206 **Servlet-URL**
207 http(s):~/~/<server>/formcycle/datenquellejson?mandantName=<Mandant-Name>&name=<Datenquellen-Name>
208 {{/info}}
209
gru 1.3 210 Bei Zugriff aus dem {{designer case="dat"/}} verwenden Sie immer das globale Variablenobjekt //XFC_METADATA//, siehe hierzu auch [[Globale Designer Variablen>>doc:Main.Formular-Metadaten]]. Beispielweise kann wie folgt darauf zugegriffen werden: {{code language="javascript"}}XFC_METADATA.urls.datasource_json{{/code}}.
gru 1.1 211
212 Folgende Parameter sind möglich:
213
214 |=Parametername|=Beschreibung|=Erforderlich
215 |mandantName| Muss dem Namen des Mandanten entsprechen, unter welchen diese Datenquelle erstellt wurde.|Ja
216 |name| Muss dem Namen der CSV-Datenquelle entsprechen.|Ja
Copyright 2000-2025