ACSD-64149: è possibile salvare il segmento del cliente con una condizione Date range quando viene modificata una sola data
La patch ACSD-64149 risolve il problema che consente di salvare un segmento del cliente con una condizione di intervallo di date quando viene modificata solo una delle date. Questa patch è disponibile quando è installato Quality Patches Tool (QPT) 1.1.60. L’ID della patch è ACSD-64149. Questo problema è pianificato per la risoluzione in Adobe Commerce 2.4.8.
Prodotti e versioni interessati
La patch è stata creata per la versione di Adobe Commerce:
- Adobe Commerce (tutti i metodi di distribuzione) 2.4.6-p8
Compatibile con le versioni di Adobe Commerce:
- Adobe Commerce (tutti i metodi di implementazione) 2.4.4 - 2.4.7-p4
magento/quality-patches alla versione più recente e verificare la compatibilità nella pagina Quality Patches Tool: Cerca patch. Utilizza l’ID patch come parola chiave di ricerca per individuare la patch.Problema
Quando si modifica un segmento di clienti esistente con una condizione per i prodotti all'interno del carrello specificato da un intervallo di date, il consumatore matchCustomerSegmentProcessor genera un errore SQL.
Passaggi da riprodurre:
-
Verificare che il consumer
matchCustomerSegmentProcessorsia in esecuzione:code language-bash $ bin/magento que:cons:st matchCustomerSegmentProcessor -
Passare a Magento backend.
-
Vai a Customers > Segments.
-
Fai clic su Add Segment.
-
Immettere un Segment Name, selezionare un sito Web in Assigned to Website e assicurarsi che Status sia impostato su Attivo.
-
Fare clic su Save and Continue Edit.
-
Vai alla scheda Conditions e aggiungi una nuova condizione: Prodotti{} > {}Elenco prodotti{}.
-
Aggiungere una sottocondizione per Date range e impostare un Date range valido.
-
Fare clic sul pulsante verde di conferma accanto a Date range.
-
Fai di nuovo clic su Date range, seleziona il selettore di date, modifica uno dei valori di data e conferma facendo clic sul pulsante verde.
Risultati previsti:
Il selettore Date range non deve aggiungere l'ora alla data durante la modifica.
Risultati effettivi:
-
Il selettore Date range aggiunge un orario alla data:
- Una data ha solo la data, mentre l’altra ha sia la data che l’ora specificate.
-
Nei registri viene visualizzato il seguente errore:
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 () [] []
Applicare la patch
Per applicare singole patch, utilizzare i collegamenti seguenti, a seconda del metodo di distribuzione utilizzato:
- Adobe Commerce o Magento Open Source on-premise: Quality Patches Tool > Utilizzo nella guida di Quality Patches Tool.
- Adobe Commerce su infrastruttura cloud: Aggiornamenti e patch > Applica patch nella guida Commerce su infrastruttura cloud.
Lettura correlata
Per ulteriori informazioni su Quality Patches Tool, vedere:
- Quality Patches Tool: strumento self-service per patch di qualità nella guida degli strumenti.