Neuigkeiten
  • Die modified eCommerce Shopsoftware ist kostenlos, aber nicht umsonst.
    Spenden
  • Damit wir die modified eCommerce Shopsoftware auch zukünftig kostenlos anbieten können:
    Spenden
  • Thema: PDFBill Next Lieferschein

    little-key

    • Fördermitglied
    • Beiträge: 111
    • Geschlecht:
    PDFBill Next Lieferschein
    am: 04. November 2020, 14:03:17
    Hallo Leute,

    auf dem Lieferschein wird normal die Lieferanschrift des Kunden ausgegeben. Diese kann ja abweichend von der Kundenanschrift sein.
    Das ist auch alles korrekt.
    Ist der Kunde aber Selbstabholer, steht auf dem Lieferschein bei PDFBill die eigene Firmenanschrift im Kopf drin.
    Das kann ja nicht korrekt sein, zumal in der Vorbereitung in der Firma der Kunde nur mit zusätzlich beiliegender Rechnung abgearbeitet werden kann. Sonst wäre keine Zuordnung möglich.

    Kennt jemand das Problem und hat eine Lösung parat oder weiß an welcher Schraube gedreht werden muss?
    Theoretisch müsste dann ja dort die Kundenadresse stehen.

    Gruß little-key

    Linkback: https://www.modified-shop.org/forum/index.php?topic=41436.0

    awids

    • Experte
    • Beiträge: 3.785
    • Geschlecht:
    Re: PDFBill Next Lieferschein
    Antwort #1 am: 04. November 2020, 19:31:13
    Versuch mal folgendes:

    Öffne die Datei /inc/xtc_pdf_bill.inc.php und suche in Zeile 64 folgendes
    Code: PHP  [Auswählen]
        // Change Adress on Delivery Slip
        if ($deliverSlip === true) {
            $customer_address = xtc_address_format($order->customer['format_id'], $order->delivery, 1, '', '<br>');
        } else {
            $customer_address = xtc_address_format($order->customer['format_id'], $order->billing, 1, '', '<br>');
        }

    Ändere wie folgt

    Code: PHP  [Auswählen]
        // Change Adress on Delivery Slip
        if ($deliverSlip === true) {
            if ($order->info['payment_method'] == 'cash' || $order->info['shipping_method'] == 'selfpickup') {
                $customer_address = xtc_address_format($order->customer['format_id'], $order->billing, 1, '', '<br>');
            } else {
                $customer_address = xtc_address_format($order->customer['format_id'], $order->delivery, 1, '', '<br>');
            }
        } else {
            $customer_address = xtc_address_format($order->customer['format_id'], $order->billing, 1, '', '<br>');
        }

    little-key

    • Fördermitglied
    • Beiträge: 111
    • Geschlecht:
    Re: PDFBill Next Lieferschein
    Antwort #2 am: 04. November 2020, 20:35:37
    Mensch, Du bist Klasse.
    Hat natürlich funktioniert.,
    Ganz lieben Dank.

    Wenn Du mir jetzt noch sagen könntest, wie ich noch die Telefonnummer und E-Mailadresse darunter zufügen könnte und was mir sehr am Herzen liegt, dass irgendwo die ausgewählte Versandart steht.
    Die Versandart kann im rechten grauen Block unter Zahlungsweise (optimal) oder auch ganz unten unter dem Zusatztext erscheinen.
    Wäre ganz toll.

    Lieben Gruß und nochmal vielen Dank.

    awids

    • Experte
    • Beiträge: 3.785
    • Geschlecht:
    Re: PDFBill Next Lieferschein
    Antwort #3 am: 04. November 2020, 21:23:20
    inc/xtc_pdf_bill.inc.php, suche:

    Code: PHP  [Auswählen]
        // Get ibn_billnr, ibn_billdate and customers vat_id
        $sqlOrder = "
        SELECT
            ibn_billnr,
            ibn_billdate,
            customers_vat_id
        FROM "
    . TABLE_ORDERS . "
        WHERE
            orders_id = '"
    . $oID . "'";
        $resOrder = xtc_db_query($sqlOrder);
        $rowOrder = xtc_db_fetch_array($resOrder);
        $order_bill = $rowOrder['ibn_billnr'];
        //$order_billdate = $rowOrder['ibn_billdate'];
        $order_billdate = $date_purchased;
        $order_vat_id = $rowOrder['customers_vat_id'];
       

        // Create Bill Data
        if ($deliverSlip === true) {    
              $pdf->Rechnungsdaten($customers_id, $order_bill, $oID, date("d.m.Y"), $payment_method, $order_vat_id, $deliverSlip);
        } else {
            //$pdf->Rechnungsdaten($customers_id, $order_bill, $oID, xtc_date_short($order_billdate), $payment_method, $order_vat_id, $deliverSlip);
            $pdf->Rechnungsdaten($customers_id, $order_bill, $oID, $order_billdate, $payment_method, $order_vat_id, $deliverSlip);
        }

    ersetze mit:

    Code: PHP  [Auswählen]
        // Get ibn_billnr, ibn_billdate and customers vat_id
        $sqlOrder = "
        SELECT
            ibn_billnr,
            ibn_billdate,
            customers_vat_id,
            customers_telephone,
            customers_email_address,
            shipping_method
        FROM "
    . TABLE_ORDERS . "
        WHERE
            orders_id = '"
    . $oID . "'";
        $resOrder = xtc_db_query($sqlOrder);
        $rowOrder = xtc_db_fetch_array($resOrder);
        $order_bill = $rowOrder['ibn_billnr'];
        //$order_billdate = $rowOrder['ibn_billdate'];
        $order_billdate = $date_purchased;
        $order_vat_id = $rowOrder['customers_vat_id'];
        $customers_telephone = $rowOrder['customers_telephone'];
        $customers_email = $rowOrder['customers_email_address'];
        $shipping_method = strstr($rowOrder['shipping_method'], ' (', true);
       
       
        // Create Bill Data
        if ($deliverSlip === true) {    
              $pdf->Rechnungsdaten($customers_id, $order_bill, $oID, date("d.m.Y"), $payment_method, $shipping_method, $customers_telephone, $customers_email, $order_vat_id, $deliverSlip);
        } else {
            //$pdf->Rechnungsdaten($customers_id, $order_bill, $oID, xtc_date_short($order_billdate), $payment_method, $order_vat_id, $deliverSlip);
            $pdf->Rechnungsdaten($customers_id, $order_bill, $oID, $order_billdate, $payment_method, $shipping_method, $customers_telephone, $customers_email, $order_vat_id, $deliverSlip);
        }

    /includes/classes/FPDF/PdfRechnung.php, suche:

    Code: PHP  [Auswählen]
        function Rechnungsdaten($customers_id, $ibn_billnr, $oID, $orders_date, $payment_method, $UST_ID, $deliverSlip = false)

    ersetze mit:

    Code: PHP  [Auswählen]
        function Rechnungsdaten($customers_id, $ibn_billnr, $oID, $orders_date, $payment_method, $shipping_method, $customers_telephone, $customers_email, $UST_ID, $deliverSlip = false)

    Füge an geeigneter Stelle (z. B. nach "Zahlungsweise" oben rechts im Rechnungsblock) ein:

    Code: PHP  [Auswählen]
    $this->Cell(0, 6, DEINE_VARIABLE_FUER_VERSANDART . ': ' . xtc_utf8_decode(html_entity_decode(strip_tags($shipping_method))), 0, 1, '', 1);

    $this->Cell(0, 6, DEINE_VARIABLE_FUER_TELEFON . ': ' . $customers_telephone, 0, 1, '', 1);

    $this->Cell(0, 6,  DEINE_VARIABLE_FUER_EMAIL . ': ' . $customers_email, 0, 1, '', 1);

    Was nur auf dem Lieferschein stehen soll, musst du natürlich entsprechend zur Bedingung machen:

    Code: PHP  [Auswählen]
    if ($deliverSlip === true) {
     ...
    }

    little-key

    • Fördermitglied
    • Beiträge: 111
    • Geschlecht:
    Re: PDFBill Next Lieferschein
    Antwort #4 am: 05. November 2020, 17:42:35
    @awids
    Nicht nur funktioniert hat das alles, sondern ich habe auch gleich was dazu gelernt, wo ich mich nie ran getraut habe.
    Nun weiß ich auch mit den Zahlen für die Zeilenformatierung etc. umzugehen.

    So etwas ist mir sogar ein Bonus wert, nur weiß ich nicht wie ich an Dich ran komme.
    Ist E-Mail-Weitergabe hier erlaubt?

    Der ganze Shop wird für unsere Firma neu gestaltet und ich weiß jetzt schon, meinem Chef gefällt irgendwas noch nicht
    Gern würde ich Dich daraufhin gern kontaktieren, was nie umsonst sein soll, abe Du bist echt ein Genie.

    Vielen, vielen lieben Dank

    PS. Ich handel mit Teichfischen, vielleicht will der Zufall es und Du bist auch ein Teichfreak.

    Noch nicht vollendet, aber es wird, sie Screeshot:

    awids

    • Experte
    • Beiträge: 3.785
    • Geschlecht:
    Re: PDFBill Next Lieferschein
    Antwort #5 am: 05. November 2020, 18:23:37
    [...]
    So etwas ist mir sogar ein Bonus wert, nur weiß ich nicht wie ich an Dich ran komme.
    [...]

    Spende einfach mal wieder einen Betrag deiner Wahl an das modified-shop-Projekt, dann ist mir das Dank genug.

    Mit dem Modul habe ich schon so einiges machen dürfen, u. a. auch Marktplatzbestelldaten (über den Magnalister) wie Amazon-Bestellnummer, eBay-Nutzername und -bestellnummer mit reinbringen, den Lieferschein so umbauen, dass er eine Storno-Rechnung erzeugt uvm. - da waren deine Wünsche doch ein Klacks.  ;-)

    noRiddle (revilonetz)

    • Experte
    • Beiträge: 13.743
    • Geschlecht:
    Re: PDFBill Next Lieferschein
    Antwort #6 am: 06. November 2020, 17:14:47
    Eigentlich kann man ja im Versandmodul eine Abholadresse eintragen. Diese erscheint auch automatisch auf der checkout_confirmation.php bei Bestellung.
    Bei abgeschlossener Bestellung steht diese Adresse in der order-Class allerdings nicht zur Verfügung (sollte man ändern (Ticket aufmachen ?), man könnte jedoch mittels der im Versandmodul vorhandenen Methode address() (nach vorheriger Instantiierung der Class) die Adresse holen.
    Alternativ kann man auch das Array dafür nach Vorbild der genannten Methode selbst bilden.

    Übrigens muß man nicht, wie im Modul programmiert die format_id über $order->customer['format_id'] holen, denn sie steht im $order->delivery Array auch zur Verfügung $order->delivery['format_id'].

    Gruß,
    noRiddle

    little-key

    • Fördermitglied
    • Beiträge: 111
    • Geschlecht:
    Re: PDFBill Next Lieferschein
    Antwort #7 am: 15. November 2020, 19:37:17
    Liebes Team.

    Das PDFBill Modul ist schon echt Klasse.
    Was mich mächtig nervt bei 80-100 Lieferscheinen pro Tag ist der klick-Aufwand bis man den Lieferschein im Drucker hat.

    Hat sich jemand diesem Problem schon mal angenommen?

    Optimaler Ablauf für uns wäre in der Bestellübersicht den Button "Rechnungsnummer vergeben." nutzen/ändern oder einen zusätzlichen Button, der folgende Funktionen im Ablauf erledigt:

    1.  Lieferschein drucken (gleich mit Druckerauswahl)
    2. Rechnung drucken ohne Mailversand  (gleich mit Druckerauswahl)
    3. Versand-Status setzen, wie in den Einstellungen festgelegt

    Super wäre noch, da wir auch "Fische nach Foto" versenden, wenn unter dem Lieferschein oder eine zusätzliche Seite mit dem Lieferschein das Foto mit raus kommt.
    Beim Standard-Rechnungsmodul habe ich es als Beispiel (Screenshot) selbst hinbekommen.

    Wäre prima, wenn da einer bereits eine Lösung hat, oder wie Awids so etwas 'aus dem Ärmel' schüttelt.

    Liebe Grüße aus Wildeshausen
    little-key

    awids

    • Experte
    • Beiträge: 3.785
    • Geschlecht:
    Re: PDFBill Next Lieferschein
    Antwort #8 am: 15. November 2020, 19:58:32
    Dahinter würde ein größerer Programmier-Aufwand stecken, den du dann wohl in die Hände eines Programmierers geben müsstest. Kostet dann dementsprechend.

    Aber ganz ehrlich? Bei dem genannten Volumen ist das Modul vielleicht nicht mehr das Richtige für dich und du solltest lieber auf ein ERP oder eine Warenwirtschaft umsteigen.

    Was ich bei einem ehemaligen Kunden aber auch mal gesehen habe, war ein angepasstes Modul für die Stapelverarbeitung (Multi Order Status). Dort hat man in der der orders.php (Modul: orders_listing.php) alle Bestellungen angeklickt, die man bearbeiten will und dann rechts in der Box für die Stapelverarbeitung die gewünschten Aktionen (z. B. Status-Änderung, Rechnung-/Lieferschein erzeugen, Druck, Versand per E-Mail u.v.m.) angeklickt und sie dann ausgeführt. Die zu druckenden Dokumente wurden dann alle zusammen in einem PopUp-Fenster geladen, wie du es auch vom PDFBill-Modul mit den Einzeldokumenten kennst. Da musste man den Druckauftrag (STRG+P, Drucker wählen, Drucken) dann nur einmal für alles starten.

    DerNachbar

    • Viel Schreiber
    • Beiträge: 507
    Re: PDFBill Next Lieferschein
    Antwort #9 am: 15. November 2020, 20:25:04
    @awids habe fast gedacht du hättest das bei mir eingebaut. Naja, in den letzten 10 Jahren ist so viel passiert in meinem Shop... blickt keiner mehr dran vorbei, wer da was gemacht hat *lol*

    little-key

    • Fördermitglied
    • Beiträge: 111
    • Geschlecht:
    Re: PDFBill Next Lieferschein
    Antwort #10 am: 16. November 2020, 07:42:31
    Dahinter würde ein größerer Programmier-Aufwand stecken, den du dann wohl in die Hände eines Programmierers geben müsstest. Kostet dann dementsprechend.
    Das wäre nicht das Problem. Wenn sich jemand damit auseinander setzen möchte?

    Aber ganz ehrlich? Bei dem genannten Volumen ist das Modul vielleicht nicht mehr das Richtige für dich und du solltest lieber auf ein ERP oder eine Warenwirtschaft umsteigen.
    Sehe ich auch so. Leider bin ich nur der Shopprogrammierer und der Chef tut sich verdammt schwer.

    Was ich bei einem ehemaligen Kunden aber auch mal gesehen habe, war ein angepasstes Modul für die Stapelverarbeitung (Multi Order Status). Dort hat man in der der orders.php (Modul: orders_listing.php) alle Bestellungen angeklickt, die man bearbeiten will und dann rechts in der Box für die Stapelverarbeitung die gewünschten Aktionen (z. B. Status-Änderung, Rechnung-/Lieferschein erzeugen, Druck, Versand per E-Mail u.v.m.) angeklickt und sie dann ausgeführt. Die zu druckenden Dokumente wurden dann alle zusammen in einem PopUp-Fenster geladen, wie du es auch vom PDFBill-Modul mit den Einzeldokumenten kennst. Da musste man den Druckauftrag (STRG+P, Drucker wählen, Drucken) dann nur einmal für alles starten.
    Habe ich mir auch schon angesehen und versucht einzubauen. Hakt mächtig an einigen Stellen...

    Trotzdem vielen lieben Dank für die Rückmeldung.

    Q

    • Fördermitglied
    • Beiträge: 1.502
    Re: PDFBill Next Lieferschein
    Antwort #11 am: 16. November 2020, 23:31:54
    Was den Druckauftrag angeht habe ich das mit Sumatra pdf über ein batch-file gelöst. Da die Aufträge meist am Vormittag alle auf einmal bearbeitet und die Rechnungen heruntergeladen werden, kein Problem. In dem Batch-File werden dann alle PDF-Dukumente im Downloadordner die mit Rechnung_20 anfangen an den Drucker geschickt und anschließend in den Rechnungsordner verschoben.

    Vielleicht hilft das weiter.

    little-key

    • Fördermitglied
    • Beiträge: 111
    • Geschlecht:
    Re: PDFBill Next Lieferschein
    Antwort #12 am: 17. November 2020, 08:57:00
    Hi oneQ, danke für die Antwort.
    Bin ja zufrieden, dass ich nicht der Einzige mit diesem Problem bin.

    SumatraPDF kenne ich nur vom hören.
    Über ein Batch-File habe ich auch schon nachgedacht. Ich arbeite viel mit PDF24 und/oder NitroPDF. PDF24 hat einen Shell-Befehl integriert. Aber irgendwie habe ich das System noch nicht so richtig verstanden.
    Würdest Du Dein Batch-File zum rein schauen mal zur Verfügung stellen?
    Du wirst sicher übe eine Kommand-Line das Tool per Call in einer Schleife aufrufen?

    noRiddle (revilonetz)

    • Experte
    • Beiträge: 13.743
    • Geschlecht:
    Re: PDFBill Next Lieferschein
    Antwort #13 am: 17. November 2020, 13:01:11
    ...
    ... Leider bin ich nur der Shopprogrammierer und der Chef tut sich verdammt schwer.
    ...

    Ich finde es immer wieder fazinierend mit welcher Chuzpe Leute die mit "Programmieren" Geld verdienen ihre Probleme hier ins Forum stellen um sie Andere lösen zu lassen.
    Und, um jeglichem Streit und Pseudo-Gegenargumenten gleich den Wind aus den Segeln zu nehmen: Ich habe kein Problem mit dem Austausch unter Wissenden wenn sie mal ein Problem haben aber Antwort #7 ist schon der Hammer, erst recht da dann auch noch der "Chef" sich schwer tut mit einer vernünftigen Lösung. Und wenn es dann noch bei Verwendung und Umsetzung bereits hier im Forum vorhandener Lösungsansätze "mächtig an einigen Stellen" "hakt"...

    Gruß,
    noRiddle

    little-key

    • Fördermitglied
    • Beiträge: 111
    • Geschlecht:
    Re: PDFBill Next Lieferschein
    Antwort #14 am: 17. November 2020, 14:34:28
    Ich verstehe das Problem nicht...

    Ein Forum lebt von Experten, Fortgeschrittenen und Anfängern.
    Du zählst sicher zu den Experten.

    Ich habe gelernt (auch in dem Forum, wo ich jahrelang Admin war) nicht zu kritisieren.
    Ich selbst habe mich gefreut, wenn durch meine Hilfe andere gleich was dazu gelernt haben.

    Und wenn mein Chef das nicht möchte, dann muss ich es akzeptieren....
    Und wenn ein Script an einigen Stellen hakt, darf ich es doch erwähnen....
    Und ich verdiene damit kein Geld!

    Ich kann mich erinnern, dass Onlineshops sogar beworben werden diese nutzen zu können, ohne selbst ein Programmierexperte zu sein, und das sind viele Fragensteller hier eben nicht..
    Tut mir leid, aber Deine Antwort finde ich nicht in Ordnung.
    2140 Antworten
    728022 Aufrufe
    05. April 2024, 19:50:05 von trunky
    1 Antworten
    1619 Aufrufe
    20. März 2015, 18:44:10 von noRiddle (revilonetz)
    1 Antworten
    1573 Aufrufe
    21. Februar 2014, 20:20:02 von jannemann