[PaaS uniquement]{class="badge informative" title="S’applique uniquement aux projets Adobe Commerce on Cloud (infrastructure PaaS gérée par Adobe) et aux projets On-premise."}

ACSD-64149 : le segment client avec une condition de Date range peut être enregistré lorsqu’une seule date est modifiée

Le correctif ACSD-64149 corrige le problème où un segment client avec une condition de période peut être enregistré lorsqu’une seule des dates est modifiée. Ce correctif est disponible lorsque la version 1.1.60 de Quality Patches Tool (QPT) est installée. L’ID du correctif est ACSD-64149. Notez que ce problème doit être résolu dans Adobe Commerce 2.4.8.

Produits et versions concernés

Le correctif est créé pour la version Adobe Commerce :

  • Adobe Commerce (toutes les méthodes de déploiement) 2.4.6-p8

Compatible avec les versions d’Adobe Commerce :

  • Adobe Commerce (toutes les méthodes de déploiement) 2.4.4 - 2.4.7-p4
NOTE
Le correctif peut s’appliquer à d’autres versions avec de nouvelles versions de Quality Patches Tool. Pour vérifier si le correctif est compatible avec votre version d’Adobe Commerce, mettez à jour le package magento/quality-patches vers la dernière version et vérifiez la compatibilité sur la page Quality Patches Tool : Rechercher des correctifs. Utilisez l’ID du correctif comme mot-clé de recherche pour localiser le correctif.

Problème

Lors de la modification d’un segment client existant avec une condition sur des produits dans le panier spécifié par une période, le matchCustomerSegmentProcessor de clients échoue avec une erreur SQL.

Procédure à suivre :

  1. Assurez-vous que le matchCustomerSegmentProcessor de consommateurs est en cours d’exécution :

    code language-bash
    $ bin/magento que:cons:st matchCustomerSegmentProcessor
    
  2. Allez à la Magento backend.

  3. Accédez à Customers > Segments.

  4. Cliquez sur Add Segment.

  5. Saisissez un Segment Name, sélectionnez un site web sous Assigned to Website et assurez-vous que le Status est défini sur Actif.

  6. Cliquez sur Save and Continue Edit.

  7. Accédez à l’onglet Conditions et ajoutez une nouvelle condition : Produits{} > {}Liste de produits{}.

  8. Ajoutez une sous-condition pour la Date range et définissez une Date range valide.

  9. Cliquez sur le bouton de confirmation vert en regard de la Date range.

  10. Cliquez à nouveau sur le Date range, sélectionnez le sélecteur de dates, modifiez l’une des valeurs de date et confirmez en cliquant sur le bouton vert.

Résultats attendus :

Le sélecteur de Date range ne doit pas ajouter d’heure à la date lors de la modification.

Résultats réels :

  • Le sélecteur de Date range ajoute une heure à la date :

    • Une seule date comporte la date, tandis que l’autre contient la date et l’heure spécifiées.
  • L’erreur suivante s’affiche dans les journaux :

    code language-none
    report.CRITICAL: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ')' at line 2, query was: SELECT `item`.`quote_id` FROM `quote_item` AS `item`
    INNER JOIN `quote` AS `list` ON item.quote_id = list.entity_id WHERE (list.is_active = 1) AND () [] []
    

Application du correctif

Pour appliquer des correctifs individuels, utilisez les liens suivants en fonction de votre méthode de déploiement :

  • Adobe Commerce ou Magento Open Source On-premise : Quality Patches Tool > Utilisation dans le guide de Quality Patches Tool.
  • Adobe Commerce sur les infrastructures cloud : mises à niveau et correctifs > Appliquer des correctifs dans le guide Commerce sur les infrastructures cloud .

Lecture connexe

Pour en savoir plus sur Quality Patches Tool, consultez :

recommendation-more-help
c2d96e17-5179-455c-ad3a-e1697bb4e8c3