dyley Posted July 10, 2023 Share Posted July 10, 2023 hola cuando cambio de estado un pedido me da error Se ha producido un error inesperado. [PrestaShopException código 42] Link to comment Share on other sites More sharing options...
ExpertoPrestaShop Posted July 10, 2023 Share Posted July 10, 2023 Tienes que activar el modo debug de PS y hacer pruebas para que te aparezcan los detalles del error y asi podamos ayudarte un poco mas. Link to comment Share on other sites More sharing options...
dyley Posted July 10, 2023 Author Share Posted July 10, 2023 en modo debug me dice Se ha producido un error inesperado. [PrestaShopException código 42]: SQLSTATE[42S22]: Column not found: 1054 Unknown column 'id_employee' in 'field list' Link to comment Share on other sites More sharing options...
aitorjp Posted July 10, 2023 Share Posted July 10, 2023 (edited) Hola! Me encuentro en la misma situación. Desde que actualicé desde 8.0.4 a 8.1.0 desde autoupgrade 4.16.0 me ocurre este error. Cuando recibo pedido, el pedido se crea sin estado, y cuando intentas cambiar el estado aparece el error: Si cambia el estado aún apareciendo el error, pero no muestra registro de cambios de estado, ni genera la factura al realizar el pedido el cliente: Y no aparecen los datos del pago realizado. Al intentar ponerlos de manera manual sigue apareciendo el error, y en éste caso no añade los datos (En la factura aparece la forma de pago en blanco): Con pedidos creados antes de la actualización SI puedo cambiar el estado de los pedidos sin que aparezca ningún error, por lo que parece que en la nueva versión crea los pedidos de diferente manera o con algún bug. Todos los módulos actualizados. PHP: 8.1.20 Si voy detectando mas fallos ya iré actualizando. Muchas gracias EDIT: En modo debug no aparece ningún dato adicional al mostrado. Si genera algún log donde pueda aparecer, díganme y lo pego Edited July 10, 2023 by aitorjp (see edit history) Link to comment Share on other sites More sharing options...
ExpertoPrestaShop Posted July 11, 2023 Share Posted July 11, 2023 La tabla order_history en su BD debe tener esta estructura: Si le falta algún campo, entonces deben crearlo manualmente. Quizás es un bug del modulo de migración. Link to comment Share on other sites More sharing options...
aitorjp Posted July 11, 2023 Share Posted July 11, 2023 (edited) En mi caso, la tabla order_history tiene la misma estructura que la que me muestras y está registrando datos en esa tabla EDIT: Tras realizar la consulta en phpmyadmin: SELECT DISTINCT TABLE_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE COLUMN_NAME = 'id_employee' AND TABLE_SCHEMA='nombreDeBaseDeDatosDondeBuscar' Estas son las tablas en las que aparece el campo id_employee: N**DB_customer_message N**DB_supply_order_receipt_history N**DB_employee_shop N**DB_message_readed N**DB_order_history N**DB_log N**DB_supply_order_history N**DB_employee N**DB_tab_module_preference N**DB_warehouse N**DB_message N**DB_module_history N**DB_employee_account N**DB_stock_mvt N**DB_module_preference N**DB_employee_session Quizás si puedes consultar si en una DB correcta de PS 8.1 aparece en alguna tabla mas, quizás localicemos donde está el fallo. Edited July 11, 2023 by aitorjp (see edit history) Link to comment Share on other sites More sharing options...
dyley Posted July 11, 2023 Author Share Posted July 11, 2023 yo también tengo la misma estructura que la que me muestras y está registrando datos en esa tabla Link to comment Share on other sites More sharing options...
dyley Posted July 11, 2023 Author Share Posted July 11, 2023 a mi me dice Argument 2 passed to PrestaShop\PrestaShop\Core\Domain\Order\QueryResult\OrderMessageForViewing::__construct() must be of the type string, null given, called in /home/enriquetomas/public_html/dyley.com/src/Adapter/Order/QueryHandler/GetOrderForViewingHandler.php on line 714 [TypeError 0] Link to comment Share on other sites More sharing options...
aitorjp Posted July 12, 2023 Share Posted July 12, 2023 Alguien con instalación correcta de PrestaShop 8.1 puede realizar la consulta en la BD? On 7/11/2023 at 9:23 PM, aitorjp said: SELECT DISTINCT TABLE_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE COLUMN_NAME = 'id_employee' AND TABLE_SCHEMA='nombreDeBaseDeDatosDondeBuscar' Así podemos localizar la tabla que no tiene el campo id_employee y agregarlo manualmente. Gracias Link to comment Share on other sites More sharing options...
dyley Posted July 12, 2023 Author Share Posted July 12, 2023 Con versión de PHP 7.4 funciona bien pero con la versión 8 de php es cuando da el error Link to comment Share on other sites More sharing options...
ExpertoPrestaShop Posted July 13, 2023 Share Posted July 13, 2023 18 hours ago, aitorjp said: Alguien con instalación correcta de PrestaShop 8.1 puede realizar la consulta en la BD? 1 Link to comment Share on other sites More sharing options...
aitorjp Posted July 13, 2023 Share Posted July 13, 2023 (edited) On 7/13/2023 at 4:09 PM, ExpertoPrestaShop said: Gracias ExpertoPrestaShop , ya localicé el problema en GitHub, pero he tenido día liado y no la escribí aquí. El problema está en la tabla order_payment que no tiene el campo id_employee, al agregarlo manualmente ya deja de dar el error. Dará error 23000, pero al poner los datos del pago de manera manual ya funcionará todo bien. Me falta comprobar si al hacer un cliente un pedido, funciona todo automáticamente y bien como antes del upgrade. Mañana a ver qué tal. Dejo enlace al GitHub por si dan alguna otra solución o dato extra: https://github.com/PrestaShop/PrestaShop/issues/33238 EDIT: **SOLUCIONADO CON EDIT2** No funciona con los nuevos pedidos. El pedido sigue generándose sin estado (Por lo que el cliente no recibe confirmación de pedido ni se genera la factura hasta que cambias manualmente el estado) Y hay que seguir introduciendo datos del pago a mano para que no de error. Redsys no introduce los datos automáticamente, supongo que el módulo recibirá algún error y no continua la operación EDIT2: He eliminado el campo de la tabla creado a mano ya que quizás no lo cree con la configuración adecuada y quizás por eso no funcionaba correctamente. Ahora he creado el campo id_employee con la siguiente consulta SQL: ALTER TABLE `ps_order_payment` ADD `id_employee` INT NULL AFTER `date_add`; A esperar nuevo pedido desde Redsys, que creo que es el que me da mas problemas al crear pedido. EDIT3: SOLUCIONADO. Con la última consulta SQL ALTER TABLE, se ha solucionado todo y ya vuelven a funcionar los cambios de estado, el historial de estados y los datos del pago efectuado por módulo Redsys Edited July 15, 2023 by aitorjp (see edit history) 1 Link to comment Share on other sites More sharing options...
dyley Posted July 16, 2023 Author Share Posted July 16, 2023 la solución es Para las actualizaciones existentes, puede solucionar el problema de forma permanente ejecutando este SQL. ALTER TABLE `ps_order_payment` ADD `id_employee` INT NULL AFTER `date_add`; 1 Link to comment Share on other sites More sharing options...
Electric-Urban Posted July 28, 2023 Share Posted July 28, 2023 (edited) Hola compañeros, soy novato con el tema de la base de datos, he creado el campo id_employee pero la consulta se queda asi: ALTER TABLE `prstshp_order_payment` ADD `id_employee` INT NULL DEFAULT NULL AFTER `date_add`; Alguien me puede decir o subir una captura de que campos hay que marcar para que la consulta se cree correctamente. Despues de crear el campo correctamente hay que hacer algo más como actualizar o refrescar las base de datos... Gracias Edited July 28, 2023 by Electric-Urban (see edit history) Link to comment Share on other sites More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now