Magento 1: cómo cambiar la numeración de pedidos, envíos, facturas y abonos

2018-01-02 - Categorías: Magento
Magento logo

Hoy traigo otro pequeño HOWTO para trabajar con las numeraciones internas de Magento 1.9. Los pedidos, envíos, facturas y abonos se pueden numerar. Se pueden poner prefijos por defecto, o a nivel de store, puedes seleccionar distintos prefijos y numeraciones.

En un Magento original sólo te permite hasta una numeración por store para facturas, abonos, envíos y pedidos. Esto incluso se puede mejorar haciendo varias numeraciones por store, pero ya no es una configuración normal. Para hacer 2 numeraciones de facturas en una misma store habrá que controlar el evento de creación de facturas, para así ir reenumerando ‘al vuelo’, mediante programación.

La tabla con las numeraciones

Se trata de la tabla eav_entity_store, por ejemplo:

Magento Eav Entity Store

Las numeraciones siguen todas la misma estrategia. En la columna increment_last_id tendremos el último elemento numerado. Por ejemplo, miremos el último pedido numerado es el P00127586, cuyo prefijo que lo tenemos en la columna increment_prefix es el P. Entonces nos queda que el número 00127586 es la numeración. Para calcular el siguiente le suma 1 y le vuelve a poner el prefijo.

Por ejemplo, si hacemos lo mismo con la última fila, tenemos A18X010000 es el último incremento usado. Su prefijo es el A18X, con lo que para calcular el siguiente le sumará 1 a 010000. Con lo que el siguiente será A18X010001.

Configurando por store

Inicialmente no tenemos definidos valores y se numerarán sólo con números sin prefijos de letras. Pero para definirlos tenemos que tener en cuenta todas las columnas de la imagen:

  • entity_store_id: identificador interno de fila, sólo se usa para numerar cada fila.
  • entity_type_id: identificador de tipo de entidad. Estos tipos de entidades los tenemos en la tabla eav_entity_type, por ejemplo para la entidad de typo pedido tenemos un identificador 5.
  • store_id: identificador de store, podemos verlos todos en el backend de Magento, en ‘Sistema > Gestionar tiendas’. Si pasamos el ratón por encima del enlace de vista de tienda vermos los identificadores en la URL de enlace. Por ejemplo:
    ../admin/system_store/editStore/store_id/7/key/6196861892c917efe3c053d806cb7b1e/
    Al entrar a editar esta vista de tienda (store) tenemos que su ID es 7. Este es el valor que podremos usar.
  • increment_prefix: prefijo de este contador.
  • increment_last_id: último valor usado.

Espero que sirva.

Un saludo.

© 2024 JnjSite.com - MIT license

Sitio hecho con WordPress, diseño y programación del tema por Jnj.