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
-
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
-
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 ? -
Hallo Michael,
let myMK := null
sollte schon gehen.lg, Torsten
-
Ich würde es anders machen. Angenommen, deine Bedingungen funktionieren:
---
let my := this;
if Kontakte and 'Tätigkeiten' thenlet 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)]
elsefirst(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;
-
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
-
Super danke funktioniert... hab nur die Bedienung noch ändern müssen.
DANKE
Content aside
- vor 5 JahrenZuletzt aktiv
- 6Antworten
- 1321Ansichten