Jump to content

Problema pedido con dos direcciones de envío.


Recommended Posts

Hola.

Tengo clientes que me generan dos pedidos con la misma referencia, despues de investigar en las tabla me he dado cuenta que la tabla ps_cart_product hay producto con id_address_delivery diferentes.

Como consigue el cliente poner direcciones diferentes para dos productos del mismo carrito?

Se que los tiros van porque el cliente en mitad del proceso modifica la dirección, porque en el ejemplo que os dejo abajo la dirección 47837 el cliente la tiene como deleted=1 (raro porque tiene un id más alto), ambas direcciones son la misma, pero con ids diferentes.

La 47834 se creo y actualizó el 2020-08-09 20:33:30

La 47837 se creo y actualizó el 2020-08-09 20:39:07

6 miutos despues, pero es la que aparece como borrada, despues añade el producto 48595 pero a la dirección 47834 y el resto permanece en la 48737

Tiene solución para que no pase?

El problema no son los dos pedidos, si no que al partirlos al cliente le cobra dos veces los portes.

 

Datos del carrito:

id_cart     id_product     id_address_delivery     id_shop     id_product_attribute     id_customization     quantity     date_add
17360     48595     47834     1     0     0     1     2020-08-09 20:44:53
17360     31232     47837     1     0     0     1     2020-08-09 16:14:56
17360     42298     47837     1     0     0     4     2020-08-09 13:52:32
17360     42296     47837     1     0     0     4     2020-08-09 13:52:17

 

Gracias.

  • Like 1
Link to comment
Share on other sites

  • 2 weeks later...

Gracias por responder.

Tengo la versión 1.7.3 (ya se que no es la mejor... pero ahora mismo no puedo hacer otra cosa)

A ver si estoy acertando:

Tengo las tablas:

ps_warehouse
ps_warehouse_carrier
ps_warehouse_product_location
ps_warehouse_shop

vacias, con lo que entiendo que no estoy usando esta opción.

 

En la consulta:

SELECT * FROM `ps_product` WHERE `location` != ''

No hay nigún artículo, con lo que ningún articulo tiene ese campo relleno.

 

Se me queda algo?

Como se configura el multienvío?

 

Gracias.

 

Link to comment
Share on other sites

Buenas,

Primero de todo deberías conseguir reproducir el hecho, ya que es muy difícil verlo sin saber como conseguirlo. ¿Has notado si eso pasa con los mismos productos? ¿Los productos tienen algun peso en particular?
Si el tema va por donde tu indicas deberías mirar donde se produce ese cambio. El responsable de cambiar la id_address_delivery es la función updateAddressId de la clase Cart. Mira también si tiene errores en log que no vaya a tener algo que lo evita.

Además he encontrado el siguiente foro que tratan un mismo tema que tu:

 

Espero que estas indicaciones te sirvan para encontrar una pista de lo que pasa.

Salut!

 

Link to comment
Share on other sites

  • 2 years later...

He encontrado que hay muchísimos reportes de este tipo en el repositorio oficial: https://github.com/PrestaShop/PrestaShop/issues/15491

Pero todos se refieren a que esto ocurre cuando un producto tiene limitados sus transportistas disponibles, y se añade al carrito al mismo tiempo que otro que no tiene dicha restricción. De ahí que en el carrito existan 2 o mas productos cuyos transportistas disponibles no son iguales y PS divida el pedido en 2.  Lo que no puedo asegurar es si existe algún escenario donde se reproduzca este problema sin las condiciones anteriores. Pero al menos ya hay un punto para comenzar a revisar la configuración de los productos en la tienda.

Suerte

Link to comment
Share on other sites

Buenas,

yo lo he solucionado muy malamente.

Me he dado cuenta de que algún cliente antiguo cuando empieza un carrito sin logearse y luego se logea y añade más productos, a algunos (muy pocos clientes) le pasa lo de la doble dirección.

Para mi la solución ha sido hacer un script externo a PS que me avisa cuando un carrito le pasa esto y yo selecciono la dirección que le dejo desde un mini programa externo, por suerte nuestros clientes suelen comprar después de más de un día desde que empiezan con el carrito. Desde que lo voy a arreglando a mano (puedo hacer uno al mes como mucho) ya no he tenido el problema.

Un saludo.

Link to comment
Share on other sites

Probablemente tienes un transportista por defecto configurado para todos los grupos de clientes, que es el que primero se le asigna al carrito cuando el cliente no está autenticado aun. Intenta desactivar para dicho transportista los grupos de clientes Invitado y Visitante, de esa forma no debería asignar un transportista hasta que se autentique. 

NOTA: Todo esto es teoría, no lo he probado en la práctica. Si llegas a hacerlo favor de dejarme saber el resultado.

Link to comment
Share on other sites

15 hours ago, ExpertoPrestaShop said:

Probablemente tienes un transportista por defecto configurado para todos los grupos de clientes, que es el que primero se le asigna al carrito cuando el cliente no está autenticado aun. Intenta desactivar para dicho transportista los grupos de clientes Invitado y Visitante, de esa forma no debería asignar un transportista hasta que se autentique. 

NOTA: Todo esto es teoría, no lo he probado en la práctica. Si llegas a hacerlo favor de dejarme saber el resultado.

Buenas,

Si, tengo un transportista por defecto en el apartado Transporte->Preferencias->Transportista Predeterminado ni me acordaba de este parámetro.

Le he quitado al transporte por defecto los grupos 1 y 2, tengo dudas, pero a ver como se comporta.

Os voy comentando.

Un saludo.

 

Edited by [email protected] (see edit history)
  • Like 1
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...