ERROR PEDIDOS [Back...
 
Avisos
Vaciar todo

ERROR PEDIDOS [BackOffice] - Argument 5

13 Respuestas
3 Usuarios
0 Reactions
40 Visitas
Respuestas: 33
Eminent Member
Topic starter
 

Hola!!!
Realicé una migración de datos de una tienda antigua de prestashop a un prestashop nuevo con una instalación completamente desde 0 y actualizada a la versión 1.7.7.5.

La cuestión es que no puedo acceder a pedidos antiguos ni pedidos nuevos porque aparece el siguiente error:

Type error: Argument 5 passed to PrestaShop\PrestaShop\Core\Domain\Order\QueryResult\OrderProductForViewing::__construct() must be of the type string, null given, called in /home2/*/public_html/*/src/Adapter/Order/QueryHandler/GetOrderProductsForViewingHandler.php on line 243

[Symfony\Component\Debug\Exception\FatalThrowableError 0]

Es bastante urgente, ya que no puedo gestionar los pedidos nuevos.

Gracias por la ayuda.

Un saludo.

Contenido solo visible a usuarios registrados


 
Respondido : 04/08/2021 7:52 am
Pepe
 Pepe
Respuestas: 41113
Illustrious Member Admin
 

Hola Daniel.

Este tipo de error suele mostrarse cuando se esta intentado mostrar un pedido con datos no validos.

El problema esta en que para modificarlo tendras que realizarlo desde la base de datos.

En este enlace tienes información del error:

-> https://github.com/PrestaShop/PrestaShop/issues/22215

En la ultima respuesta tienes la consulta que que hay que realizar en base de datos.

 

Lo mejor en este caso es que clones la instalación de prestashop y realices la prueba en ese clon:

-> https://www.webempresa.com/blog/clonar-una-instalacion-de-prestashop-a-otra-carpeta-del-hosting.html

 

Un saludo


 
Respondido : 04/08/2021 8:47 am
Respuestas: 33
Eminent Member
Topic starter
 

@pepesoler

Hola Pepe,

Gracias por tu pronta respuesta. He estado mirando el post que me indicas, pero son errores diferentes (el post que me facilitas hace referencia a un fallo 4 y el mío es 5):

- GetOrderForViewingHandler.php

- GetOrderProductsForViewingHandler.php (este es mi fallo)

¿Se podría solucionar del mismo modo?

Por otro lado, no puedo hacer el clon que me indicas, dado que explica que sólo es válido para PS 1.6, no para PS 1.7.

 

Gracias por la ayuda.

Un saludo.


 
Respondido : 04/08/2021 8:57 am
Pepe
 Pepe
Respuestas: 41113
Illustrious Member Admin
 

Hola Daniel.

Si el error es el mismo valores Null en la tabla order y address

no puedo hacer el clon que me indicas, dado que explica que sólo es válido para PS 1.6, no para PS 1.7.

Los pasos son los mismos, básicamente es copiar los archivos, crear nueva base de datos y Exportar/importar la base de datos y modificar las URL.

 

Si tienes problemas en alguno de los pasos indicamos donde te quedaste y lo seguimos en ese punto.

 

Un saludo

 


 
Respondido : 04/08/2021 10:05 am
Respuestas: 33
Eminent Member
Topic starter
 

@pepesoler

Ok Pepe, perfecto, probaré lo que me indicas.

Es que es bastante raro, porque me entra un pedido de un cliente antiguo que ha solicitado el envío a una nueva dirección y me da error, no me abre el pedido en el BackOffice. En cambio, realizo un pedido nuevo, de prueba, con un cliente nuevo para testar, y sí me deja abrir el pedido desde el BackOffice. Me está desesperando... probaré lo que me has comentado de realizar la consulta en la base de datos.

Una última pregunta, si realizo la consulta en la base de datos, sin realizar el clonado de la web, si algo va mal, ¿podría restaurar sin problema con el SuperBackUp la base de datos? O ¿daría algún tipo de problema dicha restauración?

Gracias!!!


 
Respondido : 04/08/2021 10:32 am
Pepe
 Pepe
Respuestas: 41113
Illustrious Member Admin
 

Hola Daniel.

Sí, los pedidos nuevos los vas a poder ver ya que los datos estan bien, el problema esta en los pedidos antiguos.

 ¿podría restaurar sin problema con el SuperBackUp la base de datos?

Si, podrías restaurar la base de datos pero tienes que tener en cuenta que las copias se realizan a una hoar determinada, es decir, supongamos que restauras una copia a las 13:00 pero la copia que hay es de las 08:00, todos lso datos que tenias desde las 08:00 hasta las 13:00 no los tendras, pedidos, nuevos clientes, nuevos productos, etc....

 

Un saludo


 
Respondido : 04/08/2021 10:52 am
Respuestas: 33
Eminent Member
Topic starter
 

@pepesoler

Perfecto,

Sí, no te preocupes, tengo en cuenta la hora 😉

Voy a probar a realizar la consulta a la base de datos.

Gracias!!!


 
Respondido : 04/08/2021 10:54 am
Respuestas: 33
Eminent Member
Topic starter
 

Acabo de lanzar la consulta en la base de datos, pero sigue sin dejarme entrar en los pedidos que daban fallo. Incluso en el pedido que recibí ayer, que era pedido nuevo, pero con dirección antigua, no me deja acceder a él.

En la consulta se ve que se han cambiado multitud de filas, pero aún así no me deja acceder a determinados pedidos.


 
Respondido : 04/08/2021 11:05 am
Karen Rios
Respuestas: 18663
Illustrious Member Moderator
 

Hola Daniel, 

Puedes enviarnos una captura como estas añadiendo la consulta en tu base de datos, de igual forma verífica añadir debajo de la consulta del SQL otras opciones como comentan en el hilo por ejemplo añadiendo también las siguientes consultas a la lista

update ps_address set dni = '' where dni is null;
update ps_address set other = '' where other is null;
update ps_address set address2 = '' where address2 is null;
update ps_address set company = '' where company is null;
update ps_address set vat_number = '' where vat_number is null;

Verifica esto y nos comentas como ha ido todo

Un Saludo 


 
Respondido : 04/08/2021 11:33 am
Respuestas: 33
Eminent Member
Topic starter
 

@karen

Hola Karen,

Claro adjunto varias capturas de pantalla: varias de las líneas que se modificaron en la primera consulta lanzada; otra captura del error que genera prestashop al hacer click en el pedido desde el backoffice; y otra captura más de desde dónde lanzo la consulta a la base de datos.

He lanzado la última consulta que me indicas y sigue sin darme acceso al pedido desde el backoffice.

Captura de pantalla 2021 08 04 a las 13.54.52
Captura de pantalla 2021 08 04 a las 13.52.10
Captura de pantalla 2021 08 04 a las 13.51.41
Captura de pantalla 2021 08 04 a las 13.53.18
Captura de pantalla 2021 08 04 a las 13.52.31

 Quedo a la espera.
Gracias!!!


 
Respondido : 04/08/2021 11:58 am
Karen Rios
Respuestas: 18663
Illustrious Member Moderator
 

Hola Daniel, 

Verifica si al añadir la siguiente consulta y ejecutarla logras ver las órdenes sin problema 

update ps_connections_source set keywords = '' where keywords is null;

Ten en cuenta que estás realizando consultas en la base de datos principal

Un Saludo 


 
Respondido : 04/08/2021 12:29 pm
Respuestas: 33
Eminent Member
Topic starter
 

@karen

Hola Karen,

Ya he añadido la última consulta que me indicas pero sigo sin poder acceder al pedido desde el backoffice.

0 filas afectadas. (La consulta tardó 0.0002 segundos.)
https://dev.mysql.com/doc/refman/5.5/en/update.htm l" target="mysql_doc">update ps_connections_source https://dev.mysql.com/doc/refman/5.5/en/set.htm l" target="mysql_doc">set keywords = '' where keywords https://dev.mysql.com/doc/refman/5.5/en/comparison-operators.html#operator_i s" target="mysql_doc">is null
 
¿Alguna posibilidad más?
¿Cómo debería realizar la consulta sino? Creía que era como lo hacía.

 
Respondido : 04/08/2021 1:00 pm
Pepe
 Pepe
Respuestas: 41113
Illustrious Member Admin
 

Hola Daniel.

Supongo que la importación de pedidos la realizaste desde una instalación de prestashop 1.6, lo que no sé es como importaste esos pedidos, supongo que con alguna consulta.

Piensa que la estructura de PS 16 y al de ps17 son distintas y puede dar problemas.

 

:- Accede a pedidos y revisa los ID de los pedido en lso que tienes problemas:

screenshot nimbus capture 2021.08.04 15 43 09

.- Edita la tabla ps_orders y revisa los datos de los ID de los pedidos que no se puede acceder, tendras que eliminar los que estén con valor null

 

¿ son muchos lso pedidos ? si los pedidos ya estan tramitados una opción es que los elimines.

 

Un saludo


 
Respondido : 04/08/2021 1:50 pm