Bonjour,
J'utilise la version 2.1 de Firebird (WI-V2.1.2.18118).J'en suis au développement, il n'y a aucune production. Donc pas de problème pour trafiquer la base.
J'essaie de faire quelques calculs sur la TVA.
Seulement, il me met l'erreur ci-dessous. J'ai donc essayé de découper la requête pour tester la partie qui pose problème (normalement, il n'y a pas d'union).
Si j'enlève " * (1 - (REMISE_EN_POURCENT_TOTALE / 100))", la requête fonctionne :
Et si je le remplace par " * 0.99"
ISC ERROR CODE:335544779
ISC ERROR MESSAGE:
Integer overflow. The result of an integer operation caused the most significant bit of the result to carry.
STATEMENT:
TIBOInternalDataset: "<TApplication>.frmMain.dlgWisql.<TIBOQuery>.<TIBOInternalDatLes chiffres ne sont pas gros. Voyez-vous de quel problème il s'agit ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 SELECT (SUM(TVA1) * (1 - (REMISE_EN_POURCENT_TOTALE / 100))) as TVA1, TAUX, DESCRIPTION FROM ( SELECT SUM((LIGNE_COMMANDE.PU_HT * LIGNE_COMMANDE.QUANTITE - Ligne_Commande.Remise - (Ligne_Commande.PU_HT / 100 * Ligne_Commande.Quantite * Ligne_Commande.Remise_en_pourcent)) * (TVA.TAUX / 100)) as TVA1, TVA.DESCRIPTION, TVA.TAUX, COMMANDE.REMISE_EN_POURCENT_TOTALE FROM LIGNE_COMMANDE JOIN TVA on TVA.NUMERO_TVA=LIGNE_COMMANDE.NUMERO_TVA JOIN Commande ON Commande.NUMERO_DE_COMMANDE=Ligne_Commande.NUMERO_DE_COMMANDE WHERE LIGNE_COMMANDE.NUMERO_DE_COMMANDE='1' GROUP BY TAUX, DESCRIPTION, COMMANDE.REMISE_EN_POURCENT_TOTALE UNION SELECT 0 as TVA1, TVA.DESCRIPTION, TVA.TAUX, COMMANDE.REMISE_EN_POURCENT_TOTALE FROM LIGNE_COMMANDE JOIN TVA on TVA.NUMERO_TVA=LIGNE_COMMANDE.NUMERO_TVA JOIN Commande ON Commande.NUMERO_DE_COMMANDE=Ligne_Commande.NUMERO_DE_COMMANDE WHERE LIGNE_COMMANDE.NUMERO_DE_COMMANDE='1') GROUP BY TAUX, DESCRIPTION, REMISE_EN_POURCENT_TOTALE
Merci
Partager