0

Variablen deklarieren und im case füllen funktioniert nicht

Hallo zusammen, 

 

ich habe da mal eine Frage: Ich habe am Anfang des Skriptes Variablen (myDatePerSo, myDateReise, myDateFuehr) deklariert und sie zunächst mit "" ausgeprägt.  

Innerhalb eines Cases wollte ich diese Variablen mit personenbezogenem Inhalt füllen. Diese Daten sollten dann bei der Anlage einer neuen Wiedervorlage mit createWiedervorlage verwendet werden. Das klappt nicht!!

Würde ich jedoch die Variable myDatePerSo nicht mit := "" sondern mit := myDatePerSo := first((select Dokumente)[text(Dokumentenart) = "Personalausweis" and 'allgemeine Stammdaten'.Vorname = "Michael"].'gültig bis') deklarieren, funktioniert es.

 

Wo liegt mein Fehler? Ich brauche den Personenbezug.

 

let my := this;
let myFrist := first(select Vorgaben).WV6;
let myWVDate := "";
let myDatePerSo := "";
let myDateReise := "";
let myDateFuehr := "";
let User := Dokumente.'allgemeine Stammdaten'.Vorname;
switch User do
case "Michael":
    (
        let myDatePerSo := first((select Dokumente)[text(Dokumentenart) = "Personalausweis" and 'allgemeine Stammdaten'.Vorname = "Michael"].'gültig bis');
        let myDateReise := first((select Dokumente)[text(Dokumentenart) = "Reisepaß" and 'allgemeine Stammdaten'.Vorname = "Michael"].'gültig bis');
        let myDateFuehr := first((select Dokumente)[text(Dokumentenart) = "Führerschein" and 'allgemeine Stammdaten'.Vorname = "Michael"].'gültig bis');
        void
    )
case "Ursula":
    (
        let myDatePerSo := first((select Dokumente)[text(Dokumentenart) = "Personalausweis" and 'allgemeine Stammdaten'.Vorname = "Ursula"].'gültig bis');
        let myDateReise := first((select Dokumente)[text(Dokumentenart) = "Reisepaß" and 'allgemeine Stammdaten'.Vorname = "Ursula"].'gültig bis');
        let myDateFuehr := first((select Dokumente)[text(Dokumentenart) = "Führerschein" and 'allgemeine Stammdaten'.Vorname = "Ursula"].'gültig bis');
        void
    )
case "Moritz Leo":
    (
        let myDatePerSo := first((select Dokumente)[text(Dokumentenart) = "Personalausweis" and 'allgemeine Stammdaten'.Vorname = "Moritz"].'gültig bis');
        let myDateReise := first((select Dokumente)[text(Dokumentenart) = "Reisepaß" and 'allgemeine Stammdaten'.Vorname = "Moritz"].'gültig bis');
        let myDateFuehr := first((select Dokumente)[text(Dokumentenart) = "Führerschein" and 'allgemeine Stammdaten'.Vorname = "Moritz"].'gültig bis');
        void
    )
case "ABBRUCH":
    alert("Dieser Bereich befindet sich im Aufbau!")
end;
let myArray := Dokumente['gültig bis' > today()].text(Dokumentenart);
let myDoc := dialog("Wiedervorlage", "Für welche Dokumentenart soll eine Wiedervorlage angelegt werden?", myArray);
switch myDoc do
case "Personalausweis":
    (
        let newWV := (create Wiedervorlage);
        let myWVDate := date(myDatePerSo) - number(myFrist);
        newWV.('Fällig am:' := myDatePerSo);
        newWV.('WVL-Datum:' := myWVDate);
        newWV.(Status := 12);
        newWV.(Modul := 7);
        newWV.('Text (mehrzeilig)' := "Die Gültigkeit des Personalausweises läuft am " + myDatePerSo + " aus. Bei der ausstellenden Behörde einen Ersatz beantragen. ");
        popupRecord(newWV);
        Dokumente[text(Dokumentenart) = "Personalausweis"].('Wiedervorlage angelegt?' := true)
    )
case "Reisepaß":

4 Antworten

null
    • Torsten_Stang.1
    • vor 2 Jahren
    • Gemeldet - anzeigen

    ich würde mutmaßen, dass Du die Variable 'User' eben nicht mit einem einzelnen Vornamen befüllst, weshalb die switch-cases gar nicht greifen können!?

     

    Was gibt ein Funktionsfeld mit folgendem Code aus?

    let my := this;
    let myFrist := first(select Vorgaben).WV6;
    let myWVDate := "";
    let myDatePerSo := "";
    let myDateReise := "";
    let myDateFuehr := "";
    let User := Dokumente.'allgemeine Stammdaten'.Vorname;
    User
    
    • Michael.3
    • vor 2 Jahren
    • Gemeldet - anzeigen

    Das kommt daraus: Michael,Michael,Michael

     

    Eine Änderung auf let User := first((select Dokumente).'allgemeine Stammdaten').Vorname; bringt zwar in Deinem Kontrollskript im Funktionsfeld nur noch Michael heraus aber meinem Ziel bin ich leider immer noch nicht näher, denn die Wiedervorlagefelder bleiben leer.

     

    Aber vielen vielen Dank für den Hinweis.

     

    Michael

    • mirko3
    • vor 2 Jahren
    • Gemeldet - anzeigen

    Hi Michael. Du versuchst Variablen des Typs "Text´" mit dem Wert "Datum" zu füllen. Ich schlage Dir vor, dass Du entweder die Variablen auf let xx:=date(0,0,0) setzt oder (besser) den Wert in Text umwandelst (...Vorname = "Ursula"].text('gültig bis')). Vielleicht hilft es. Gruß Mirko

    • Michael.3
    • vor 2 Jahren
    • Gemeldet - anzeigen

    Vielen Dank für Eure Denkanstöße. Da ich nicht so viel Zeit verlieren wollte, um eine Lösung zu finden, habe ich den Button für die Wiedervorlage auf eine andere Ebene gebracht. Die Auswahl der Person ist dann nicht mehr erforderlich und ich kann alles so verwenden, wie ich es mir vorgestellt habe. Also nochmals DANKE für den Imput. Michael

Content aside

  • Status Answered
  • vor 2 JahrenZuletzt aktiv
  • 4Antworten
  • 76Ansichten
  • 2 Folge bereits