From version 1.28
edited by gru
on 31.03.2022, 16:23
Change comment: There is no comment for this version
To version 1.30
edited by gru
on 31.03.2022, 16:26
Change comment: There is no comment for this version

Summary

Details

Page properties
Content
... ... @@ -8,12 +8,12 @@
8 8  
9 9  == Workflow im Beispiel ==
10 10  
11 -Im Formularstore kann das Beispielformular mit dem Namen "ALVA Sonn- und Feiertagsverbot" importiert oder heruntergeladen werden. In diesem werden Informationen gesammelt und diese nach dem Absenden des Formulars im [[Workflow>>doc:Formcycle.Designer.Workflow.WebHome]] über eine [[XSL-Transformation>>doc:https://de.wikipedia.org/wiki/XSL_Transformation]] in ein für ALVA9 importierbares XML-Format umgewandelt. Anschließend erstellt der Workflow aus diese XML-Datei, allen im Formular übertragenen Daten und einer PDF-Druckquittung ein ZIP-Archiv.
11 +Im Formularstore kann das Beispielformular mit dem Namen "ALVA Sonn- und Feiertagsverbot" importiert oder heruntergeladen werden. In diesem werden Informationen gesammelt und diese nach dem Absenden des Formulars im [[Workflow>>doc:Formcycle.Designer.Workflow.WebHome]] über eine [[XSL-Transformation>>doc:Formcycle.UserInterface.FilesAndTemplates.XSLTransformation]] in ein für ALVA9 importierbares XML-Format umgewandelt. Anschließend erstellt der Workflow aus diese XML-Datei, allen im Formular übertragenen Daten und einer PDF-Druckquittung ein ZIP-Archiv.
12 12  Dieses wird anschließend in das Austauschverzeichnis gespeichert. Das Austauschverzeichnis ist im Beispielformular noch nicht konfiguriert und muss in den jeweiligen Aktionen zunächst noch festgelegt werden. Der Grund dafür ist, dass der Pfade nicht allgemengültig sind und vom jeweiligen System abhängen, in welches das Beispielformular importiert wurde.
13 13  
14 14  === Inhalt und Erstellung der XML-Datei ===
15 15  
16 -Die XML-Datei mit allen im Formular eingegebenen Daten wird über eine sagenannte [[XSL-Transformation>>WIKIPEDIA]] erzeugt. Die Struktur der erzeugten XML-Datei wird dabei von ALVA9 vorgegeben und besteht im Beispiel aus den Konten //daten// und //datensatz//, wobei in letzteren die einzelnen Informationen als eigene Unterknoten eingefügt werden.
16 +Die XML-Datei mit allen im Formular eingegebenen Daten wird über eine sagenannte [[XSL-Transformation>>https://de.wikipedia.org/wiki/XSL_Transformation]] erzeugt. Die Struktur der erzeugten XML-Datei wird dabei von ALVA9 vorgegeben und besteht im Beispiel aus den Konten //daten// und //datensatz//, wobei in letzteren die einzelnen Informationen als eigene Unterknoten eingefügt werden.
17 17  
18 18  Die vollständige XSL-Transformation für das Beispiel sieht wie folgt aus:
19 19  
... ... @@ -21,104 +21,104 @@
21 21  {{code language="xslt"}}
22 22  <?xml version="1.0" encoding="UTF-8"?>
23 23  <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
24 - <xsl:template match="process">
25 - <daten>
26 - <datensatz>
27 - <NAME1><xsl:value-of select="form/field[@name='tfOrgName']/plainValue"/>&#xA0;<xsl:value-of select="form/field[@name='Rechtsform']/plainValue"/></NAME1>
28 - <NAME2><xsl:value-of select="form/field[@name='tfAntragstellerAnrede']/plainValue"/>&#xA0;<xsl:value-of select="form/field[@name='tfAntragstellerTitel']/plainValue"/>&#xA0;<xsl:value-of select="form/field[@name='tfAntragstellerVorname']/plainValue"/>&#xA0;<xsl:value-of select="form/field[@name='tfAntragstellerName']/plainValue"/></NAME2>
29 - <NAME3><xsl:value-of select="form/field[@name='']/plainValue"/></NAME3>
24 + <xsl:template match="process">
25 + <daten>
26 + <datensatz>
27 + <NAME1><xsl:value-of select="form/field[@name='tfOrgName']/plainValue"/>&#xA0;<xsl:value-of select="form/field[@name='Rechtsform']/plainValue"/></NAME1>
28 + <NAME2><xsl:value-of select="form/field[@name='tfAntragstellerAnrede']/plainValue"/>&#xA0;<xsl:value-of select="form/field[@name='tfAntragstellerTitel']/plainValue"/>&#xA0;<xsl:value-of select="form/field[@name='tfAntragstellerVorname']/plainValue"/>&#xA0;<xsl:value-of select="form/field[@name='tfAntragstellerName']/plainValue"/></NAME2>
29 + <NAME3><xsl:value-of select="form/field[@name='']/plainValue"/></NAME3>
30 30   <NAME4><xsl:value-of select="form/field[@name='']/plainValue"/></NAME4>
31 - <STRASSE><xsl:value-of select="form/field[@name='tfAntragstellerAdresse']/plainValue"/></STRASSE>
32 - <HAUS_NR><xsl:value-of select="form/field[@name='']/plainValue"/></HAUS_NR>
33 - <ORT><xsl:value-of select="form/field[@name='tfAntragstellerOrt']/plainValue"/></ORT>
34 - <PLZ><xsl:value-of select="form/field[@name='tfAntragstellerPLZ']/plainValue"/></PLZ>
35 - <TELEFON><xsl:value-of select="form/field[@name='tfAntragstellerTelefon']/plainValue"/></TELEFON>
36 - <EMAIL><xsl:value-of select="form/field[@name='tfAntragstellerEmail']/plainValue"/></EMAIL>
37 - <FAX><xsl:value-of select="form/field[@name='tfAntragstellerFax']/plainValue"/></FAX>
38 - <SONNTAGE><xsl:value-of select="form/field[@name='cbSONNTAGE']/plainValue"/></SONNTAGE>
39 - <FERIEN><xsl:value-of select="form/field[@name='cbFERIEN']/plainValue"/></FERIEN>
31 + <STRASSE><xsl:value-of select="form/field[@name='tfAntragstellerAdresse']/plainValue"/></STRASSE>
32 + <HAUS_NR><xsl:value-of select="form/field[@name='']/plainValue"/></HAUS_NR>
33 + <ORT><xsl:value-of select="form/field[@name='tfAntragstellerOrt']/plainValue"/></ORT>
34 + <PLZ><xsl:value-of select="form/field[@name='tfAntragstellerPLZ']/plainValue"/></PLZ>
35 + <TELEFON><xsl:value-of select="form/field[@name='tfAntragstellerTelefon']/plainValue"/></TELEFON>
36 + <EMAIL><xsl:value-of select="form/field[@name='tfAntragstellerEmail']/plainValue"/></EMAIL>
37 + <FAX><xsl:value-of select="form/field[@name='tfAntragstellerFax']/plainValue"/></FAX>
38 + <SONNTAGE><xsl:value-of select="form/field[@name='cbSONNTAGE']/plainValue"/></SONNTAGE>
39 + <FERIEN><xsl:value-of select="form/field[@name='cbFERIEN']/plainValue"/></FERIEN>
40 40   <GRUND2><xsl:value-of select="form/field[@name='cbGRUND2']/plainValue"/></GRUND2>
41 41   <GRUND1><xsl:value-of select="form/field[@name='cbGRUND1']/plainValue"/></GRUND1>
42 - <ANTR_DATUM><xsl:value-of select="substring-before(./@creation-date, ' ')" /></ANTR_DATUM>
43 - <NAME_HALT><xsl:value-of select="form/field[@name='tfNAME_HALT']/plainValue"/></NAME_HALT>
44 - <FIRMA_HALT><xsl:value-of select="form/field[@name='tfFIRMA_HALT']/plainValue"/></FIRMA_HALT>
45 - <POS_HALTER><xsl:value-of select="form/field[@name='tfPOS_HALTER']/plainValue"/></POS_HALTER>
46 - <xsl:if test="form/field[@name='cbLKW']/plainValue!=1"><LKW>0</LKW></xsl:if>
47 - <xsl:if test="form/field[@name='cbLKW']/plainValue=1"><LKW><xsl:value-of select="form/field[@name='cbLKW']/plainValue"/></LKW></xsl:if>
48 - <xsl:if test="form/field[@name='cbANHAENGER']/plainValue!=1"><ANHAENGER>0</ANHAENGER></xsl:if>
49 - <xsl:if test="form/field[@name='cbANHAENGER']/plainValue=1"><ANHAENGER><xsl:value-of select="form/field[@name='cbANHAENGER']/plainValue"/></ANHAENGER></xsl:if>
50 - <xsl:if test="form/field[@name='cbZUGMASCHIN']/plainValue!=1"><ZUGMASCHIN>0</ZUGMASCHIN></xsl:if>
51 - <xsl:if test="form/field[@name='cbZUGMASCHIN']/plainValue=1"><ZUGMASCHIN><xsl:value-of select="form/field[@name='cbZUGMASCHIN']/plainValue"/></ZUGMASCHIN></xsl:if>
52 - <xsl:if test="form/field[@name='cbAUFLIEGER']/plainValue!=1"><AUFLIEGER>0</AUFLIEGER></xsl:if>
53 - <xsl:if test="form/field[@name='cbAUFLIEGER']/plainValue=1"><AUFLIEGER><xsl:value-of select="form/field[@name='cbAUFLIEGER']/plainValue"/></AUFLIEGER></xsl:if>
54 - <xsl:if test="form/field[@name='cbERSATZ1']/plainValue!=1"><ERSATZ1>0</ERSATZ1></xsl:if>
55 - <xsl:if test="form/field[@name='cbERSATZ1']/plainValue=1"><ERSATZ1><xsl:value-of select="form/field[@name='cbERSATZ1']/plainValue"/></ERSATZ1></xsl:if>
56 - <xsl:if test="form/field[@name='cbERSATZ2']/plainValue!=1"><ERSATZ2>0</ERSATZ2></xsl:if>
57 - <xsl:if test="form/field[@name='cbERSATZ2']/plainValue=1"><ERSATZ2><xsl:value-of select="form/field[@name='cbERSATZ2']/plainValue"/></ERSATZ2></xsl:if>
58 - <LKW_KENNZ><xsl:value-of select="form/field[@name='tfLKW_KENNZ']/plainValue"/></LKW_KENNZ>
59 - <ANH_KENNZ><xsl:value-of select="form/field[@name='tfANH_KENNZ']/plainValue"/></ANH_KENNZ>
60 - <ZUG_KENNZ><xsl:value-of select="form/field[@name='tfZUG_KENNZ']/plainValue"/></ZUG_KENNZ>
61 - <AUF_KENNZ><xsl:value-of select="form/field[@name='tfAUF_KENNZ']/plainValue"/></AUF_KENNZ>
62 - <ERS_KENNZ1><xsl:value-of select="form/field[@name='tfERS_KENNZ1']/plainValue"/></ERS_KENNZ1>
63 - <ERS_KENNZ2><xsl:value-of select="form/field[@name='tfERS_KENNZ2']/plainValue"/></ERS_KENNZ2>
64 - <LKW2KENNZ><xsl:value-of select="form/field[@name='tfLKW2KENNZ']/plainValue"/></LKW2KENNZ>
65 - <ANH2KENNZ><xsl:value-of select="form/field[@name='tfANH2KENNZ']/plainValue"/></ANH2KENNZ>
66 - <ZUG2KENNZ><xsl:value-of select="form/field[@name='tfZUG2KENNZ']/plainValue"/></ZUG2KENNZ>
67 - <AUF2KENNZ><xsl:value-of select="form/field[@name='tfAUF2KENNZ']/plainValue"/></AUF2KENNZ>
68 - <ERS2KENNZ1><xsl:value-of select="form/field[@name='tfERS2KENNZ1']/plainValue"/></ERS2KENNZ1>
69 - <ERS2KENNZ2><xsl:value-of select="form/field[@name='tfERS2KENNZ2']/plainValue"/></ERS2KENNZ2>
70 - <LKW_GEWICH>
42 + <ANTR_DATUM><xsl:value-of select="substring-before(./@creation-date, ' ')" /></ANTR_DATUM>
43 + <NAME_HALT><xsl:value-of select="form/field[@name='tfNAME_HALT']/plainValue"/></NAME_HALT>
44 + <FIRMA_HALT><xsl:value-of select="form/field[@name='tfFIRMA_HALT']/plainValue"/></FIRMA_HALT>
45 + <POS_HALTER><xsl:value-of select="form/field[@name='tfPOS_HALTER']/plainValue"/></POS_HALTER>
46 + <xsl:if test="form/field[@name='cbLKW']/plainValue!=1"><LKW>0</LKW></xsl:if>
47 + <xsl:if test="form/field[@name='cbLKW']/plainValue=1"><LKW><xsl:value-of select="form/field[@name='cbLKW']/plainValue"/></LKW></xsl:if>
48 + <xsl:if test="form/field[@name='cbANHAENGER']/plainValue!=1"><ANHAENGER>0</ANHAENGER></xsl:if>
49 + <xsl:if test="form/field[@name='cbANHAENGER']/plainValue=1"><ANHAENGER><xsl:value-of select="form/field[@name='cbANHAENGER']/plainValue"/></ANHAENGER></xsl:if>
50 + <xsl:if test="form/field[@name='cbZUGMASCHIN']/plainValue!=1"><ZUGMASCHIN>0</ZUGMASCHIN></xsl:if>
51 + <xsl:if test="form/field[@name='cbZUGMASCHIN']/plainValue=1"><ZUGMASCHIN><xsl:value-of select="form/field[@name='cbZUGMASCHIN']/plainValue"/></ZUGMASCHIN></xsl:if>
52 + <xsl:if test="form/field[@name='cbAUFLIEGER']/plainValue!=1"><AUFLIEGER>0</AUFLIEGER></xsl:if>
53 + <xsl:if test="form/field[@name='cbAUFLIEGER']/plainValue=1"><AUFLIEGER><xsl:value-of select="form/field[@name='cbAUFLIEGER']/plainValue"/></AUFLIEGER></xsl:if>
54 + <xsl:if test="form/field[@name='cbERSATZ1']/plainValue!=1"><ERSATZ1>0</ERSATZ1></xsl:if>
55 + <xsl:if test="form/field[@name='cbERSATZ1']/plainValue=1"><ERSATZ1><xsl:value-of select="form/field[@name='cbERSATZ1']/plainValue"/></ERSATZ1></xsl:if>
56 + <xsl:if test="form/field[@name='cbERSATZ2']/plainValue!=1"><ERSATZ2>0</ERSATZ2></xsl:if>
57 + <xsl:if test="form/field[@name='cbERSATZ2']/plainValue=1"><ERSATZ2><xsl:value-of select="form/field[@name='cbERSATZ2']/plainValue"/></ERSATZ2></xsl:if>
58 + <LKW_KENNZ><xsl:value-of select="form/field[@name='tfLKW_KENNZ']/plainValue"/></LKW_KENNZ>
59 + <ANH_KENNZ><xsl:value-of select="form/field[@name='tfANH_KENNZ']/plainValue"/></ANH_KENNZ>
60 + <ZUG_KENNZ><xsl:value-of select="form/field[@name='tfZUG_KENNZ']/plainValue"/></ZUG_KENNZ>
61 + <AUF_KENNZ><xsl:value-of select="form/field[@name='tfAUF_KENNZ']/plainValue"/></AUF_KENNZ>
62 + <ERS_KENNZ1><xsl:value-of select="form/field[@name='tfERS_KENNZ1']/plainValue"/></ERS_KENNZ1>
63 + <ERS_KENNZ2><xsl:value-of select="form/field[@name='tfERS_KENNZ2']/plainValue"/></ERS_KENNZ2>
64 + <LKW2KENNZ><xsl:value-of select="form/field[@name='tfLKW2KENNZ']/plainValue"/></LKW2KENNZ>
65 + <ANH2KENNZ><xsl:value-of select="form/field[@name='tfANH2KENNZ']/plainValue"/></ANH2KENNZ>
66 + <ZUG2KENNZ><xsl:value-of select="form/field[@name='tfZUG2KENNZ']/plainValue"/></ZUG2KENNZ>
67 + <AUF2KENNZ><xsl:value-of select="form/field[@name='tfAUF2KENNZ']/plainValue"/></AUF2KENNZ>
68 + <ERS2KENNZ1><xsl:value-of select="form/field[@name='tfERS2KENNZ1']/plainValue"/></ERS2KENNZ1>
69 + <ERS2KENNZ2><xsl:value-of select="form/field[@name='tfERS2KENNZ2']/plainValue"/></ERS2KENNZ2>
70 + <LKW_GEWICH>
71 71   <xsl:call-template name="formatWeight">
72 72   <xsl:with-param name="weight" select="form/field[@name='tfLKW_GEWICH']/plainValue" />
73 73   </xsl:call-template>
74 - </LKW_GEWICH>
75 - <ANH_GEWICH>
74 + </LKW_GEWICH>
75 + <ANH_GEWICH>
76 76   <xsl:call-template name="formatWeight">
77 77   <xsl:with-param name="weight" select="form/field[@name='tfANH_GEWICH']/plainValue" />
78 78   </xsl:call-template>
79 - </ANH_GEWICH>
80 - <ZUG_GEWICH>
79 + </ANH_GEWICH>
80 + <ZUG_GEWICH>
81 81   <xsl:call-template name="formatWeight">
82 82   <xsl:with-param name="weight" select="form/field[@name='tfZUG_GEWICH']/plainValue" />
83 83   </xsl:call-template>
84 - </ZUG_GEWICH>
85 - <AUF_GEWICH>
84 + </ZUG_GEWICH>
85 + <AUF_GEWICH>
86 86   <xsl:call-template name="formatWeight">
87 87   <xsl:with-param name="weight" select="form/field[@name='tfAUF_GEWICH']/plainValue" />
88 88   </xsl:call-template>
89 - </AUF_GEWICH>
90 - <!--
91 - <LKW_LEER><xsl:value-of select="form/field[@name='']/plainValue"/></LKW_LEER>
92 - <ANH_LEER><xsl:value-of select="form/field[@name='']/plainValue"/></ANH_LEER>
93 - <ZUG_LEER><xsl:value-of select="form/field[@name='']/plainValue"/></ZUG_LEER>
94 - <AUF_LEER><xsl:value-of select="form/field[@name='']/plainValue"/></AUF_LEER>
95 - -->
96 - <ERS_GEWI_1>
89 + </AUF_GEWICH>
90 + <!--
91 + <LKW_LEER><xsl:value-of select="form/field[@name='']/plainValue"/></LKW_LEER>
92 + <ANH_LEER><xsl:value-of select="form/field[@name='']/plainValue"/></ANH_LEER>
93 + <ZUG_LEER><xsl:value-of select="form/field[@name='']/plainValue"/></ZUG_LEER>
94 + <AUF_LEER><xsl:value-of select="form/field[@name='']/plainValue"/></AUF_LEER>
95 + -->
96 + <ERS_GEWI_1>
97 97   <xsl:call-template name="formatWeight">
98 98   <xsl:with-param name="weight" select="form/field[@name='tfERS_GEWI_1']/plainValue" />
99 99   </xsl:call-template>
100 - </ERS_GEWI_1>
101 - <ERS_GEWI_2>
100 + </ERS_GEWI_1>
101 + <ERS_GEWI_2>
102 102   <xsl:call-template name="formatWeight">
103 103   <xsl:with-param name="weight" select="form/field[@name='tfERS_GEWI_2']/plainValue" />
104 104   </xsl:call-template>
105 - </ERS_GEWI_2>
106 - <ART><xsl:value-of select="form/field[@name='tfART']/plainValue"/></ART>
107 - <ART_GEWICH>
105 + </ERS_GEWI_2>
106 + <ART><xsl:value-of select="form/field[@name='tfART']/plainValue"/></ART>
107 + <ART_GEWICH>
108 108   <xsl:call-template name="formatWeight">
109 109   <xsl:with-param name="weight" select="form/field[@name='tfART_GEWICH']/plainValue" />
110 110   </xsl:call-template>
111 - </ART_GEWICH>
112 - <STARTORT><xsl:value-of select="form/field[@name='tfSTARTORT']/plainValue"/></STARTORT>
113 - <ZIELORT><xsl:value-of select="form/field[@name='tfZIELORT']/plainValue"/></ZIELORT>
114 - <UEBER><xsl:value-of select="form/field[@name='tfUEBER']/plainValue"/></UEBER>
115 - <ZEIT_VON>
111 + </ART_GEWICH>
112 + <STARTORT><xsl:value-of select="form/field[@name='tfSTARTORT']/plainValue"/></STARTORT>
113 + <ZIELORT><xsl:value-of select="form/field[@name='tfZIELORT']/plainValue"/></ZIELORT>
114 + <UEBER><xsl:value-of select="form/field[@name='tfUEBER']/plainValue"/></UEBER>
115 + <ZEIT_VON>
116 116   <xsl:call-template name="formatDate">
117 117   <xsl:with-param name="dateTime" select="form/field[@name='tfZEIT_VON']/plainValue" />
118 118   </xsl:call-template>
119 - </ZEIT_VON>
120 - <VON_UHR><xsl:value-of select="form/field[@name='tfVON_UHR']/plainValue"/></VON_UHR>
121 - <ZEIT_BIS>
119 + </ZEIT_VON>
120 + <VON_UHR><xsl:value-of select="form/field[@name='tfVON_UHR']/plainValue"/></VON_UHR>
121 + <ZEIT_BIS>
122 122   <xsl:call-template name="formatDate">
123 123   <xsl:with-param name="dateTime" select="form/field[@name='tfZEIT_BIS']/plainValue" />
124 124   </xsl:call-template>