0

Mehrere Formulare in ein PDF drucken (und per Email versenden)

Hallo! 

Ich würde gerne über den Druck auf einen Button, meinem User es ermöglichen, dass automatisch aus mehreren Formularen eine PDF Datei generiert wird, die dann an eine Email angehängt wird. Letzteres ist kein Problem, allerdings kann ich mit z.B. printAndSaveRecord nicht ein Array der Formulare übergeben.

Andere Ideen?

Gruß Andreas

16 Antworten

null
    • Birger_H
    • vor 5 Jahren
    • Gemeldet - anzeigen

    Dies ist möglich. 

    printAndSaveRecord

    fügt je einen pdf hinzu.

    es gibt die Funktion 

    files()

    mit der alle Anhänge als attachment angehöngt werden können.

    Birger

    • Andreas_Pilz
    • vor 5 Jahren
    • Gemeldet - anzeigen

    Hallo Birger!

    leider finde ich keine Doku zu der printAndSaveRecord Funktion. Mir geht es aber darum, dass am Ende and der Email nicht 3 Anhänge dran hängen, sondern lediglich ein PDF, das alle 3 Anhänge enthält.

    Also, z.B. eine Funktion wie 

    attachment := printAndEmailRecord(this._id, ["Form1","Form2","Form3"],"Kunde-{CustID}.pdf");

    Und dann attachment an die Email ran.

    Gruß Andreas

    • Dominik_Eng
    • vor 5 Jahren
    • Gemeldet - anzeigen

    So etwas möchte ich schon lange umsetzten können. Die Frage interessiert mich auch sehr.

    • Birger_H
    • vor 5 Jahren
    • Gemeldet - anzeigen

    dies ist derzeit noch nicht möglich. Wir abreiten daran.

    Birger

    • Schnabma
    • vor 5 Jahren
    • Gemeldet - anzeigen

    Mehrer Formularinhalte in ein PDF drucken wäre auch für mich ein super Funktion. Ansonsten wüste ich nicht, wie ich Daten aus unterschiedlichen Tabellen übersichtlich in einem umfangreichen Bericht darstellen könnte.

    • Alfred
    • vor 5 Jahren
    • Gemeldet - anzeigen

    Ich bin auch sehr interessiert. Andreas Pilz, ist es möglich, dass du dein Skript einmal postest? Ich denke du hast es auf eine Schaltfläche gelegt!? Ich bin noch Anfänger in der Programmierung von Ninox und möchte gern lernen, wie soetwas funktioniert.

    • Andreas_Pilz
    • vor 5 Jahren
    • Gemeldet - anzeigen

    HAllo! Kann ich gerne machen, nur funktioniert es nicht, da Ninox jede der "Seiten" mit dem gleichen Namen versieht, der sich wiederum aus dem Datensatz ableitet. :-( Das Thema ist leider immer noch nicht gelöst. Ich habe auch von Keinem Ninoxler wieder was gehört zu dem Thema.

    Auch nicht, dass man zu einem Datensatz mehrere Templates macht, die dann eben in Serie ausgedruckt werden. Ich benötige sowas, um Vertragsvorlagen für Kunden zu drucken, die über mehrere Seiten gehen, wo immer wieder unterschiedliche Inhalte (aka Datenfelder) in den Text eingesetzt werden.

    Sorry, aber schöne Weihnachten!!!

    • Andreas_Pilz
    • vor 4 Jahren
    • Gemeldet - anzeigen

    Hallo! 

    Gibt es hierzu inzwischen eine Lösung? Zumindest eine Möglichkeit, den Dateinamen zu definieren? Oder gleich ein Array von Formularen in ein File drücken?

    Gruss Andreas

    • Team Lead Customer Service
    • joerg
    • vor 4 Jahren
    • Gemeldet - anzeigen

    Hallo, 

    Danke für die Erinnerung, wir haben es nicht vergessen und hoffen, dieses Feature in naher Zukunft veröffentlichen zu können.

    Vielen Dank für eure Geduld.

    Gruß, Jörg

    • Andreas_Pilz
    • vor 3 Jahren
    • Gemeldet - anzeigen

    Hallo!

    nachdem - dank DSGVO - das Thema wieder interessiert... gibt es Neuigkeiten?

    Gruss Andreas

    • Adam_Wandzioch
    • vor 3 Jahren
    • Gemeldet - anzeigen

    Hallo, das würde mich auch sehr dringend interessieren!

    Gruß.

    Adam.

    • Adam_Wandzioch
    • vor 3 Jahren
    • Gemeldet - anzeigen

    ... zur Erklärung. Und vielleicht hat jemand eine Lösung. In unserem Unternehmen werden am Ende des Monats mehrere Bestellungen ausgedruckt. 
    Mit folgendem Script habe ich es relativ einfach gelöst:

    for i in select 'Klient' do
    if text(i.Status) = "aktiv" then
    printRecord(i, "BESTELLUNG")
    else
    void
    end
    end

    Nervig ist nur, dass nach Ablauf der Schleife mehrere einzelne PDFs geöffnet werden, die dann einzeln ausgedruckt werden müssen. Es kostet einfach viel zu viel Zeit. Wenn jemand eine Möglichkeit kennt diese einzelnen PDFs zu einer einzigen zusammen zu fügen, so wäre ich ihr/ihm sehr dankbar.

    Danke.
    Adam

    • Andreas_Pilz
    • vor 3 Jahren
    • Gemeldet - anzeigen

    +1 für den Dank. Und evtl. auch mit dem "Gimmick" die Dateien gleich per Email zu verschicken.

    Es wäre ja auch eine Lösung denkbar, dies als neue Funktion in der Datenbank zu verankern?

    • Maurice
    • vor 2 Jahren
    • Gemeldet - anzeigen

    Hallo, möchte das Thema auch noch einmal aufgreifen. Ist es denkbar - ähnlich wie beim Ausdruck einer Ansicht -, die Druckdaten erst in eine Hilfstabelle zu schreiben und dort dann eine einzige PDF generieren zu lassen, die alle Einträge der Hilfstabelle enthält. Bin zu wenig Ninox-Crack, um das beurteilen zu können. Ist eine Idee, da ich letztens Ansichten ausdrucken musste, was ja nur über ein Hilfskonstrukt geht - aber es geht.

    https://ninox.com/de/forum/anwendungsbeispiele-5abd0bb14da2d77b6ebfa396/gestalltungsmittel-ansicht-drucken-5de6b333b299a354b4d158bb

    Gruß Maurice

    • UweG
    • vor 2 Jahren
    • Gemeldet - anzeigen

    Nur mit externen Programmen wie PDF-Creator.
    Ninox selbst kann nicht mehrere Dateien zu einer Datei zusammenfassen.

    • Michael_Smit
    • vor 8 Monaten
    • Gemeldet - anzeigen

    Ich habe das Problem mit den vielen Einzel-PDFs über eine Hilfstabelle gelöst. Ich habe eine Tabelle "Print" erstellt und darunter eine Untertabelle "PrintItem" mit den zu druckenden Einträgen gemacht. In diese Untertabelle kopiere ich die gewünschten Datensätze mit den zu druckenden Feldern rein. Eventuell geht es auch direkt über Formeln oder Ansichten, aber das habe ich noch nicht ausprobiert.

    Dann habe ich ein dynamisches Drucklayout für die Tabelle "Print" erstellt. Für dieses Layout verwende ich die Repetitions-Funktion https://docs.ninox.com/en/print/print-customization/repetitions. Ich habe eine Vorlage in Word erstellt, welche ich dann importiert habe. Dabei habe ich eine Tabelle in der gewünschten Größe für einen Datensatz gebaut und immer die Felder von d.PrintItem[i] verwendet. Dann zuletzt noch eine zusätzliche Zeile mit d.PrintItem[i+1], damit das Drucken durch die Elemente durchiteriert.

    Ich habe die Tabelle im Drucklayout so groß gemacht, damit je PrintItem eine Seite entsteht, aber man kann das natürlich auch so gestalten, dass mehrere PrintItems auf eine Seite gehen. Dabei sollte man darauf achten, dass die Seitenwechsel dann entsprechend schön passen.

    Einziger Schönheitsfehler ist, dass ganz am Ende des PDFs eine leere Seite entsteht. Diese kommt vermutlich daher, dass die Zeile mit d.PrintItem[i+1] auf der zweiten Seite steht. Hier habe ich noch keine Lösung gefunden, aber ich habe eine saubere PDF mit allen Einträgen.

Content aside

  • vor 8 MonatenZuletzt aktiv
  • 16Antworten
  • 4379Ansichten
  • 1 Folge bereits