Número de inicio personalizado para números de pedido en Magento 1.5
-
27-10-2019 - |
Pregunta
¿Cómo personalizo el número inicial para pedidos, facturas, etc. en Magento 1.5?
Solución
Desde el foro de magento:
- por LindyKyaw (miembro del equipo de Magento) , cambiando el número de inicio (mediante consulta SQL):
There is a table in the database which stored increment id of order. It is called “eav_entity_store” table. You can check which entity type id belongs to which entity by looking at eav_entity_type table. You can run following query to update last increment id for the order.update eav_entity_store inner join eav_entity_type on eav_entity_type.entity_type_id = eav_entity_store.entity_type_id set eav_entity_store.increment_last_id=3001 where eav_entity_type.entity_type_code='order';
- por FOOMAN (colaborador activo) , cambiando el número de inicio (a través de la herramienta de administración de la base de datos) y eliminando "0"s al principio:
Espero que ayudeWith a tool like phpmyadmin look at your database. In the table eav_entity_type you will find all entity types listed. The one of interest to change where the order number starts is order sales/order. Remember the entity_type_id (in my install it is 11). To remove the leading zeros (padding) set increment_pad_length to 1.Next go to the table eav_entity_store. Look up the entity_type_id. Now you can change the value of increment_prefix and increment_last_id. If you wanted to have your next orderId to be 15000 set increment_last_id to 14999 and increment_prefix to 0.
Additionally you need to make a copy of this file /app/code/core/Mage/Eav/Model/Entity/Increment/Abstract.php to /app/code/local/Mage/Eav/Model/Entity/Increment/Abstract.php
public function getPadLength() { $padLength = $this->getData('pad_length'); if (empty($padLength)) { $padLength = 0; } return $padLength; } ... public function format($id) { $result= str_pad((string)$id, $this->getPadLength(), $this->getPadChar(), STR_PAD_LEFT); return $result; }
Otros consejos
En realidad, con las versiones más nuevas (y probablemente también en la 1.5), hay una forma más fácil de cambiarlo.En PHPMyAdmin, o en su cliente mysql, vaya a la tabla eav_entity_type
.Ubique la tabla en la columna entity_type_code
(probablemente order
) y configure el increment_pad_length
para que sea lo que desee, así como el increment_pad_char
.
Entonces no es necesario que reescriba el código del núcleo, una situación en la que todos ganan.
JMax
Número de pedido de Magento
Es sencillo....
- ir a phpmyadmin
- seleccione su base de datos y luego seleccione la tabla "eav_entity_store"
- en esta tabla, cambie el
increment_last_id
(por ejemplo, he configurado 3456767 en mi tabla) - después de eso creo un nuevo pedido.Ahora mis pedidos empiezan desde el número 346768
En realidad, existe una buena extensión para lograresta tarea.
Le permite personalizar el ID del pedido de muchas formas diferentes: por ejemplo, puede utilizar una combinación de:
- número como año, mes, día, hora, segundo,
- utilice un contador personalizado (puede decidir el número inicial)
- una combinación de todos los métodos anteriores
- agregue una cadena personalizada en cualquier posición del ID del pedido
Esta es la extensión.en Magento connect: http://www.magentocommerce.com/magento-connect/custom-order-id-8210.html
Lo probé personalmente y fue muy bueno (funciona bien con todos mis métodos de pago y no tuve ningún problema)