0

Druckansicht/PDF bei neuem Datensatz automaisch erstellen

Ich möchte beim Anlegen von neuen Datensätzen automatisch eine Druckansicht/ein PDF erstellen und ablegen. Dazu habe ich ein Script, das schaut etwa so aus:

importFile(this, printAndSaveRecord(this, "Druckansicht"), "Druckansicht.pdf");

Wenn ich das Script an einen Button hängt, funktioniert das problemlos. Wenn ich das aber unter "Bei neuem Datensatz folgendes Script ausführen" hinterlege, passiert gar nichts.

Ich habe schon andere Scripte dort testweise eingebaut, z.B. Felder manipulieren, das klappt problemlos. Nur das Drucken/Speichern geht nicht.

Hat jemand eine Idee warum nicht, bzw. gibt es einen anderen Weg, für alle neuen Datensätze automatisiert ein PDF zu erstellen?

7 Antworten

null
    • T_Bartzsch
    • vor 3 Jahren
    • Gemeldet - anzeigen

    Soll denn das zu erzeugende PDF nicht mit Daten aus dem neu angelegten Datensatz befüllt werden? Dieser wäre ja beim erstellen erst noch leer - und das PDF unter Umständen auch...

    • red_light
    • vor 3 Jahren
    • Gemeldet - anzeigen

    Ja klar, es müssten die Daten des neuen Datensatz verwendet werden. Zumindest wenn ich den Datensatz über die API "auf einen Rutsch" anlege, funktioniert der Zugriff auf die neuen Daten auch bereits, wenn ich im Script testweise Felder manipuliere. Nur leider hat importFile... etc. keine Wirkung.

    • T_Bartzsch
    • vor 3 Jahren
    • Gemeldet - anzeigen

    Ah ok... ich habe es ausrobiert, bei mir geht es auch nicht. Weder bei "Neu" noch bei "Nach Änderung" - Warum das nicht funktioniert kann ich leider auch nicht sagen, da müsste man mal einen Entwickler fragen, Birger oder so.... 

    Schießt Du die Daten denn generell via API in die Ninox oder werden die auch manuell angelegt? Man könnte ja über einen workaround nachdenken... Man könnte zB einen Schalter "Neu angelegt" erstellen, den man bei neuen Datensätzen auf Ja setzt und dann einmal täglich/wöchentlich/usw. via Button abfragt

    BUTTON

    for p in select DEINETABELLE where "Neu angelegt" = 1 do

    p.(importFile(this, printAndSaveRecord(this, "Druckansicht"), "Druckansicht.pdf");)

    end

    • T_Bartzsch
    • vor 3 Jahren
    • Gemeldet - anzeigen

    Natürlich muss dann noch in der Schleife jeweils der "Neu angelegt" auf null gesetzt werden... 

    • red_light
    • vor 3 Jahren
    • Gemeldet - anzeigen

    Danke fürs ausprobieren. Ich würde diese Daten generell per API anlegen.

    Der Workaround klingt interessant, dann müsste aber jemand manuell den Button drücken, richtig? Oder kann ich den auch per API ausführen? Ich brauche das PDF zeitnah nach Anlage des Datensatzes, um es per API wieder abzuholen.

    • T_Bartzsch
    • vor 3 Jahren
    • Gemeldet - anzeigen

    Ich weiß nicht, ob solche scripte über die API getriggert werden können. Ich mache zwar auch einiges an API Sachen, aber eher von NINOX raus an andere Datenbanken. Gehst Du über Integromat?

    • red_light
    • vor 3 Jahren
    • Gemeldet - anzeigen

    Integromat kannte ich bisher nicht, sieht aber interessant aus. Danke. Ich machte das selbst in Python oder PHP.

    Das mit dem Drucken/PDF geht aber wohl zumindest schon deshalb über die API nicht, weil die Druckfunktion wohl clientseitig im Browser läuft. Bei einem API-Aufruf ist ja kein Browser im Spiel. Warum das dann aber auch im Browser bei direkter Nutzung nicht geht, ist mir trotzdem unklar. Würde mir aber sowieso nichts nützen. Insofern müssen wir uns wohl etwas anders überlegen.

Content aside

  • vor 3 JahrenZuletzt aktiv
  • 7Antworten
  • 457Ansichten