Ciao a tutti,
non essendo un esperto di Magento vorrei capire se questo comportamento è normale oppure c'è qualcosa di errato.
Ho notato che, quando si procede con un acquisto di un prodotto specificando le opzioni (es. la taglia), nella tabella sales_order_item vengono salvati due items:
- uno relativo al prodotto simple acquistato (con parent_id il prodotto configurable associato);
- uno relativo al prodotto configurable relativo:
Qualcosa del genere:
SIMPLE:
'112853', '96037', '112852', '513440', '3', '2023-03-06 12:45:38', '2023-03-06 12:45:38', '16132', 'simple', '{\"info_buyRequest\":{\"uenc\":\"aHR0cHM6Ly9hbHBoYS5uYXZpb25pY3MuY29tL2l0YS9uYXZpb25pY3MtcGx1cy1za2FnZXJyYWstYW5kLWthdHRlZ2F0LTIuaHRtbA,,\",\"product\":\"16077\",\"selected_configurable_option\":\"\",\"related_product\":\"\",\"qty\":\"1\",\"super_attribute\":{\"140\":\"4\"}}}', '1.0000', '0', 'mySKU', 'My prod name', NULL, NULL, NULL, '0', '0', NULL, '0.0000', '1.0000', '1.0000', '0.0000', '0.0000', NULL, '0.0000', '0.0000', '0.0000', NULL, '0.0000', '0.0000', '0.0000', '0.0000', '0.0000', '0.0000', '0.0000', '0.0000', '0.0000', '0.0000', '0.0000', '0.0000', '0.0000', '0.0000', '0.0000', '0.0000', '0.0000', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0.0000', '0.0000', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0.0000', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '11111'
CONFIGURABLE:
'112852', '96037', NULL, '513439', '3', '2023-03-06 12:45:38', '2023-03-06 12:47:18', '16077', 'configurable', '{\"info_buyRequest\":{\"uenc\":\"aHR0cHM6Ly9hbHBoYS5uYXZpb25pY3MuY29tL2l0YS9uYXZpb25pY3MtcGx1cy1za2FnZXJyYWstYW5kLWthdHRlZ2F0LTIuaHRtbA,,\",\"product\":\"16077\",\"selected_configurable_option\":\"\",\"related_product\":\"\",\"qty\":\"1.0000\",\"super_attribute\":{\"140\":\"4\"}},\"attributes_info\":[{\"label\":\"my option label",\"value\":\"my option value",\"option_id\":140,\"option_value\":\"4\"}],\"simple_name\":\"My prod name",\"simple_sku\":\"mySKU",\"product_calculations\":1,\"shipment_type\":0}', '1.0000', '0', 'mySKU', 'My prod name', NULL, NULL, NULL, '0', '0', NULL, '0.0000', '1.0000', '1.0000', '0.0000', '1.0000', NULL, '204.9100', '204.9100', '204.9100', '204.9100', '22.0000', '45.0800', '45.0800', '45.0800', '45.0800', '0.0000', '0.0000', '0.0000', '0.0000', '0.0000', '0.0000', '0.0000', '204.9100', '204.9100', '204.9100', '204.9100', '1.0000', NULL, NULL, NULL, NULL, NULL, '249.9900', '249.9900', '249.9900', '249.9900', '0.0000', '0.0000', '0.0000', '0.0000', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, '0', '[]', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0.0000', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '11111'
La cosa 'strana' è che, sull'item 'simple' non ci sono le informazioni relative ai prezzi (che, invece, sono riportate in quello configurable).
Ho notato questo comportamento dopo l'upgrade alla versione 2.4.4.
Guardando lo storico nel db, vedo che, anche prima venivano aggiunte due righe (una per il simple e una per il configurable) quando, durante l'acquisto, su specifica la configurable option (la taglia) ma, prima dell'aggiornamento, l'item simple conteneva anche i prezzi.
Ho notato questo perché, quando provo ad effettuare il reso/refund, di questo item non riesco (via codice) a recuperare i prezzi.
Qualche idea?
Grazie
Dai dati forniti, sembra che dopo l'aggiornamento a Magento 2.4.4 possa esserci stata una modifica nella gestione e memorizzazione dei prezzi nella tabella "sales_order_item". L'assenza delle informazioni di prezzo nell'elemento 'simple' potrebbe essere il risultato di questa modifica. Tuttavia, senza conoscere le personalizzazioni specifiche e la configurazione del tuo negozio Magento, è difficile individuare la causa esatta.
Ecco alcuni passaggi che puoi seguire per indagare e risolvere potenzialmente il problema:
Verifica i prezzi dei prodotti: Controlla i prezzi dei prodotti semplici nel pannello di amministrazione di Magento. Assicurati che i prodotti 'simple' abbiano il prezzo corretto e il prezzo speciale (se applicabile) definito correttamente.
Controlla le regole dei prezzi: Esamina le regole dei prezzi e le regole del carrello nel tuo negozio Magento. Queste regole potrebbero influenzare il calcolo dei prezzi durante il processo di acquisto e potrebbero essere la causa della differenza nella memorizzazione dei prezzi.
Esamina le personalizzazioni: Se hai del codice personalizzato o estensioni che gestiscono i prezzi o gli ordini, esamina attentamente queste personalizzazioni per possibili conflitti o problemi con l'ultima versione di Magento. Verifica la presenza di eventuali metodi deprecati o codice obsoleto che potrebbe influire sulla gestione dei prezzi.
Verifica le modifiche allo schema del database: Analizza le modifiche allo schema del database apportate durante l'aggiornamento. Potrebbero esserci delle modifiche relative alla memorizzazione dei prezzi o al modo in cui i prezzi sono associati agli elementi dell'ordine.
Debugging: Implementa il logging o il debugging per tracciare il flusso dei dati e indagare ciò che accade durante il processo di checkout, specialmente quando i prezzi vengono calcolati e assegnati agli elementi dell'ordine.
Verifica gli aggiornamenti: Assicurati che tutte le tue estensioni e moduli siano aggiornati e compatibili con Magento 2.4.4. Gli sviluppatori potrebbero aver rilasciato patch o aggiornamenti per risolvere i problemi riscontrati nella nuova versione.
Se non ti senti sicuro di svolgere queste attività da solo, considera di chiedere assistenza a un sviluppatore o consulente Magento che possa condurre una completa indagine e apportare le necessarie correzioni per garantire che i prezzi vengano memorizzati e recuperati correttamente durante il processo di rimborso.
Se hai bisogno di assistenza per risolvere il problema, non esitare a contattarci presso Milople Technologies Pvt Ltd. Siamo disponibili per aiutarti con la tua configurazione Magento e risolvere eventuali problemi relativi ai prezzi o ad altri aspetti del negozio. Siamo qui per fornire supporto e assistenza per garantire che il tuo negozio funzioni correttamente dopo l'aggiornamento. Non esitare a raggiungerci se hai domande o hai bisogno di aiuto.