Jump to content

Erreur inattendue Prestashop 8.2.3 Nouvelle installation


Recommended Posts

Bonjour à tous,

Contexte :
Installation Prestashop 8.2.3 propre. Import des tables de l'ancienne boutique 1.6.1.24 "product, orders, orders state, orders history, order carrier, order details, customers, adresse, order state, order stats lang". Pour avoir une traces des anciens clients et de leur commande.

Problème :
Dans le back office, page commande, quand je clique sur la loupe, j'ai cette erreur :

Oups... une erreur inattendue semble s'être produite
PrestaShop\PrestaShop\Core\Domain\Order\QueryResult\OrderShippingAddressForViewing::__construct() : l'argument n° 6 ($address2) doit être de type chaîne, null donné, appelé dans /home/xxxx/xxxx/src/Adapter/Order/QueryHandler/GetOrderForViewingHandler.php à la ligne 318
[TypeError 0]

Tentative de correction :
Construction d'un module pour éviter de toucher au cœur de PrestaShop mais sans succès. Module ci-joint.

Merci pour vos retours.

fixorderinvoiceaddress_with_composer.zip

Edited by lpf
Correction orthographique (see edit history)
Link to comment
Share on other sites

Rendez-le vide au lieu de null.

OU effectuez une sauvegarde de la table d'adresses et exécutez la requête suivante dans la base de données.

UPDATE `ps_address` SET address2 = '' WHERE address2 IS NULL;

Assurez-vous que le préfixe de la table est correct dans la requête en fonction de votre préfixe d'installation.

  • Like 1
Link to comment
Share on other sites

Retour d'expérience.

Effectivement "NULL" pose problème. Il "faudrait" changer toutes les entrée car l'erreur est empirique, quand changement dans une colonne, c'est celle d'a coté qui crie à l'aide. De plus, certaine colonnes sont ou manquantes ou en trop, bref la structure des table est "parfois" différente de 1.6 à 8.x.x. Je développe un script pour une transition en douceur des données d'une table 1.6.x.x vers 8.x.x. Pour le moment j'ai installé mon ancienne boutique en local pour garder une trace des clients et de leur facture.

Du coup, à votre avis concernant les tables ci-dessous à récupérer pour tous les client et toutes leur facture, Quel serait selon vous celles à ne pas récupérer ou d'autres à récupérer justement ?

ps_customer → infos principales (email, mot de passe haché, date d’inscription, etc.)
ps_address → adresses clients (facturation & livraison)
ps_country, ps_state → pour les références de pays/régions (souvent nécessaires en clé étrangère)
ps_orders → commandes principales (id_customer, id_address_delivery, id_address_invoice, total, date, etc.)
ps_order_detail → lignes de commande (produits commandés)
ps_order_invoice (et ps_order_invoice_payment si présent) → factures et paiements
ps_order_payment → infos sur les paiements (transaction, montant, méthode)
ps_order_history → historique des statuts
ps_order_state et ps_order_state_lang → noms et états des statuts de commande
ps_message → messages envoyés depuis le back-office liés aux commandes (garder le suivi)
ps_cart → paniers
ps_cart_product → produits dans les paniers
ps_connections / ps_guest → suivi des sessions liées aux paniers

Merci de vos retours

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...