0

Hilfe beim Coding

Ich habe nachfolgendes Coding erstellt, um eine Wiedervorlage für diverse Dokumente wie Personalausweis, Führerschein usw. setzen zu können, um vor erreichen der Gültigkeit ein neues Dokument bei der Stadtverwaltung anzufordern. Klappt auch ganz gut, allerdings wollte ich dann in der Untertabelle Dokumente, bei dem jeweiligen Dokument eine Checkbox setzen, dass die Wiedervorlage erstellt wurde. Das funktioniert nicht. Habe gerade auch keine Idee, woran es liegt.

 

let my := this;
let myFrist := first(select Vorgaben).WV6;
let myDate := first(select Dokumente).'gültig bis';
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 := myDate - myFrist;
        newWV.('Fällig am:' := myDate);
        newWV.('WVL-Datum:' := myWVDate);
        newWV.(Status := 12);
        newWV.(Modul := 7);
        newWV.('Text (mehrzeilig)' := "Die Gültigkeit des Personalausweises läuft am " + myDate + " aus. Bei der ausstellenden Behörde einen Ersatz beantragen. ");
        popupRecord(newWV);
        Dokumente.'Wiedervorlage angelegt?' = 1
    )
case "Reisepaß":
    (
        let newWV := (create Wiedervorlage);
        let myWVDate := myDate - myFrist;
        newWV.('Fällig am:' := myDate);
        newWV.('WVL-Datum:' := myWVDate);
        newWV.(Status := 12);
        newWV.(Modul := 7);
        newWV.('Text (mehrzeilig)' := "Die Gültigkeit des Reisepasses läuft am " + myDate + " aus. Bei der ausstellenden Behörde einen Ersatz beantragen. ");
        popupRecord(newWV);
        Dokumente.'Wiedervorlage angelegt?' = 1
    )
case "Führerschein":
    (
        let newWV := (create Wiedervorlage);
        let myWVDate := myDate - myFrist;
        newWV.('Fällig am:' := myDate);
        newWV.('WVL-Datum:' := myWVDate);
        newWV.(Status := 12);
        newWV.(Modul := 7);
        newWV.('Text (mehrzeilig)' := "Die Gültigkeit des Führerscheins läuft am " + myDate + " aus. Bei der ausstellenden Behörde einen Ersatz beantragen. ");
        popupRecord(newWV)
    )
case "Abbruch":
    alert("Dieser Bereich befindet sich im Aufbau!")
end;
if myDoc != "Abbruch" then
    Dokumente.'Wiedervorlage angelegt?' = 1
else
    void
end

2 Antworten

null
    • Leonid_Semik
    • vor 2 Jahren
    • Gemeldet - anzeigen

    Hallo Michael,

    du hast den Doppelpunkt vergessen. Und wenn du so allgemein Dokumente nimmst, werden die Häckchen bei allen Dokumenten gesetzt. Vielleicht solltest du eingrenzen:

    Dokumente[ text(Dokumentenart)="Personalausweis"].('Wiedervorlage angelegt?' := true)
    

    Leo

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

    Hallo Leonid,

     

    super funktioniert tadellos.

     

    Deine Bemerkung haben dazu geführt, dass ich noch etwas anderes in Abhängigkeit der Dokumentenart und der zugeordneten Person abfragen möchte. Es ist das Gültigkeitsdatum des Dokuments.

    Ausschnitt:

    let my := this;let myFrist := first(select Vorgaben).WV6;let myDatePerSo := "";let myDateReise := "";let myDateFuehr := "";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');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 docase "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ß":    (        let newWV := (create Wiedervorlage);        let myWVDate := date(myDateReise) - number(myFrist);        newWV.('Fällig am:' := myDateReise);        newWV.('WVL-Datum:' := myWVDate);        newWV.(Status := 12);        newWV.(Modul := 7);        newWV.('Text (mehrzeilig)' := "Die Gültigkeit des Reisepasses läuft am " + myDateReise + " aus. Bei der ausstellenden Behörde einen Ersatz beantragen. ");        popupRecord(newWV);        Dokumente[text(Dokumentenart) = "Reisepaß"].('Wiedervorlage angelegt?' := true)    )case "Führerschein":    (        let newWV := (create Wiedervorlage);        let myWVDate := date(myDateFue

     

    definiere ich die Variablen myDatePerSo, myReise und myFuehr wie oben dargestellt, wird die Wiedervorlage mit den korrekten Daten  newWV.('Fällig am:' := myDatePerSo); newWV.('WVL-Datum:' := myWVDate); bestückt. Allerdings ist die Variable dann mit den Werten einer Person besetzt.

     

    Versuche ich das in eine if Anweisung oder einen Cursor zu legen, bleiben die Felder leer, siehe unten

     

    Den Curser, der die Gültigkeitsdaten ermitteln soll ist noch nicht für alle Varianten ausgeprägt.

     

    let my := this;let myFrist := first(select Vorgaben).WV6;let myDatePerSo := "";let myDateReise := "";let myDateFuehr := "";let myUser := dialog("Wiedervorlage", "Für wen soll eine Wiedervorlage angelegt werden?", ["Ursula", "Moritz", "Michael", "Abbruch"]);switch myUser docase "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 "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 docase "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ß":    (        let newWV := (create Wiedervorlage);        let myWVDate := date(myDateReise) - number(myFrist);        newWV.('Fällig am:' := myDateReise);        newWV.('WVL-Datum:' := myWVDate);        newWV.(Status := 12);        newWV.(Modul := 7);        newWV.('Text (mehrzeilig)' := "Die Gültigkeit des Reisepasses läuft am " + myDateReise + " aus. Bei der ausstellenden Behörde einen Ersatz beantragen. ");        popupRecord(newWV);        Dokumente[text(Dokumentenart) = "Reisepaß"].('Wiedervorlage angelegt?' := true)    )case "Führerschein":    (        let newWV := (create Wiedervorlage);        let myWVDate := date(

     

    Hast Du eine Idee?

     

    Gruß. Michael

Content aside

  • Status Answered
  • vor 2 JahrenZuletzt aktiv
  • 2Antworten
  • 54Ansichten
  • 2 Folge bereits