orden alfanumérico de identificación de la subasta
Pregunta
He estado usando de identificación alfanumérico Valor mínimo de orden, ya ~ CE 1.1 -. Que está todo listo usando un carácter alfabético en el campo Prefijo de core_entity_store
En el momento no había documentación real, que rodea la instalación y configuración multi-tienda, por lo que hemos adoptado la práctica de que todos los ID de orden fueron precedidos de un Alfa que representaba la tienda. Los números de orden general parecían M000000003, PA000000004, etc.
Avance rápido 5 años para EE 1.11 y desde aproximadamente PE / EE 1.10 nos hemos dado cuenta de que las órdenes de regresar periódicamente un error de SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry 'PA00505156' for key 'UNQ_SALES_FLAT_ORDER_INCREMENT_ID'
o algo similar. Es poco frecuente - pero mis me lleva a la investigación del hecho de que una carrera de condición reservándose la identificación de la orden podría ser debido al prefijo siendo alfa y no numérico
Sé que Ashley Schroder estaba trabajando en esto hace un tiempo, con una edición Pro de un módulo desarrolló - http://www.aschroder.com/2010/07/easily-set-a-custom- número de pedido-en-magento-con-mi-sin-setstartordernumber extensión / - Pero no parece que ha habido mucho movimiento ahí, ya que la versión Pro no está en Magento Conectar
Hay alguien más usando prefijos alfa? ¿Cómo se ha realizado para usted hasta ahora? ¿Ves los mismos errores?
Solución
Sí, hemos tenido este problema también.
Solución rápida es la siguiente: ir en app\code\core\Mage\Sales\Model\Resource\Quote.php
, en el isOrderIncrementIdUsed
función de reemplazar la fila
$bind = array(':increment_id' => (int)$orderIncrementId);
con
$bind = array(':increment_id' => $orderIncrementId);
Todo debería funcionar ahora.
Es una solución archivo central, pero es posible anular esta funcionalidad con la extensión (por desgracia, hasta ahora no hemos tenido tiempo para esto) ..
Saludos.