Pregunta

Estamos integrando Magento con un sistema existente.Nuestro sistema existente ya tiene números de pedido.Ha habido mucha confusión ya que Magento tiene sus propios números de pedido y nuestro sistema existente tiene números de pedido diferentes, por lo que estamos tratando de que los números de pedido coincidan.

Tengo un observador configurado para sales_order_place_after donde obtengo el número de pedido de nuestro sistema existente.No parece funcionar $order->setIncrementId($our_existing_order_id) De todos modos, no sé si esta es realmente una buena idea.

Realmente, el objetivo final que queremos es que los números de pedido en los recibos por correo electrónico que se envían coincidan con los números de pedido en nuestros sistemas existentes.¿Existe una mejor manera de hacer que eso suceda?

¿Fue útil?

Solución

Lo que recomendaría es crear un nuevo campo en Sales_Flat_Order para almacenar esta ID y actualizar la plantilla diferente según sea necesario para mostrar este número.De esta manera, tendrá una ruta de actualización limpia en el futuro

Otros consejos

Una solución sería crear su propio modelo de entidad.Si miras en el eav_entity_type tabla en la columna increment_model Verás que hay un camino de clases allí.Reemplácelos con su propio modelo personalizado, por ejemplo [module]/entity_increment_erp

class [Namespace]_[Model]_Model_Entity_Increment_Erp extends Mage_Eav_Model_Entity_Increment_Abstract
{
    public function getNextId()
    {
        /**
        * your custom code to generate the increment ID, 
        * as long as it is unique
        */

        return $id;
    }
}
Licenciado bajo: CC-BY-SA con atribución
No afiliado a magento.stackexchange
scroll top