Beim öffnen von Ninox (Mac Standalone Version) soll xxx ausgeführt werden
Hallo Ninox Gemeinde,
ich möchte einen automatischen "Zahlung fällig" Rechnungslauf generieren bei jedem öffnen von Ninox.
Klappt nur leider nicht...
in der Tabelle Aufträge habe ich zu jedem Auftrag in einem Datumsfeld die Fälligkeit der Zahlung stehen.
Das möchte ich mit Today vergleichen und wenn überschritten, dann setze Projektstatus = 5 ...
Der Code funktioniert nicht.. es passiert nix
in den Optionnel der Datenbank "Trigger nach Öffnen" hab ich folgenden Code eingesetzt:
let Auftrag := (select 'Aufträge');
if Auftrag.'Zahlung fällig' <= today() and Auftrag.'Rechnung bezahlt' = false then
Auftrag.(Projektstatus := 5)
else
if Auftrag.'Rechnung bezahlt' = true then
Auftrag.(Projektstatus := 3)
end
end
geht leider nicht...
Wenn ich als Test in der Tabelle Aufträge einen Button setze mit folgendem Code funktioniert es für den einzelnen geöffneten Auftrag. Ich möchte es aber für alle beim Öffnen von der Datenbank machen...
if 'Zahlung fällig' <= today() and 'Rechnung bezahlt' = false then
Projektstatus := 5
else
if 'Rechnung bezahlt' = true then
Projektstatus := 3
end
end
was mache ich Falsch? Kann mir da jemand helfen?
2 Antworten
-
Hallo ,
in dem Skript referenzierst Du die gesamte Tabelle Aufträge. Das bedeutet, dass dann jeder einzelne Datensatz entsprechend geprüft werden muss. Dazu kommt dass wenn du für ‚Rechnung bezahlt‘ ein ja/nein Feld benutzt der Standardwert ‚null‘ ist und nicht ‚ Nein‘.
Mit einem for … in Loop können wir jeden Datensatz prüfen, und statt 'Rechnungbezahlt' = false können wir 'Rechnungbezahlt' != true nehmen, was false und null beinhaltet.
Hier das Skript das bei mir in Trigger nach öffnen funktioniert hat:
let jobs := (select Jobs);
for job in jobs do
if job.'Payment due date' <= today() and job.'Payment received' != true then
job.(ProjectStatus := 5)
else
if job.'Payment received' = true then
job.(ProjectStatus := 3)
end
end
end
Content aside
- Status Answered
- vor 1 JahrZuletzt aktiv
- 2Antworten
- 31Ansichten
-
2
Folge bereits