0

Adressfeld Rechnungsformular

Ich habe ein Adressfeld in einem Rechnungsformular das so aussieht:
 

{if Kunde.Firma then

Kunde.Firma +

"

" + Kunde.Anrede

else

Kunde.Anrede + " "

end +

Kunde.Vorname +

" " +

Kunde.Nachname +

"

" +

Kunde.'Straße Nr' +

"

" +

Kunde.PLZ +

" " +

Kunde.Ort}

Funktioniert ganz gut jedoch:
Bei einem Firmenkunden ohne Namen und also auch ohne Anrede steht dann im Adressfeld "bitte wählen"
Wie bekomm ich das weg?

5 Antworten

null
    • Siskokeys
    • vor 4 Tagen
    • Gemeldet - anzeigen

    Eine Lösung hab ich schon:
    Ich hab die "bitte wählen" Auswahl aus der Anrede Auswahlbox gelöscht. Nun macht er mir jedoch logischer Weise ein Leerzeichen vor den Namen

    • mirko3
    • vor 3 Tagen
    • Gemeldet - anzeigen

    Hallo  . Du kannst das folgende Script testen. Es könnte die meisten Varianten abdecken. Ich bin davon ausgegangen, dass das Feld "Anrede" ein einfaches Auswahlfeld ist. Mirko

    let lineBreak := urlDecode("%0D%0A");
    let result := [Kunde.Firma, text(Kunde.Anrede), Kunde.Vorname, Kunde.Nachname][!= ""];
    for i in range(cnt(result)) do
        item(result, i) +
        if i = 0 and cnt(result) > 1 and item(result, i) = Kunde.Firma then
            lineBreak
        else
            " "
        end
    end +
    lineBreak +
    Kunde.'Straße Nr' +
    lineBreak +
    Kunde.PLZ +
    " " +
    Kunde.Ort
    
      • Siskokeys
      • gestern
      • Gemeldet - anzeigen

       Das sieht ziemlich gut aus!
      Ich bin zwar noch ein gutes Stück entfernt es zu verstehen aber es funktioniert super!
      Danke

      • mirko3
      • gestern
      • Gemeldet - anzeigen

       

      Zeile 1: Notbehelf - eine Variable die einen Zeilenumbruch enthält, indem ein ASCII-Zeichensatz quasi in Text umgewandelt wird durch urlDecode(). Sieht dann übersichtlicher aus als die untereinander stehenden "

      "

      Diese Zeile könnte auch so aussehen:

      let lineBreak := "
      ";
      

      Zeile 2: ein dynamisches Array welches durch [!=null] gefiltert wird und keine leeren Elemente enthält. Hier kommen also von Anfang an nur die Elemente zum tragen, die gebraucht werden. Kann man, muß man nicht so machen.

      Zeile 5: wenn das erste Element des obigen Arrays durchlaufen wird (i = 0) UND es nicht nur ein Element im Array gibt UND dieses erste Element dann auch noch "Firma" ist, dann füge danach einen Zeilenumbruch ein, sonst ein Leerzeichen. Diese Bedingungen stellen sicher, dass wenn Firma UND auch Anrede+Name etc. vorhanden sind, diese durch einen Zeilenumbruch getrennt werden. Ansonsten steht dort die Firma solo, oder eben Anrede, Name, Vorname leerzeichengetrennt.

      Mirko

      • Siskokeys
      • gestern
      • Gemeldet - anzeigen

       👍

Content aside

  • gesternZuletzt aktiv
  • 5Antworten
  • 42Ansichten
  • 2 Folge bereits