PC SOFT

GRUPOS DE DISCUSSÃO PROFISSIONAL
WINDEVWEBDEV e WINDEV Mobile

Inicio → WINDEV 2024 → Arrondi des centimes
Arrondi des centimes
Iniciado por guest, jun., 17 2005 6:59 PM - 5 respostas
Publicado em junho, 17 2005 - 6:59 PM
Pour un logiciel de gestion commerciale, je développe une interface avec une comptabilité. Or, entre les montants du débit et du crédit, j'ai toujours un écart de 1 centime. C'est souvent à cause d'un problème d'arrondi.

Est ce que quelqu'un a déjà eu le même problème ? quelle en serait la solution ?

Merci.
Publicado em junho, 17 2005 - 7:26 PM
J'ai développé des interfaces comptables et Je vous conseille de faire,
pour le montant de la TVA, Prix TTC moins Prix HT.

Compte Client : Montant TTC
Compte Article 1 : Montant HT article 1
Compte Article 2 : Montant HT article 2
Compte Article 3 : Montant HT article 3
Compte TVA : Montant TTC - (Montant HT article 1 + Montant HT article 2
+ Montant HT article 3)


SG a écrit :
Pour un logiciel de gestion commerciale, je développe une interface avec une comptabilité. Or, entre les montants du débit et du crédit, j'ai toujours un écart de 1 centime. C'est souvent à cause d'un problème d'arrondi.

Est ce que quelqu'un a déjà eu le même problème ? quelle en serait la solution ?

Merci.
Publicado em junho, 17 2005 - 10:53 PM
slt, je suis aussi un developpeur windev, j'ai le même prob, est ce qu'il y a une solution et merci.
Publicado em junho, 17 2005 - 10:53 PM
slt, je suis aussi un developpeur windev, j'ai le même prob, est ce qu'il y a une solution et merci.
Publicado em junho, 19 2005 - 3:23 PM
Pour ma part j'utilise cette procédure....



PROCEDURE NombreArrondi(VNombre)

Vdecimal est un real=PartieDécimale(Arrondi(VNombre,2))
Vdec1 est une chaîne=Droite(NumériqueVersChaîne(Vdecimal),1)
Vdec2 est une chaîne=Milieu(NumériqueVersChaîne(Vdecimal),3,1)
Vreal est un real=0

SELON Vdec1

CAS "0"
Vreal=PartieEntière(VNombre)+(Val("0."+Vdec2+Vdec1))
CAS "1"
Vreal=PartieEntière(VNombre)+(Val("0."+Vdec2+Vdec1)-0.01)
CAS "2"
Vreal=PartieEntière(VNombre)+(Val("0."+Vdec2+Vdec1)-0.02)
CAS "3"
Vreal=PartieEntière(VNombre)+(Val("0."+Vdec2+Vdec1)+0.02)
CAS "4"
Vreal=PartieEntière(VNombre)+(Val("0."+Vdec2+Vdec1)+0.01)
CAS "5"
Vreal=PartieEntière(VNombre)+(Val("0."+Vdec2+Vdec1))
CAS "6"
Vreal=PartieEntière(VNombre)+(Val("0."+Vdec2+Vdec1)-0.01)
CAS "7"
Vreal=PartieEntière(VNombre)+(Val("0."+Vdec2+Vdec1)+0.03)
CAS "8"
Vreal=PartieEntière(VNombre)+(Val("0."+Vdec2+Vdec1)+0.02)
CAS "9"
Vreal=PartieEntière(VNombre)+(Val("0."+Vdec2+Vdec1)+0.01)
FIN

RENVOYER Vreal
Publicado em junho, 20 2005 - 4:42 AM
Salut,
J'avai le même problème et j'ai opté à une solution plus proche de la réponce précédente d'abord il faut demander à l'opérateur de choisir soit de saisir en HT ou en TTC s'il choisi de saisir en HT par exemple : pour toutes les saisies des articles dans la table de la pièce en question arrodir à 2 après la vérgule les montant HT et à la fin de la saisie pour le total de la pièce HT égale la somme des HT la TVA égale la somme des TVA de chaque ligne calculée déjà à base de HT puis le TTC est calculé par addition de HT et la TVA dans le cas de la saisie en TTC l' HT est calculé par différence de TTC et TVA.

Bon dev .