Alphanumeric Order Increment IDs
Frage
Ich benutze alphanumerische Bestellinkrement -IDs seit ~ ce 1.1 - sie alle mit einem Alpha -Zeichen im Präfixfeld von vorgeordnet sind core_entity_store
.
Zu der Zeit gab es keine wirkliche Dokumentation im Zusammenhang mit Setup und mehrstöckigem Setup. Daher haben wir die Praxis übernommen, dass alle Bestell-IDs mit einem Alpha vorangestellt wurden, das den Laden darstellte. Bestellnummern sahen in der Regel wie M000000003, PA000000004 usw. aus.
Fast-Forward 5 Jahre bis EE 1.11 und seit ungefähr PE/EE 1.10 haben wir festgestellt, dass Bestellungen regelmäßig a zurückgeben SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry 'PA00505156' for key 'UNQ_SALES_FLAT_ORDER_INCREMENT_ID'
Fehler oder ähnliches. Es ist selten - aber meine Forschung führt mich zu der Tatsache, dass eine Rassenkondition bei der Reservierung der Auftrags -ID möglicherweise darauf zurückzuführen ist, dass das Präfix Alpha und nicht numerisch ist.
Ich weiß, dass Ashley Schroder vor einiger Zeit daran arbeitete, mit einer Pro -Ausgabe eines Moduls, das er entwickelt hat - http://www.aschroder.com/2010/07/eessily-set-a-custom-order-number-in-magento-with-my-free-setstartordernumber-eutsion/ - Aber es sieht nicht so aus, als hätte es dort viel Bewegung gegeben, da die Pro -Version nicht auf Magento Connect nicht mehr ist.
Verwendet noch jemand Alpha -Präfixe? Wie hat es es bisher für Sie ausgeführt? Sehen Sie die gleichen Fehler?
Lösung
Ja, wir hatten auch dieses Problem.
Schnellfix ist Folgendes: Gehen Sie zu in in app\code\core\Mage\Sales\Model\Resource\Quote.php
, in der Funktion isOrderIncrementIdUsed
Ersetzen Sie die Zeile
$bind = array(':increment_id' => (int)$orderIncrementId);
mit
$bind = array(':increment_id' => $orderIncrementId);
Alles sollte jetzt funktionieren.
Es ist eine Kerndateifix, aber es ist möglich, diese Funktionalität mit Erweiterung zu überschreiben (leider haben wir bis jetzt keine Zeit dafür).
Grüße.