0

Carbon extrem langsam

Hallo Leute,

ich steige immer weiter in die Nutzung von Ninox ein, und nun brauche ich inzwischen auch regelmäßig die Erstellung von PDF Dateien, via Carbon.

Dabei fällt mir nun auf, dass es manchmal extrem lange dauert, bis ich die Datei zurück erhalte. Also ich klicke einen Button, und es vergehen bestimmt 30 Sekunden oder sogar 1 Minute, da läuft der Spinner, und dann irgendwann, man denkt schon an einen Fehler, ist das file da.

Es scheint mir auch immer bei dem "ersten" Aufruf (an einem Tag?) besonders lange zu dauern. Widerholte Aufrufe gehen dann schon etwas schneller.

Meine Frage:

Ist das bei euch ähnlich?

und

Kann/darf man den Prozess bzw. das Script auch in ein "do as server / bzw do as transaction" packen? Oder ist das aus irgendwelchen Gründen nicht zu empfehlen?

Thx

12 Antworten

null
    • Arwin_Dustdar.1
    • vor 1 Jahr
    • Gemeldet - anzeigen

    Ok, do as server/transaction habe ich gerade ausprobiert. Läuft nicht. Und gestoppte Zeit waren jetzt ca. 10-12 Sekunden für 1 PDF File 

    Länger dauert es, bis zu 50 Sekunden, wenn ein Verweis nicht gefüllt ist.

    • UweG
    • vor 1 Jahr
    • Gemeldet - anzeigen

    Es kommt vor, dass beim vereinfachten den Druck (Variablenname = Feldname) es manchmal etwas dauert. Am besten, man erstellt den JSON-Body selbst und verzichtet auf den vereinfachten dyn. Druck.

      • Arwin_Dustdar.1
      • vor 1 Jahr
      • Gemeldet - anzeigen

       vielen Dank. Eine JSON bekomme ich wohl hin, aber wie bringt man die nach carbon? Im Moment läuft das bei mir mit den Boardmitteln von Ninox. Sind ja nur 2 Zeilen Code, iwie print und dann import file wenn ich mich nicht irre..

      • UweG
      • vor 1 Jahr
      • Gemeldet - anzeigen

       
      Schau mal hier rein: https://forum.ninox.de/t/60ha07w/carbonedyn-drucken_04-tabellen

      Damit sollte man schon die Grundlagen abdecken.
      Es existieren noch weitere Beispiel-DB'en.

      Eine gute Quelle ist auch https://carbone.io/documentation.html wobei man momentan nicht alle Funktionalitäten, die Carbone anbietet, mit dem direkten Druck aus Ninox nutzen kann.

    • Arwin_Dustdar.1
    • vor 1 Jahr
    • Gemeldet - anzeigen

    Danke

    • Arwin_Dustdar.1
    • vor 1 Jahr
    • Gemeldet - anzeigen

    Ich muss das Thema nochmal angehen. Ich habe manchmal Fehlermeldungen der folgenden Art

    und mir ist es ein völliges Rätsel, wie es zu solchen Dimensionen kommen soll?!

    Die Ausgabe einer entsprechenden PDF ist dann (wenn der Fehler nicht kommt!) z.B. 200kb groß. Woher dann mehr als 60MB kommen sollen, kann ich mir nicht erklären.

    UweG ich habe mir deine Beispieldatenbank mal angesehen, und verstehe nicht so recht, was da anders ist, als das was ich mache?

    Auf den Schaltern in deiner DB steht ja nur z.B. 

    printRecord(this, "MS-ChoiceDropTabl_JSON")

    Wo ist denn das JSON selbst?

      • UweG
      • vor 1 Jahr
      • Gemeldet - anzeigen

       
      Man kann den JSON-Body auch ausserhalb des Templates erzeugen und mit übermitteln.
      Das sieht dann wie folgt aus:
      let vBody := {... : ...};
      printRecord(this, "MS-ChoiceDropTabl_JSON", vBody)

      • Arwin_Dustdar.1
      • vor 1 Jahr
      • Gemeldet - anzeigen

       Danke für den Hinweis. 

    • Arwin_Dustdar.1
    • vor 1 Jahr
    • Gemeldet - anzeigen

    Ah, gerade gefunden. Das Script steht im Druckformular. 

    • Arwin_Dustdar.1
    • vor 1 Jahr
    • Gemeldet - anzeigen

    So, ausprobiert und für gut befunden. Ich habe nun mal ausprobiert mit der eigenen JSON Datei und das scheint mir doch etwas performanter zu sein. 
     

    Danke für den Hinweis. 👍

    • Arwin_Dustdar.1
    • vor 1 Jahr
    • Gemeldet - anzeigen

    Also jetzt auch mal 1:1 getestet, und das ist wesentlich schneller, wenn man die JSON selbst mitliefert, statt den Standardworkflow zu nutzen.

    Also getestet habe ich es jetzt genau mit den Daten, die oben den Fehler mit 60MB zurücklieferten, und eben mit der JSON im Druckdialog im Feld "JSON-Dateneingabe"

    Der Fehler ist weg, und insgesamt gehen die Drucke (Dateierzeugungen) weesentlich schneller.

      • UweG
      • vor 1 Jahr
      • Gemeldet - anzeigen

       
      Man sollte beim dyn. Print auf den vereinfachten Print verzichten und immer den JSON-Body mit den zu druckenden Daten selbst erstellen.