lizards Posted May 14, 2010 Posted May 14, 2010 Ciao a tutti,mi sono infilata in due-tre threads pensando di avere lo stesso problema di altri (quello dei permessi) e pensavo anche di averlo risolto come gli altri...invece NO! Ho pensato quindi che la cosa migliore sia rispiegare il problema dall'inizio.Ho la cartella MODULES e tutte le sottocartelle e i files impostati a 755.Le email di registrazione mi arrivano perfettamente e se faccio un ordine che NON PREVEDE un pagamento (articoli a zero e zero costi di spedizione) l'ordine viene correttamente registrato e mi spedisce l'email dell'ordine senza problemi.Ho un problema utilizzando il sistema di pagamento BONIFICO BANCARIO e CONTRASSEGNO (ho lo stesso problema sia con CONTRASSEGNO STANDARD DI PRESTASHOP che con il modulo CASH ON DELIVERY AURAL).IL PROBLEMA E' IL SEGUENTE:========================qualunque prodotto io abbia che deve essere pagato, scegliendo la modalità di pagamento CONTRASSEGNO o BONIFICO ottengo il seguente messaggio di errore:Errore sistema (Order -> total_products = 21.6700000000000017053025658242404460906982421875)(allego anche lo screenshot per maggiore precisione)questo numero lunghissimo ho notato che corrisponde alla cifra del totale dell'ordine al NETTO DELL'IVA infatti il numero cambia al cambiare dei prodotti. Ottengo questo messaggio per TUTTI i prodotti tranne quelli che hanno un numero con al massimo due digit dopo la virgola.CIOE' se compro il prodotto XXX che costa 25.00 euro senza IVA e con IVA 30.00 euro l'ordine va a buon fine.SE COMPRO il prodotto YYY che costa 9.17 euro senza IVA e con IVA 11.00400 l'ordine chiama un numero lunghissimo con un sacco di decimali e mi genera l'errore. ===================================DOVREI TROVARE IL MODO PER "BLOCCARE" IL NUMERO DI DIGIT DOPO LA VIRGOLA: esiste? Qualcuno lo ha già fatto? A qualcun altro è già capitato?Ringrazio in anticipo chi potrà aiutarmi! Vale Share this post Link to post Share on other sites More sharing options...
xhaxhi_eli Posted May 14, 2010 Posted May 14, 2010 Allora, è un tentativo un po a occhi chiusi ma vale la pena provare.File validation.php del modulo cashondelivery (quello normale)Riga: 14 (se non è quella cerca un po, tanto è un file piccolo) $total = $cart->getOrderTotal(true, 3); fallo diventare $total = round($cart->getOrderTotal(true, 3),2); Cosi, il totale lo mandi in modo arrotondato a 2 cifre dopo la virgola mobile. Fai una prova, se non funziona rimetti a posto com'era. Share this post Link to post Share on other sites More sharing options...
lizards Posted May 14, 2010 Posted May 14, 2010 CIAO! Grazie per il suggerimento ma non ho risolto e forse ho anche capito perchè...Il problema non è nel VALIDATION (o forse NON SOLO nel validation).Provo a spiegare cosa altro ho notato:- ho effettuato un ordine con 3 prodotti: uno che costa 13euro, un altro che costa 13euro, un altro che costa 22euro (vedi lo screenshot che si chama prezzi 3 prodotti)- il totale del carrello che mi aspetto è di 48euro PRECISE- invece il mio carrello riporta 47,99euro perchè considera i decimali(vedi lo screenshot che si chiama carrello)QUINDI IL WORKAROUND SUGGERITO SECONDO ME va applicato al calcolo del prezzo, non ai vari validation...ma DOVE? COME? Grazie per quanto potrete fare per aiutarmi! Vale Share this post Link to post Share on other sites More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now