Funktion funktioniert bei Aufruf über einen Button, aber nicht als Trigger nach Änderung
Die nachfolgende Funktion wird korrekt ausgeführt, wenn ich sie aus einem Button starte.
Wenn die gleiche Funktion aber über einen Trigger nach Änderung des Feldes 'Beginn erste Tagung' aufgerufen wird, funktioniert sie nicht.
Hat jemand eine Idee, wo das Problem stecken könnte?
let VDate := number(year('Beginn Erste Tagung'));
let VJahreszahl := first(select Tagungsjahre where Jahreszahl = VDate).Nr;
let VAkadmie := 'Durchführender Standort'.Akademie;
let VBudget := first(select Budgets where Akademien = VAkadmie and 'Budget für' = VJahreszahl);
Budgets := VBudget
7 Antworten
-
Hallo Bernd. Welche Aktion löst denn den Trigger aus? Händische Eingabe des Datums, oder ist es eine getriggerte/automatische Datumseingabe durch einen Tabellentrigger? Mirko
-
- Es eine automatische, getriggerte Änderung das Datums. Aber es funktioniert auch nicht, wenn ich das Datumsfeld manuell ändere.
-
Schreibe doch bitte mal die ersten vier Zeilen in ein Funktionsfeld und füge als 5. Zeile
debugValueInfo(VDate)+debugValueInfo(VJahreszahl)+debugValueInfo(VAkadmie)+debugValueInfo(VBudget)
ein und poste das Resultat.
Welche Feldart ist in der Tabelle Budgets das Feld "Akademien"?
Welche Feldart ist "Budgets"?
-
Grundsätzlich kann ein Trigger keinen weiteren Trigger auslösen.
Probiere es mal mit:
Budgets := number(vBudget)
Ein API-Request auf einen Link gibt immer eine Zahl zurück.
Der Unterschied zwischen Button und Trigger ist der Ausführungsort.
Button Scripte werden immer Rechnerseitig ausgeführt.
Trigger Scripte immer auf Seiten des Servers, wenn es aus dem Browser erfolgt.
Mit der App sieht es wieder anders aus, was alert() und dialog() im Trigger beweisen.
Mehrheitlich versteht Ninox die Zuordnung eines Links mit einem nid.
Aber manchmal ist doch das reine Zahlenformat erforderlich.
Deshalb lass ich persönlich die Hände weg von Konstrukten wie:
let me := this;
Verknüpfung := me
Und nutze statt dessen:
Verknüpfung := number(me)
Damit bin ich immer auf der sicheren Seite
Sollte das nicht funktionieren, müsste man sich die Datenbank genauer ansehen und auch speziell, wie das Feld 'Beginn erste Tagung' befüllt wird.
Content aside
- Status Answered
- vor 2 MonatenZuletzt aktiv
- 7Antworten
- 71Ansichten
-
4
Folge bereits