dolibarr-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Dolibarr-dev] Fonction price() et split("\.",$amount)


From: Laurent Destailleur (Eldy)
Subject: Re: [Dolibarr-dev] Fonction price() et split("\.",$amount)
Date: Tue, 31 Jul 2007 20:07:56 +0200
User-agent: Thunderbird 2.0.0.5 (Windows/20070716)

Non, la gestion des décimales n'est correcte qu'a partir de la version CVS actuelle. En 2.1 c'était ko, c'est dailleurs une des raisons pour laquelle je n'ai pas release la 2.1 et je l'ai laissé a l'état de beta. En effet ce problème était pour moi un pb grave qui empechera tout utilisateur d'avoir a terme un compta expert, aussi j'ai préféré regler ce pb et vise maintenant une 2.2 en release maintenant qu'il est résolu (du moins je le crois).


Yannick Warnier a écrit :
Le mardi 31 juillet 2007 à 00:33 +0200, Laurent Destailleur (Eldy) a
écrit :
En toute logique le bon code c'est

'\.' et non '.'
En effet, le . en regex nveut dire n'importequel caractere. Hors on veut coupé la partie entiere et decimal sur le point. Et pour eviter tout souci avec le , ces dernieres sont converties en . juste avant. Tout devrait donc fonctionner.

Peut-tu donner un exemple de cas qui ne fonctionne pas. Peux tu afficher la trace //print "amount=".$amount." html=".$html." trunc=".$trunc." nbdecimal=".$nbdecimal." dec=".$dec." thousand=".$thousand;
en ligne 1972 sur la version 1.328 dans ce cas.
Car tout devrait fonctionner en l'état.

OK, en effet, tu as raison. Il y avait un effet de bord bizarre quand
j'ai retiré le \ qui a supprimé la partie après le point, ce qui a rendu
les montants un peu plus lisibles.

En attendant je pensais qu'on avait réglé le problème du nombre de
chiffres après la virgule dans la version 2.1 mais il semblerait que,
par exemple, la constante MAIN_MAX_DECIMALS_SHOWN n'est pas créée par le
script de migration.

Cette constante intervient par ailleurs uniquement sur l'affichage des
montants, donc on a toujours des montants calculés avec TVA de 18,3475,
mais bon, tant pis.

Merci pour la correction.

Yannick


Yannick Warnier a écrit :
Salut,

Dans la fonction price() (htdocs/lib/functions.inc.php), au moins dans
la version 2.1 beta sur CVS, il y a la ligne suivante:

$datas = split("\.",$amount);

Or la définition de la fonction split() ne fait pas mention d'un type de
formatage particulier pour la chaîne de caractère qui sert de
délimiteur...

En fait, ici je me retrouve avec plein de factures fournisseur où il
confond . et , (ça donne de très grosses dettes envers les fournisseurs
dans l'écran de factures fournisseur par exemple).

En retirant le "\", tout refonctionne à nouveau. Des commentaires avant
que je l'enlève de la fonction?

Yannick



_______________________________________________
Dolibarr-dev mailing list
address@hidden
http://lists.nongnu.org/mailman/listinfo/dolibarr-dev




_______________________________________________
Dolibarr-dev mailing list
address@hidden
http://lists.nongnu.org/mailman/listinfo/dolibarr-dev



--
Laurent Destailleur.
---------------------------------------------------------------
EMail: address@hidden
Web: http://www.destailleur.fr
IM: IRC=Eldy, Jabber=Eldy

AWStats (Author) : http://awstats.sourceforge.net
CVSChangeLogBuilder (Author) : http://cvschangelogb.sourceforge.net
AWBot (Author) : http://awbot.sourceforge.net
Dolibarr (Contributor) : http://www.dolibarr.org





reply via email to

[Prev in Thread] Current Thread [Next in Thread]