Anleitung Rechnung automatisch ausdrucken

Thema wurde von Petra, 13. Januar 2013 erstellt.

  1. Petra

    Petra G-WARD 2013/14/15

    Registriert seit:
    27. August 2011
    Beiträge:
    6.998
    Danke erhalten:
    1.225
    Danke vergeben:
    227
    Guten Abend, liebe Gemeinde...

    gibt es eigentlich irgendeine Möglichkeit, dass der Shop Rechnungen (die einen bestimmten Bestellstatus haben) automatisch generiert und ausdruckt? Ich kann mir nicht vorstellen, dass andere Shops mit hohem Bestellaufkommen die Rechnungen auch auf Knopfdruck ausdrücken müssen.
     
  2. Dennis (MotivMonster.de)

    Dennis (MotivMonster.de) G-WARD 2013/14/15/16

    Registriert seit:
    22. September 2011
    Beiträge:
    31.166
    Danke erhalten:
    6.199
    Danke vergeben:
    1.101
    Beruf:
    Mann für alles :)
    Ort:
    Weilburg
    stimmt wäre schon cool, wenn man alle makierten wenigstens in ein PDF erstellen könnte. ETwa so wie bei den neuen Versandmodulen.
     
  3. Anonymous

    Anonymous Erfahrener Benutzer

    Registriert seit:
    13. Juni 2011
    Beiträge:
    695
    Danke erhalten:
    139
    Danke vergeben:
    138
    .. mir würde schon reichen, dass mit einem Klick 2x Rechnung und 1x Lieferschein rauskommt ;)
     
  4. Dennis (MotivMonster.de)

    Dennis (MotivMonster.de) G-WARD 2013/14/15/16

    Registriert seit:
    22. September 2011
    Beiträge:
    31.166
    Danke erhalten:
    6.199
    Danke vergeben:
    1.101
    Beruf:
    Mann für alles :)
    Ort:
    Weilburg
    das mit dem 2x rechnung haben wir bei uns über den druckertreiber gelst. den drucker ein 2. mal installieren und da als standard 2 kopen hinterlegen.
    Nutzen wir bei unserem Kassensystem so für rechnungen und lieferscheine.
     
  5. Anonymous

    Anonymous Erfahrener Benutzer

    Registriert seit:
    13. Juni 2011
    Beiträge:
    695
    Danke erhalten:
    139
    Danke vergeben:
    138
    Super Idee Dennis! - genial einfach, aber leider arbeiten wir im Netz mit 3 Druckern und haben oft unterschiedliche Medien zu bedrucken...an das Abfallpapier/Folie/Etiketten will ich gar nicht denken :)
     
  6. Dennis (MotivMonster.de)

    Dennis (MotivMonster.de) G-WARD 2013/14/15/16

    Registriert seit:
    22. September 2011
    Beiträge:
    31.166
    Danke erhalten:
    6.199
    Danke vergeben:
    1.101
    Beruf:
    Mann für alles :)
    Ort:
    Weilburg
    naja ich denke wir haben als Copy-Shop / Druckerei bischen mehr als 3 Drucker bei uns. Aber wir nutzen halt immer den selben für Kassen-Ausdrucke. Ist einer unserer Kunden-Farbkopierer.
    Was z.B. interesant ist. Kleiner Laserdrcker für 100 EUR und vorbedrucktes Briefpapier, so das s/w Druck ausreicht. Evtl. einen mit 2 A4 Fächern, dann kannst da sogar die Etiketten einlegen.
    Geht natürlich dennoch nix über den Vorteil alle Aufträge auf einmal als Rechnung zu erstellen.
     
  7. Avenger

    Avenger G-WARD 2012/13/14/15

    Registriert seit:
    26. April 2011
    Beiträge:
    4.771
    Danke erhalten:
    1.478
    Danke vergeben:
    89
    Diese Aufgabenstellung hat mich mal wieder gereitzt :cool:....

    Habe das mal umgesetzt, natürlich updatesicher....

    Um nicht in den Quellcode der "admin/orders.php" eingreifen zu müssen, baue ich mit Hilfe eines "Overload"-Moduls für "AdminApplicationBottomExtenderComponent" per Javascript ein paar zusätzliche Buttons in die "Orders"-Seite ein, das sieht dann so aus:

    orders.gif


    Diese neuen Buttons aktivieren statt der "admin/gm_pdf_order.php" eine "admin/pt_gm_pdf_order.php", die in der Lage ist, mehrere "order_ids" zu empfangen, und die dann abarbeitet.

    In der Bestellseite kann man dann mit den "Checkboxen" die Bestellungen wählen (evtl. nach vorheriger Auswahl eines Bestellstatus'), die man bearbeiten will, und das dann mit dem entsprechenden Button absenden.

    orders_selection.gif

    (Diese ausgewählten "order_ids" werden auch per Javascript ermittelt, und übergeben.)

    Im Gegensatz zur "admin/gm_pdf_order.php", die die PDFs nicht archiviert, werden diese jetzt permanent gespeichert.

    Die Rechnungen im Verzeichnis "admin/_invoice", die Lieferscheine im Verzeichnis "admin/_packingslip" (diese beiden Verzeichnisse brauchen die Rechte "777").

    Um das versehentliche mehrfache automatische Versenden von Rechnungen per eMail zu verhindern, kann man das im automatischen Modus nur ein Mal machen, Wiederholungen können dann nur noch wie bisher im Einzelmodus ausgeführt werden.

    Um diese Absicherung zu ermöglichen, mit PHPMyAdmin folgenden SQL-Befehl auf die Datenbank anwenden:

    PHP:
    ALTER TABLE `ordersADD `multi_invoice_mail_doneTINYINTNOT NULL DEFAULT '0';
    Nach dem "Klick" auf den gewünschten Button wir ein neues Fenster geöffnet, in dem Statusmeldungen bezüglich der verarbeiten Bestellungen angezeigt werden.

    Den Inhalt des beigefügten Archivs in die Shop-Root kopieren und Cache leeren.

    Wie immer gilt:

    Anwendung des Moduls ausschließlich auf eigene Gefahr des Anwenders.

    Eine Gewährleistung jeglicher Art ist ausgeschlossen
     

    Anhänge:

  8. Dennis (MotivMonster.de)

    Dennis (MotivMonster.de) G-WARD 2013/14/15/16

    Registriert seit:
    22. September 2011
    Beiträge:
    31.166
    Danke erhalten:
    6.199
    Danke vergeben:
    1.101
    Beruf:
    Mann für alles :)
    Ort:
    Weilburg
    und dann bretterst du so was geniales dahin? Hammer.
    Werd das später gleich mal installieren sobald bischen Luft habe. Aber wie ich dich kenne wird das sicher funktionieren.
     
  9. Manni_HB

    Manni_HB G-WARD 2012/13/14/15

    Registriert seit:
    26. April 2011
    Beiträge:
    9.098
    Danke erhalten:
    1.540
    Danke vergeben:
    909
    Ort:
    Bremen
    Die neuen Button wollten einfach nicht erscheinen ... irgendwas mag er mit der Ordnersuche in der "pt_multi_invoice_print.js.php" nicht?!
    Lege ich einen Ordner "../templates/common/javascript/" an & kopiere das "pt_multi_invoice_print.js.php" dort rein .... funktioniert es.
     
  10. Manni_HB

    Manni_HB G-WARD 2012/13/14/15

    Registriert seit:
    26. April 2011
    Beiträge:
    9.098
    Danke erhalten:
    1.540
    Danke vergeben:
    909
    Ort:
    Bremen
    Upps ... die erste Rechnung sieht ja noch sehr aus ... aber die Folgenden - siehe Bild.
     

    Anhänge:

  11. HolgerNils (xycons.de)

    HolgerNils (xycons.de) G-WARD 2013/2014

    Registriert seit:
    29. Oktober 2011
    Beiträge:
    1.985
    Danke erhalten:
    470
    Danke vergeben:
    369
    Wieder mal ein Kracher! Vielen Dank!!!
     
  12. Avenger

    Avenger G-WARD 2012/13/14/15

    Registriert seit:
    26. April 2011
    Beiträge:
    4.771
    Danke erhalten:
    1.478
    Danke vergeben:
    89
    Da gab es ein Problem, ist im angefügten Archiv behoben...
     

    Anhänge:

  13. Avenger

    Avenger G-WARD 2012/13/14/15

    Registriert seit:
    26. April 2011
    Beiträge:
    4.771
    Danke erhalten:
    1.478
    Danke vergeben:
    89
    Auch das ist in dem neuen Archiv behoben.....

    Da mussten einige Daten für jeden Durchlauf reinitialisiert werden.....
     
  14. Manni_HB

    Manni_HB G-WARD 2012/13/14/15

    Registriert seit:
    26. April 2011
    Beiträge:
    9.098
    Danke erhalten:
    1.540
    Danke vergeben:
    909
    Ort:
    Bremen
    Schon besser jetzt!

    Kam bei meinen Versuchen auf andere Art zu einem ähnlichen Ergebnis.
    Nur dass ich alle PDFs in nur einen Ordner erstellte ... haben ja verschieden Namen.

    Denn - es sollen ja alle PDFs mit einem Klick gedruckt werden - sonst nützt die ganze Übung ja nix.

    Dazu habe ich den "PDFMerger" installiert: http://pdfmerger.codeplex.com/
    Mit dem "FPDI" Gedöhns: http://www.setasign.de/products/pdf-php-solutions/fpdi/downloads/
    Alles kein Hexenwerk ... und funktioniert sehr schön ... schraubt alle PDFs zu nur einem zusammen ... sendet es an den Browser ... Button "Drucken" - UND FERTISH!

    Kleiner Schönheitsfehler ist:
    Dies kleine Script...
    PHP:
    <?php
    include 'PDFMerger.php';

    $pdf = new PDFMerger;

    $pdf->addPDF('samplepdfs/ihr_lieferschein.pdf''all')
        ->
    addPDF('samplepdfs/ihre_rechnung.pdf''all')
        ->
    addPDF('samplepdfs/ihre_rechnung-2.pdf''all')
        ->
    merge('browser''samplepdfs/TEST2.pdf');
    ?>    
    ... übergibt dem Merger die Filenamen - was in diesem Fall natürlich sinnfrei ist!
    Wenn es gelänge dies umzubauen, das es alle Files des betreffenden Ordners einliest ... würde es gehen.
    Außerdem müsste irgendwo noch eine Option rein, das (wenn gewünscht) die Rechnung 2x gedruckt wird.

    So ... und da ist mein Latein leider am Ende angelangt! <Schäm ON>
     
  15. Petra

    Petra G-WARD 2013/14/15

    Registriert seit:
    27. August 2011
    Beiträge:
    6.998
    Danke erhalten:
    1.225
    Danke vergeben:
    227
    Aber immerhin... ihr seid der Lösung gaaanz nah. :D Wenn es funktionieren würde, dann wäre dies eine immense Arbeitserleichterung.
     
  16. Avenger

    Avenger G-WARD 2012/13/14/15

    Registriert seit:
    26. April 2011
    Beiträge:
    4.771
    Danke erhalten:
    1.478
    Danke vergeben:
    89
    Den können wir auch noch einbauen, macht sicher Sinn.

    Das ist auch kein Problem....

    Soll das auch beim Mailversand und den Lieferscheinen gemacht werden, als Kopie für die eigenen Unterlagen?
     
  17. Manni_HB

    Manni_HB G-WARD 2012/13/14/15

    Registriert seit:
    26. April 2011
    Beiträge:
    9.098
    Danke erhalten:
    1.540
    Danke vergeben:
    909
    Ort:
    Bremen
    Noch´n KleinBug - werden zusätzlich unten erzeugt ... siehe Bild:
     

    Anhänge:

  18. Manni_HB

    Manni_HB G-WARD 2012/13/14/15

    Registriert seit:
    26. April 2011
    Beiträge:
    9.098
    Danke erhalten:
    1.540
    Danke vergeben:
    909
    Ort:
    Bremen
    Wie unterschiedlich doch Ansichten sein können!!

    Am besten irgendwo ein/zwei Konstante rein ... dann ist man auf er sicheren Seite. (Wer weiss schon so genau, was manche für´ne Buchhaltung haben:D)
     
  19. Avenger

    Avenger G-WARD 2012/13/14/15

    Registriert seit:
    26. April 2011
    Beiträge:
    4.771
    Danke erhalten:
    1.478
    Danke vergeben:
    89
    Ooops, interessant....

    Gleich kommt eine neue Version, da ist das behoben.
     
  20. Avenger

    Avenger G-WARD 2012/13/14/15

    Registriert seit:
    26. April 2011
    Beiträge:
    4.771
    Danke erhalten:
    1.478
    Danke vergeben:
    89
    So, habe Manfreds Anregung aufgegriffen und eingebaut, jetzt haben wir eine schnuckelige Applikation für den Druck/Versand mehrerer Rechnungen/Lieferscheine. :cool:

    Bei den Buttons gibt es jetzt zusätzlich ein Feld, in dem man die gewünschte Anzahl der zu drucken den Kopien angeben kann (beim Wert 0 wird nicht gedruckt).

    orders.gif

    Wenn Kopien gedruckt werden sollen, wird am Ende der Verarbeitung mit dem PDFMerger ein einziges PDF-Dokument aus allen verarbeiteten PDFs erstellt, und im Verzeichnis "admin/_cache" gespeichert (das man daher ab und an mal leeren sollte)....

    In dem Status-Fenster gibt es jetzt zusätzlich den Button "Dokumente drucken", mit dessen Hilfe die erstellten Dokumente ausgedruckt werden können.

    orders_status.gif

    Nach dem anklicken dieses Buttons wird dann gleich der Druckauswahl-Dialog angezeigt, so dass man noch nicht mal mehr den Druck anwählen muss.....

    orders_print.gif

    Diese automatische Druckaktivierung erforderte eine ganze Reihe von Änderungen am PDF-Merger und zugrunde liegenden Klassen, da das nur über die Einschleusung von Javascript-Code in das PDF möglich ist.
     

    Anhänge: