Start der Bestellnummern ändern

  • Guten Abend

    Wir würden gerne die Logik der Bestellnummern ändern. Anstatt Nr. 1, Nr. 2 usw. sollen die Nummerb bei 20110001 beginnen, danach 20110002 usw. Lässt sich das einrichten?

    Grüsse aus der Schweiz,
    Gianluca

  • Datenbank per phpmyadmin oder ähnliches aufrufen und dann:

    "ALTER TABLE orders AUTO_INCREMENT=55555" eingeben. Statt 55555 kan jede Zahl eingegeben werden, die höher ist als die letzte Bestellnummer.

    =========

    Um Eine Rechnungsnummer zu erstellen, ist es etwas schwieriger:

    "1.) PHPMyAdmin öffnen und innerhalb der Shop-Datenbank folgenden Befehl ausführen:

    ALTER TABLE `orders` ADD `invoice_id` VARCHAR( 15 ) NOT NULL AFTER `orders_id`;
    INSERT INTO configuration VALUES(NULL, 'INVOICE_NUMBER_SUFFIX', 'RE-', 1, 30,
    NULL, '0000-00-00 00:00:00', NULL, NULL);
    INSERT INTO configuration VALUES(NULL, 'INVOICE_NUMBER_LAST', '0', 1, 31, NULL,
    '0000-00-00 00:00:00', NULL, NULL);

    (ACHTUNG: Das "RE-" sowie die "1" kann an Eure Bedürfnisse angepasst werden)

    2.) admin/includes/classes/order.php öffnen
    suchen nach:

    $order_query = xtc_db_query("select customers_name,
    darunter einfügen:

    invoice_id,
    suchen nach:

    $this->customer = array('id' => $order['customers_id'],
    darunter einfügen:

    'invoice_id' => $order['invoice_id'],

    3.) admin/orders.php öffnen

    suchen nach:

    case 'deleteccinfo' :
    $oID = xtc_db_prepare_input($_GET['oID']);
    xtc_db_query("update ".TABLE_ORDERS." set cc_cvv = null where orders_id =
    '".xtc_db_input($oID)."'");
    xtc_db_query("update ".TABLE_ORDERS." set cc_number = '0000000000000000'
    where orders_id = '".xtc_db_input($oID)."'");
    xtc_db_query("update ".TABLE_ORDERS." set cc_expires = null where orders_id =
    '".xtc_db_input($oID)."'");
    xtc_db_query("update ".TABLE_ORDERS." set cc_start = null where orders_id =
    '".xtc_db_input($oID)."'");
    xtc_db_query("update ".TABLE_ORDERS." set cc_issue = null where orders_id =
    '".xtc_db_input($oID)."'");
    xtc_redirect(xtc_href_link(FILENAME_ORDERS, 'oID='.$_GET['oID'].'&action=edit'));
    break;

    danach einfügen:

    case 'billing' :
    $new_invoice_id = INVOICE_NUMBER_LAST + 1;
    xtc_db_query("update ".TABLE_ORDERS." set invoice_id =
    '".INVOICE_NUMBER_SUFFIX . $new_invoice_id."' where orders_id =
    '".xtc_db_input($_GET['oID'])."'");
    xtc_db_query("update ".TABLE_CONFIGURATION." set configuration_value =
    '".$new_invoice_id."' where configuration_key = 'INVOICE_NUMBER_LAST'");
    xtc_redirect(xtc_href_link(FILENAME_ORDERS, 'oID='.$_GET['oID'].'&action=edit'));
    break;

    suche nach:

    <tr>
    <td class="main" valign="top"><b><?php echo ENTRY_CUSTOMER; ?></b></td>
    <td class="main"><?php echo xtc_address_format($order->customer['format_id'],
    $order->customer, 1, '', '<br />'); ?></td>
    </tr>
    <tr>
    <td colspan="2"><?php echo xtc_draw_separator('pixel_trans.gif', '1', '5'); ?></td>
    </tr>

    danach einfügen:

    <tr>
    <td class="main"><b><?php echo ENTRY_INVOICE_ID; ?></b></td>
    <td class="main"><?php echo $order->customer['invoice_id']; ?></td>
    </tr>

    suchen nach:

    <a class="button" href="<?php echo xtc_href_link(FILENAME_ORDERS_EDIT,
    'oID='.$_GET['oID'].'&cID=' . $order->customer['ID']);?>"><?php echo BUTTON_EDIT ?></a>

    ersetzen mit:

    <?php
    if($order->customer['invoice_id']=='') {
    echo '<a class="button" href="'. xtc_href_link(FILENAME_ORDERS_EDIT,
    'oID='.$_GET['oID'].'&cID='. $order->customer['ID']).'">'.BUTTON_EDIT.'</a>';
    }
    else {
    echo '<a disabled href="javascript://" class="button">'.BUTTON_EDIT.'</a>'; }
    ?>

    suchen nach:

    <a class="button" href="Javascript:void()" onclick="window.open('<?php echo
    xtc_href_link(FILENAME_PRINT_ORDER,'oID='.$_GET['oID']); ?>', 'popup', 'toolbar=0,
    width=640, height=600')"><?php echo BUTTON_INVOICE; ?></a>
    <a class="button" href="Javascript:void()" onclick="window.open('<?php echo
    xtc_href_link(FILENAME_PRINT_PACKINGSLIP,'oID='.$_GET['oID']); ?>', 'popup', 'toolbar=0,
    width=640, height=600')"><?php echo BUTTON_PACKINGSLIP; ?></a>

    ersetzen mit:

    <?php
    if($order->customer['invoice_id']=='') {
    echo '<a class="button" href="'. xtc_href_link(FILENAME_ORDERS,
    'oID='.$_GET['oID'].'&action=billing').'">'.BUTTON_BILLING.'</a> <a disabled
    href="javascript://" class="button">'.BUTTON_INVOICE.'</a> <a disabled
    href="javascript://" class="button">'.BUTTON_PACKINGSLIP.'</a>';
    }
    else {
    echo '<a disabled href="javascript://" class="button">'.BUTTON_BILLING.'</a><a
    href="Javascript:void()" onclick="window.open(\''.
    xtc_href_link(FILENAME_PRINT_ORDER,'oID='.$_GET['oID']).'\', \'popup\',
    \'toolbar=0, width=640, height=600\')" class="button">'.BUTTON_INVOICE.'</a> <a
    href="Javascript:void()" onclick="window.open(\''.
    xtc_href_link(FILENAME_PRINT_PACKINGSLIP,'oID='.$_GET['oID']).'\', \'popup\',
    \'toolbar=0, width=640, height=600\')"
    class="button">'.BUTTON_PACKINGSLIP.'</a>';
    }
    ?>

    4.) admin/print_order.php öffnen
    suchen nach:

    $smarty->assign('oID',$_GET['oID']);
    darunter einfügen:
    $smarty->assign('invoice_number', $order->customer['invoice_id']);

    in der Datei templates/templatename/admin/print_order.html kann nun frei auf die Rechnungsnummer zugegriffen werden. Platzieren Sie die Variable wo
    Sie möchten mit {$invoice_number}

    5.) öffnen Sie die Datei lang/german/admin/configuration.php
    Fügen Sie folgende Einträge hinzu:

    define('INVOICE_NUMBER_SUFFIX_TITLE', 'Rechnungsnummer Suffix');
    define('INVOICE_NUMBER_SUFFIX_DESC', 'Geben Sie hier den Suffix für die
    Rechnungsnummern ein. (z.B. RE-)');
    define('INVOICE_NUMBER_LAST_TITLE', 'letzte vergebene Rechnungsnummer');
    define('INVOICE_NUMBER_LAST_DESC', '<b>ACHTUNG</b> Das ändern der letzten
    Rechnungsnummer beeinflusst zukünftige Rechnungen.');

    6.) lang/german/admin/buttons.php folgendes einfügen:

    define('BUTTON_BILLING','Fakturierung');

    7.) lang/german/admin/orders.php
    folgende einfügen:

    define('ENTRY_INVOICE_ID','Rechnungsnummer');"

    Alles auf eigene Gefahr!!! Möglicherweise haben sich hier Zeilenumbrüche ergeben, die nicht original sind. IMMER VORHER EINE Datensicherung vornehmen.
    (Quelle: Andres Mönnich)

    Einmal editiert, zuletzt von cayuco56 (18. Februar 2011 um 22:54)

  • Hy und vielen Dank

    Das reicht mir schon:
    Datenbank per phpmyadmin oder ähnliches aufrufen und dann:

    "ALTER TABLE orders AUTO_INCREMENT=55555" eingeben. Statt 55555 kan jede Zahl eingegeben werden, die höher ist als die letzte Bestellnummer.


    Da wir unsere Rechnungen eh nicht über den Shop verwalten .. reicht es die Order ID zu ändern.

    Wenn doch alles so einfach wäre ;)
    Vielen Dank
    Lg
    Pasi

  • Also ich habe die Re-Nr. in der freien V2-Version eingebaut. Hatte das schon in xtCommerce und hier hats dann auch geklappt.

    Das Gleiche mit Captcha in Kontaktseite und Hersteller-Logo auf Produktinfo-Seite (direkt beim Preis in klein) findet man bei gunnart.de.

    Hat bei uns geklappt. Will jetzt noch mal sehen, ob das mit der Preis-Anfrage klappt. Hab da ein wenig mit dem "Billiger gesehen"-Modul rumgespielt und dann als Preisanfrage eingesetzt weil die Atikeldaten dann gleich übernommen werden und das Ganze in der Produktinfo-Seite auftaucht. So muss der Kunde nicht erst zum Kontaktformular.

    Hat jemand Erfahrung mit dem Affiliate-Modul? Klappt das mit diesem Shopsystem. Insgesamt eine wirklich runde Sache, finde ich.

    • Offizieller Beitrag

    Das Affiliate-Modul wurde mal bei einem kunden von uns eingebaut, war aber recht aufwendig. Geklappt hat es aber, kannst Du Daniel fragen :) Er hat es ja schliesslich gemacht.

    <p>Wir geben nur Anregungen und Hilfestellung auf Basis unserer Erfahrung, keine Rechtshilfe!<br>\m/('_')\m/</p>

  • Datenbank per phpmyadmin oder ähnliches aufrufen und dann:

    dann in orders die letzte bestellung einfach die gewünschten nr. eingeben und dann geht die datenbank bzw. bestellnummer fortlaufend weiter...
    gruß helle