Anleitung GX2: Loggen von Lieferscheinen/Rechnungen in der History

Thema wurde von HolgerNils (xycons.de), 5. September 2012 erstellt.

  1. HolgerNils (xycons.de)

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

    Registriert seit:
    29. Oktober 2011
    Beiträge:
    1.981
    Danke erhalten:
    467
    Danke vergeben:
    369
    Es hat uns doch gestört, dass in der Bearbeitungshistorie der Bestellungen der Lieferschein- wie auch Rechnungsdruck nicht vermerkt werden. Wer es dennoch gerne hätte kann wie nachfolgend beschrieben vorgehen.

    Das Ergebnis ist dann folgendes:
    StatusLogging.JPG

    2 Festwert-Schlüssel (1001,1002) für die beiden fehlenden Statis in die Datenbank schreiben:
    Code:
    INSERT INTO `orders_status` (`orders_status_id`, `language_id`, `orders_status_name`) VALUES(1001, 2, 'Lieferschein erstellt');
    INSERT INTO `orders_status` (`orders_status_id`, `language_id`, `orders_status_name`) VALUES(1002, 2, 'Rechnung gedruckt');
    INSERT INTO `orders_status` (`orders_status_id`, `language_id`, `orders_status_name`) VALUES(1001, 3, 'Packslip created');
    INSERT INTO `orders_status` (`orders_status_id`, `language_id`, `orders_status_name`) VALUES(1002, 3, 'Invoice printed');
    
    In der Datei /admin/gm_pdf_order.php folgendes ergänzen; ca. an Zeile 358 / suchen nach "-> get individual heading"
    Code:
        // -> get individual heading
        if($_GET['type'] == 'invoice') {        
            $gm_order_pdf_values['GM_PDF_HEADING']        = gm_get_content('GM_PDF_HEADING_INVOICE', $_SESSION['languages_id']);
            $gm_order_pdf_values['GM_PDF_HEADING_INFO'] = gm_get_content('GM_PDF_HEADING_INFO_TEXT_INVOICE', $_SESSION['languages_id']);
    [COLOR=blue][B]//Status-Comments (Start)
            xtc_db_query("INSERT INTO " . TABLE_ORDERS_STATUS_HISTORY . " (orders_id, orders_status_id, date_added, customer_notified, comments) values ('".$_GET['oID']."', '1002', now(), '0', '')");
    //Status-Comments (Ende)[/B][/COLOR]
    
        } else {
            $gm_order_pdf_values['GM_PDF_HEADING']        = gm_get_content('GM_PDF_HEADING_PACKINGSLIP', $_SESSION['languages_id']);
            $gm_order_pdf_values['GM_PDF_HEADING_INFO'] = gm_get_content('GM_PDF_HEADING_INFO_TEXT_PACKINGSLIP', $_SESSION['languages_id']);    
    [COLOR=blue][B]//Status-Comments (Start)
            xtc_db_query("INSERT INTO " . TABLE_ORDERS_STATUS_HISTORY . " (orders_id, orders_status_id, date_added, customer_notified, comments) values ('".$_GET['oID']."', '1001', now(), '0', '')");
    //Status-Comments (Ende)[/B][/COLOR]
        }
    
    Have Fun!
     
  2. Teelirium

    Teelirium Erfahrener Benutzer

    Registriert seit:
    13. Juni 2012
    Beiträge:
    287
    Danke erhalten:
    22
    Danke vergeben:
    141
    Danke dafür, sehr hilfreich, hab's eingebaut, da ich mittlerweile auch dringend sehen muss, welchen LS ich schon gedruckt habe und welchen noch nicht. Ist einfach viel hilfreicher bei der Bestellbearbeitung. In der orders.php wird aber der Status nicht angezeigt, in der Bestellung selbst dann schon. Habe in der Bestellübersicht zu einer Bestellung einen Lieferschein generiert, dennoch bleibt der Status bei dieser Bestellung so wie vorher und ändert sich nicht auf "Lieferschein erstellt". Gehe ich in die Bestellung rein, dann sehe ich in den Status "Lieferschein erstellt", aber wieso nicht auf der Bestellübersichtsseite ?!? Caches sind alle geleert...

    Danke für Deine Hilfe vorab!
     
  3. HolgerNils (xycons.de)

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

    Registriert seit:
    29. Oktober 2011
    Beiträge:
    1.981
    Danke erhalten:
    467
    Danke vergeben:
    369
    Hi Florian, die kleine Lösung loggt nur, sie verändert nicht den Bestellstatus.
    Oben erfolgt nur ein INSERT in die Status-History-Tabelle, also dort, wo die Statusänderungen vermerkt werden.
    Wenn Du wirklich einen Status gesetzt haben willst, dann müsstest Du in den jeweiligen Ordersatz reinschreiben
     
  4. Teelirium

    Teelirium Erfahrener Benutzer

    Registriert seit:
    13. Juni 2012
    Beiträge:
    287
    Danke erhalten:
    22
    Danke vergeben:
    141
    Die Buchstaben kenne ich alle :) , aber ich habe keine Ahnung wie ich das anstellen soll/kann/muss

    Mir wäre es wichtig bereits in der Bestellübersicht zu sehen, wenn ich einen Lieferschein gedruckt habe. D.h., ich klicke auf Lieferschein und der Bestellstatus ändert sich auf "Lieferschein erstellt". Wie kriege ich das am besten hin?

    Danke!
     
  5. HolgerNils (xycons.de)

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

    Registriert seit:
    29. Oktober 2011
    Beiträge:
    1.981
    Danke erhalten:
    467
    Danke vergeben:
    369
    ;-) Melde mich im Laufe des Tages.
     
  6. HolgerNils (xycons.de)

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

    Registriert seit:
    29. Oktober 2011
    Beiträge:
    1.981
    Danke erhalten:
    467
    Danke vergeben:
    369
    Müsste dann eigentlich so aussehen:
    /admin/gm_pdf_order.php

    Code:
        if($_GET['type'] == 'invoice') {        
            $gm_order_pdf_values['GM_PDF_HEADING']      = gm_get_content('GM_PDF_HEADING_INVOICE', $_SESSION['languages_id']);
            $gm_order_pdf_values['GM_PDF_HEADING_INFO'] = gm_get_content('GM_PDF_HEADING_INFO_TEXT_INVOICE', $_SESSION['languages_id']);
    //Status-Comments (Start)
            xtc_db_query("INSERT INTO " . TABLE_ORDERS_STATUS_HISTORY . " (orders_id, orders_status_id, date_added, customer_notified, comments) values ('".xtc_db_input($_GET['oID'])."', '1002', now(), '0', '')");
    [COLOR=red]        xtc_db_query("update ".TABLE_ORDERS." set orders_status = '1002', last_modified = now() where orders_id = '".xtc_db_input($_GET['oID'])."'");[/COLOR]
    //Status-Comments (Ende)
        } else {
            $gm_order_pdf_values['GM_PDF_HEADING']      = gm_get_content('GM_PDF_HEADING_PACKINGSLIP', $_SESSION['languages_id']);
            $gm_order_pdf_values['GM_PDF_HEADING_INFO'] = gm_get_content('GM_PDF_HEADING_INFO_TEXT_PACKINGSLIP', $_SESSION['languages_id']);    
    //Status-Comments (Start)
            xtc_db_query("INSERT INTO " . TABLE_ORDERS_STATUS_HISTORY . " (orders_id, orders_status_id, date_added, customer_notified, comments) values ('".xtc_db_input($_GET['oID'])."', '1001', now(), '0', '')");
    [COLOR=red]        xtc_db_query("update ".TABLE_ORDERS." set orders_status = '1001', last_modified = now() where orders_id = '".xtc_db_input($_GET['oID'])."'");[/COLOR]
    //Status-Comments (Ende)
        }    
    
     
  7. Teelirium

    Teelirium Erfahrener Benutzer

    Registriert seit:
    13. Juni 2012
    Beiträge:
    287
    Danke erhalten:
    22
    Danke vergeben:
    141
    SUPER!!! Vielen Dank, so funktioniert's!!!
     
  8. HolgerNils (xycons.de)

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

    Registriert seit:
    29. Oktober 2011
    Beiträge:
    1.981
    Danke erhalten:
    467
    Danke vergeben:
    369
    Gern, die Alternative wäre natürlich gewesen: Status aktiv setzten, denn im Pulldown-Menü ist er ja drin.
     
  9. Teelirium

    Teelirium Erfahrener Benutzer

    Registriert seit:
    13. Juni 2012
    Beiträge:
    287
    Danke erhalten:
    22
    Danke vergeben:
    141
    Ja, schon, aber das wäre ja keine Herausforderung gewesen und so ist's doch gleich viel bequemer :)