0

void ?

Hallo,
in meine Script wird immer ein void angehängt in zeile 5 ??? was hat da zu bedeuten?

 

let my := this;
if Kontakte and 'Tätigkeiten' then
if my.Kontakte.'Mitarbeiter-Konditionen'[my.PROJEKTE.'Kunde Auswählen' = 'Sonderpreis für Kunde (optional)' and Kontakte = my.Kontakte and 'Tätigkeiten' = my.'Tätigkeiten' and 'Gültig ab' <= my.Datum and (not 'Gültig bis (optional)' or 'Gültig bis (optional)' >= my.Datum)] then
let myMK := Kontakte.'Mitarbeiter-Konditionen'[my.PROJEKTE.'Kunde Auswählen' = 'Sonderpreis für Kunde (optional)' and Kontakte = my.Kontakte and 'Tätigkeiten' = my.'Tätigkeiten' and 'Gültig ab' <= my.Datum and (not 'Gültig bis (optional)' or 'Gültig bis (optional)' >= my.Datum)];
void
else
let myMK := first(select 'Mitarbeiter-Konditionen' where Kontakte = my.Kontakte and 'Tätigkeiten' = my.'Tätigkeiten' and 'Gültig ab' <= my.Datum and (not 'Gültig bis (optional)' or 'Gültig bis (optional)' >= my.Datum));
my.(
Preis := myMK.Preis;
Lohnart := myMK.Lohnart
)
end;

6 Antworten

null
    • Leonid_Semik
    • vor 4 Jahren
    • Gemeldet - anzeigen

    Hallo Michael,

    if then else end erwartet eine reäle Aktivität z.B. if a<B then FeldC:=3 else FeldC:=4 end.

    let() ist eine "virtuelle" Zuweisung. Wenn nach let nichts weiteres kommt, schreibt Ninox void dazu. Das bedeutet sowas wie  "keine Aktivitäten durchführen" .

    In deinem fall müsstest du statt void die passage mit Preis und Lohnart nochmals ausführen. 

    Ich kenne dein Datenmodell nicht aber die Bedingungen scheinen mir viel zu kompliziert geschrieben.

     

    Leo

    • Micha
    • vor 4 Jahren
    • Gemeldet - anzeigen

    Hallo Leo,

    ok wenn ich das richtig verstanden hab ist let myMK... leer auch meine Abfrage liefert kein Ergebnis.

    dann müsste ich let() nur vor der Abfrage definieren, oder?

    let myMK := Null funktioniert aber nicht ?

    • Torsten_Stang.1
    • vor 4 Jahren
    • Gemeldet - anzeigen

    Hallo Michael,

     

    let myMK := null sollte schon gehen.

     

    lg, Torsten

    • Leonid_Semik
    • vor 4 Jahren
    • Gemeldet - anzeigen

    Ich würde es anders machen. Angenommen, deine Bedingungen funktionieren:

    ---

    let my := this;
    if Kontakte and 'Tätigkeiten' then

    let myMK :=

    if my.Kontakte.'Mitarbeiter-Konditionen'[my.PROJEKTE.'Kunde Auswählen' = 'Sonderpreis für Kunde (optional)' and Kontakte = my.Kontakte and 'Tätigkeiten' = my.'Tätigkeiten' and 'Gültig ab' <= my.Datum and (not 'Gültig bis (optional)' or 'Gültig bis (optional)' >= my.Datum)] then

    Kontakte.'Mitarbeiter-Konditionen'[my.PROJEKTE.'Kunde Auswählen' = 'Sonderpreis für Kunde (optional)' and Kontakte = my.Kontakte and 'Tätigkeiten' = my.'Tätigkeiten' and 'Gültig ab' <= my.Datum and (not 'Gültig bis (optional)' or 'Gültig bis (optional)' >= my.Datum)]

    else

    first(select 'Mitarbeiter-Konditionen' where Kontakte = my.Kontakte and 'Tätigkeiten' = my.'Tätigkeiten' and 'Gültig ab' <= my.Datum and (not 'Gültig bis (optional)' or 'Gültig bis (optional)' >= my.Datum))

    end;

    my.(
    Preis := myMK.Preis;
    Lohnart := myMK.Lohnart
    )

    end;

    • Leonid_Semik
    • vor 4 Jahren
    • Gemeldet - anzeigen

    Oh sorry:

    ---

    let my := this;

    let myMK := if Kontakte and 'Tätigkeiten' then

    if my.Kontakte.'Mitarbeiter-Konditionen'[my.PROJEKTE.'Kunde Auswählen' = 'Sonderpreis für Kunde (optional)' and Kontakte = my.Kontakte and 'Tätigkeiten' = my.'Tätigkeiten' and 'Gültig ab' <= my.Datum and (not 'Gültig bis (optional)' or 'Gültig bis (optional)' >= my.Datum)] then

    Kontakte.'Mitarbeiter-Konditionen'[my.PROJEKTE.'Kunde Auswählen' = 'Sonderpreis für Kunde (optional)' and Kontakte = my.Kontakte and 'Tätigkeiten' = my.'Tätigkeiten' and 'Gültig ab' <= my.Datum and (not 'Gültig bis (optional)' or 'Gültig bis (optional)' >= my.Datum)]

    else

    first(select 'Mitarbeiter-Konditionen' where Kontakte = my.Kontakte and 'Tätigkeiten' = my.'Tätigkeiten' and 'Gültig ab' <= my.Datum and (not 'Gültig bis (optional)' or 'Gültig bis (optional)' >= my.Datum))

    end

    end;

    my.(
    Preis := myMK.Preis;
    Lohnart := myMK.Lohnart
    )

    ---

    Leo

    • Micha
    • vor 4 Jahren
    • Gemeldet - anzeigen

    Super danke funktioniert... hab nur die Bedienung noch ändern müssen.

     

    DANKE

Content aside

  • vor 4 JahrenZuletzt aktiv
  • 6Antworten
  • 1289Ansichten