0

Sammelbrief über Button

Hallo Zusammen, 

wir haben eine Haupttabelle und eine Untertabelle mit Adressen. Nun möchten wir gerne in der Haupttabelle über einen Button eine PDF mit den Adressen der Untertabelle erstellen lassen um mehrere Arbeitsschritte zu automatisieren. 

Aktuell öffnen wir die erste Adresse in der Untertabelle, klicken auf das Drucksymbol oben rechts, danach auf "Drucken - Alle", speichern diese SammelPDF auf dem Computer ab und laden diese im Anhang der Haupttabelle wieder hoch.

Danke für eure Hilfe :)

8 Antworten

null
    • Ninox-Professional
    • planoxpro
    • vor 2 Jahren
    • Gemeldet - anzeigen

    Hallo Paul, wenn ich das Vorhaben richtig verstehe, dann könntet ihr in der Haupttabelle ein Drucklayout namens "Adressliste" oder so erstellen und dort die Untertabelle mit den Adressen platzieren/anpassen. Dann ebenfalls in der Haupttabelle einen Button mit folgender Code-Zeile erstellen:

    importFile(this, printAndSaveRecord(this, "Adressliste"), "Adressliste.pdf")
    
    • + Maßanzug statt Massenware +
    • RonaldP
    • vor 2 Jahren
    • Gemeldet - anzeigen

    Moin Paul Krümmling

    Ich war schon kurz davor meinen Post mit dem selben Ansatz wie planox. pro , dann machte mich aber der Titel "Sammelbrief über Button" stutzig und ich habe nochmal getestet was raus kommt, wenn ich in der Untertabelle auf Drucken und "alle" klicke (mache ich eher seltenst 😉). Damit bekomme ich ein PDF mit x Seiten, eine Seite je Datensatz in der Untertabelle.

    Für einen Sammel-/Serienbrief macht es meiner Meinung nach aber noch mehr Sinn für jeden Datensatz ein eigenes PDF zu haben. Da ich dann per sendEmail() jedes PDF zu seinem Bestimmungsempfänger schicken kann.
    Ich hoffe das triff in deinem Anwendungsfall so zu, bzw. ist eine Möglichkeit deine Abläufe noch weiter zu automatisieren...

    Das funktioniert mit diesem Code in einem Button:

    Nee, der stimmt noch nit!

    for i in Untertabelle do
        let myFileName := "Adresse_" + i.Nr + "_vom_" + format(now(), "YYYY-MM-DD_hh-mm") + ".pdf";
        importFile(this, printAndSaveRecord(this, "Rechnung"), i.myFileName);
        i.myFileName
    end

    In der Zeile 2 kannst du den Dateinamen des PDFs zusammenstellen, aktuell kommt hier sowas raus: "Adresse_23_vom_2022-10-03_10-28.pdf"
    Wobei für einen Empfänger etwas mit Namen usw. wahrscheinlich ansprechender wäre.

    VG Ronald

    • + Maßanzug statt Massenware +
    • RonaldP
    • vor 2 Jahren
    • Gemeldet - anzeigen

    Paul Krümmling
    So, dieser Code erzeugt bei mir für jedenDatensatz in der Untertabelle ein eigenes PDF im Datensatz der Haupttabelle. 😉

    for i in Untertabelle do
        let myFileName := "Adresse_" + i.Name + "_vom_" + format(now(), "YYYY-MM-DD_hh-mm") + ".pdf";
        importFile(this, printAndSaveRecord(i, "DRUCKLAYOUT"), myFileName)
    end
      • Paul_Krummling
      • vor 2 Jahren
      • Gemeldet - anzeigen

      DIGITOOL Hallo, super, das geht schon in die richtige Richtung. Wir möchten es jedoch nicht einzeln per Mail versenden, sondern ausdrucken und oldschool per Post versenden. Daher können gerne alle Seiten in einer PDF sein. Kannst du mir hierbei nochmal helfen? :)

      • + Maßanzug statt Massenware +
      • RonaldP
      • vor 2 Jahren
      • Gemeldet - anzeigen

      Paul Krümmling 

      das hatte ich befürchtet 😁 und ich kenne noch keinen Befehl um die Funktion "Drucken für alle" für ein Pdf auszuführen. Aber ich lerne gerne dazu 😉.
      Als Stichwort fällt mir noch Carbone ein.

      Für was willst du denn das PDf im Datensatz der Haupttabelle speichern? Zur Dokumentation?

      VG Ronald

      • Paul_Krummling
      • vor 2 Jahren
      • Gemeldet - anzeigen

      DIGITOOL Richtig, zur Dokumentation

    • Ninox-Professional
    • planoxpro
    • vor 2 Jahren
    • Gemeldet - anzeigen
    DIGITOOL said:
    Für was willst du denn das PDf im Datensatz der Haupttabelle speichern?

    Das habe ich mich auch gefragt (nachdem ich das Vorhaben verstanden hatte). Zumal die Datei je nach Anzahl der Adressen ja auch auch relativ groß sein dürfte. Zur Dokumentation, wer diesen Brief bekommen hat, könnte man statt dessen ja auch eine Untertabelle anlegen.

    Nur so als Idee.  

      • Paul_Krummling
      • vor 2 Jahren
      • Gemeldet - anzeigen

      planox. pro Zur weiteren Dokumentation ist im Code vorgesehen, dass der Status im Datensatz der Untertabelle geändert wird. Den Code habe ich schon, fehlt mir sozusagen nur noch die Automation der Einzelschritte: 

      - irgendeinen Datensatz der Untertabelle öffnen

      - auf das Drucksymbol klicken

      - "alle drucken" auswählen

      - pdf auf Computer speichern

      - in der Haupttabelle wieder hochladen

      - Button "Status ändern" drücken, um den Status der Datensätze der Untertabelle zu ändern

Content aside

  • vor 2 JahrenZuletzt aktiv
  • 8Antworten
  • 89Ansichten
  • 4 Folge bereits