Funktion: Zeilenweise Zerlegung von Textfeldern - S_GetXNewLineFromText()

Felder werden in ConAktiv® immer als ein Objekt behandelt. Dies kann allerdings bei der Erstellung von Formularen u.U. hinderlich sein. Fügen Sie z.B. das Feld [ReChnungen]Kunde_Anschrift in ein Formular ein und rechts daneben weitere Felder, dann werden beim Ausfüllen des Formulars die rechts platzierten Felder erst im Anschluss an die letzte Zeile des Feldes [ReChnungen]Kunde_Anschrift angedruckt.

Feldplatzierung in der Formularvorlage:

[ReChnungen]Kunde_Anschrift                   [ReChnungen]Rechnung_Nr

           [Rechnungen]Rechnungs_Datum

Gewünschte Ausgabe im Formular:

Wehmaier AG                                                         RE-12345/04/21

Bahnhofstraße 25-27                                                  23.04.21

60045 Frankfurt am Main

Tatsächliche Ausgabe im Formular:

Wehmaier AG

Bahnhofstraße 25-27

60045 Frankfurt am Main                                                         RE-12345/04/21

                                                  23.04.21

In diesem Falle wäre ist es wünschenswert, wenn die Rechnungsnummer und das Rechnungsdatum rechts neben den ersten zwei Anschriftszeilen steht.

Um dies zu realisieren, muss das Feld [ReChnungen]Kunde_Anschrift in einzelne Zeilen zerlegt werden. Dies erledigt die Funktion

S_GetXNewLineFromText([Tabelle]Feld;x)

Mit dieser Funktion können Sie eine beliebige Zeile x aus einem mehrzeiligen Textfeld ausgeben.

Möchten Sie z.B. die dritte Zeile des Feldes [ReChnungen]Kunde_Anschrift ausgeben, dann sieht die Funktion wie folgt aus:

S_GetXNewLineFromText([Rechnungen]Kunde_Anschrift;3)

Um dem oben beschriebenen Problem mit den Feldern [ReChnungen]Kunde_Anschrift, [ReChnungen]Rechnung_Nr und [ReChnungen]Rechnungs_Datum zu entgegnen, muss das Feld [ReChnungen]Kunde_Anschrift in separate Zeilen zerlegt und ausgegeben werden:

S_GetXNewLineFromText([Rechnungen]Kunde_Anschrift;1)                                        [ReChnungen]Rechnung_Nr

S_GetXNewLineFromText([Rechnungen]Kunde_Anschrift;2)                                 [Rechnungen]Rechnungs_Datum

S_GetXNewLineFromText([Rechnungen]Kunde_Anschrift;3)

S_GetXNewLineFromText([Rechnungen]Kunde_Anschrift;4)

Außer der Möglichkeit, neben die einzelnen Anschriftenzeilen weitere Texte und Felder einfügen zu können, bietet die Nutzung der Funktion S_GetXNewLineFromText() außerdem den Vorteil, dass sich durch das Aufsplitten des Feldes Anschrift der gesamte Anschriftenblock mit einer festgelegten Anzahl von Zeilen vorgeben lässt, d. h. für die Anschrift werden dann generell z.B. sieben Zeilen reserviert. Hierdurch wird beim Drucken ein Verschieben des nachfolgenden Textes in Abhängigkeit von der Zeilenzahl der jeweiligen Anschrift verhindert.