printAndSaveRecord / importFile nur manuell möglich?
Hallo!
Ich möchte bei Eingang einer Kurs-Anmeldung (von der Website über eine API) , dass automatisch eine Rechnung für den Teilnehmer erstellt wird. Am liebsten, dass sie auch gleich per Email versendet wird. Aber es hakt noch beim ersten Punkt:
Ich kann problemlos einen Button erstellen in dieser Art:
let myTempFile := printAndSaveRecord(this, myLayout);
importFile(this, myTempFile, myFilename);
Und dann habe ich das Rechnungs-PDF als Anhang im Record.
Aber geht das auch automatisch mit einem Trigger? Also in den Einstellungen der Tabelle bei "Trigger nach Änderung". Wenn ein neuer Datensatz reinkommt, dass dann automatisch das PDF generiert wird und an den neuen Record angehängt wird? Ich habs versucht aber klappt nicht.
Danke für Ideen.
6 Antworten
-
Versuche den Trigger an ein verstecktes Ja/Nein-Feld zu hängen.
Bei erstellen des Datensatzes über die Api schaltest du auch das Ja/Nein-Feld und der Trigger löst aus. Trigger 'Bei neuem Datensatz' wird hier nicht funktionieren, da die Daten ja noch nicht im Record sind wenn der Trigger auslöst. -
Danke Uwe, leider klappt es nicht. Wenn ich das ja/nein Feld manuell ändere löst der Trigger aus und das PDF wird erstellt. Wenn ich es auslösen lasse durch das Speichern vom API Aufruf, dann löst der Trigger auch aus aber es wird kein PDF erstellt.
Daher bleibt meine Vermutung/Frage: ist nicht nicht möglich serverseitig ein PDF zu erstellen?
-
Ich habe den Ninox eigenen Druckeditor noch nie genutzt, deshalb meine vorige Annahme. Wie sich für mich herausgestellt hat, können die Druckfunktionen in Ninox nicht über einen Trigger ausgelöst werden. Auch kann importFile() nicht per Trigger ausgelöst werden. Es funktioniert nur Aktiv über den Button oder einem Funktionsfeld als Button.
Man kann es aber mit Carbone als Druckeditor hinbekommen. Das Erstellen des PDF mit Carbone kann über einen Trigger ausgelöst werden. (Habe ich über Postman getestet) Man kann aus der Carbone-Antwort einen Link mit dem PDF bauen, welches man der Mail anhängt.
Ein anderer Weg ist ein Drittprogramm über einen durch den Trigger ausgelösten Webhook mit allen notwendigen Daten anzusteuern und dieses alle Arbeiten übernehmen zu lassen. Hat zusätzlich den Vorteil, dass man nicht auf die Ninox-eigene Mailadresse angewiesen ist und das von Carbone erstellte PDF über die Api in Ninox speichern kann. Ich persönlich, nutze hierfür n8n.
Wenn man es hosten lässt, kostet es so um die 15€/Monat und man hat keinerlei Beschränkungen in der Anzahl der Anfragen. Das ist günstiger als die Kosten für Integromat/Make. Auch bei n8n kann man OAuth2 Anmeldungen wie zu den Google-Applikationen erstellen. Letztens habe ich eine Verbindung zu Google-Contacts gebaut um mit Ninox Daten auszutauschen. Im Endeffekt sind es immer nur http-Requests wie bei Integromat, nur manchmal nicht so schön verpackt. -
Meines Wissens funktioniert es nur bei dem Ja/Nein-Feld. Ich habe es bei anderen Feld-Typen nicht getestet.Einfach mal mit Postman ausprobieren und sehen was passiert.
Anbei eine Beispiel DB zum testen von Carbone mit Postman und der Vergleich mit dem Ninox-Druckeditor. -
Danke Uwe für deine Ausführungen. Klingt gut aber für meineZwecke Overkill. Ich habe jetzt einfach ein „schickes“ HTML als Rechnung erstellt, das geht dann ganz normal per Mail raus.
Trigger werden übrigens auch serverseitig bei „Änderung“ in den Optionen der Tabelle gestartet, so habe ich es gelöst.
Content aside
-
1
„Gefällt mir“ Klicks
- vor 2 JahrenZuletzt aktiv
- 6Antworten
- 151Ansichten
-
4
Folge bereits