Jump to content

[RESOLU] Erreur 500 sur ouverture de certaines commande dans le BO suite à migration 1.6 > 1.7.8


Recommended Posts

Bonjour,

Je suis entrain de préparer une maj de 1.6 vers 1.7.8 

pour ce faire, j'ai un nouveaux serveur chez ovh en php 7.4

sur lequel j'ai installé un prestashop vierge en 1.7.8

Via le module de migration "Upgrade and Migrate tool" j'ai effectué la migration des données de la 1.6 vers la 1.7.8

elle c'est bien passé... produits, clients, commande...

J'ai pour le moment pas d'autre bug que celui ci :

dans Bo > Commande sur certaine commande quand j'essaie de l'ouvrir, j'ai une erreur de type :

Type error: Argument 3 passed to PrestaShop\PrestaShop\Core\Domain\Order\QueryResult\OrderStatusForViewing::__construct() must be of the type string, null given, called in /home/***/***/src/Adapter/Order/QueryHandler/GetOrderForViewingHandler.php on line 367

je joint toute la page debug

quelques pistes et test :

pas de problème pour les commande payé par virement 

les problèmes sont quasi tous sur les commandes payé par multisafpay, mais pas toujours car certaine payé par multisafpay s'ouvre sans problème...

je pense que c'est un problème migration de statut de commande 

 

merci pour votre aide ou vos pistes 

 

 

 

 

Edited by sebwvs (see edit history)
Link to comment
Share on other sites

  • sebwvs changed the title to [RESOLU] Erreur 500 sur ouverture de certaines commande dans le BO suite à migration 1.6 > 1.7.8

salut,

quand on ouvre src\PrestaShop\Core\Domain\Order\QueryResult\OrderStatusForViewing on a  le construct

    /**
     * @param int $orderHistoryId
     * @param int $orderStatusId
     * @param string $name
     * @param string $color
     * @param DateTimeImmutable $createdAt
     * @param bool $withEmail
     * @param string|null $employeeFirstName
     * @param string|null $employeeLastName
     */
    public function __construct(
        int $orderHistoryId,
        int $orderStatusId,
        string $name,
        string $color,
        DateTimeImmutable $createdAt,
        bool $withEmail,
        ?string $employeeFirstName,
        ?string $employeeLastName
    ) {

....

le 3eme argument est donc $name... ton message d'erreur indique qu'il attend un string et il a un null,

on en déduit que la commande que tu essayes d'ouvrir n'a pas de nom de statut de commande

donc il faut verifier en base de donnée si il ne manque pas des statut de commandes lié a cette commande

cdt,

Edited by Alexandre Carette (see edit history)
Link to comment
Share on other sites

Il y a 7 heures, Alexandre Carette a dit :

salut,

quand on ouvre src\PrestaShop\Core\Domain\Order\QueryResult\OrderStatusForViewing on a  le construct

    /**
     * @param int $orderHistoryId
     * @param int $orderStatusId
     * @param string $name
     * @param string $color
     * @param DateTimeImmutable $createdAt
     * @param bool $withEmail
     * @param string|null $employeeFirstName
     * @param string|null $employeeLastName
     */
    public function __construct(
        int $orderHistoryId,
        int $orderStatusId,
        string $name,
        string $color,
        DateTimeImmutable $createdAt,
        bool $withEmail,
        ?string $employeeFirstName,
        ?string $employeeLastName
    ) {

....

le 3eme argument est donc $name... ton message d'erreur indique qu'il attend un string et il a un null,

on en déduit que la commande que tu essayes d'ouvrir n'a pas de nom de statut de commande

donc il faut verifier en base de donnée si il ne manque pas des statut de commandes lié a cette commande

cdt,

Salut et merci Alexandre,

 

en effet,

sur la boutique native j'avais 2 statuts identiques "en attente approvisionnement"

au lieu de  "en attente approvisionnement (payé)" et "en attente approvisionnement (non payé)"

du coup lors de la migration des donnés, dans les choix des mappage des statuts, il me manquait 1 statut (je suppose, qu'il ne l'a pas affiché comme il portait le m^me nom)

et lors de la migration, les commandes portant ce statut  "manquant" causaient l'erreur !...

j'ai résolu, en nommant correctement les statuts dans la boutique native et la nouvelle et en relançant la migration...

merci 

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