Page 1 of 1

De ce sumele din D300 si D390 nu sunt egale?

Posted: 23 Jan 2017, 23:40
by imre.bodosi
De ce intre sumele baze de calcul din D300 si D390 este o diferenta de 1-2 lei?

Code: Select all

JC: sa consideram doua operatii AIC de la doi partneri EU
  170001 23/01/2017 ELCOMP GMBH.    2Ax     Baza: 5.40   TVA: 1.03       
  170003 23/01/2017 BELLA ROMA      2Ax     Baza: 5.40   TVA: 1.03         

D300: bazele si TVA sunt adunate pe operatii (pe AIC), dupa care rotunjite
  JC 18.1   AIC, cump. obligat la plata TVA, furnizor inreg.SM   Baza: 11   TVA:2

D390: bazele sunt adunate pe partener si rotunjite
  2017.01   DE136695976    ELCOMP GMBH. DE   Baza: 5
  2017.01   IT12345670017  BELLA ROMA   IT   Baza: 5

Lista de comparare din 300: apare o dif. de 1 leu intre bazele 300 si 390
  d2.Achizitii (AIC)  D300:18+19   11.00   D390:10.00    Diferenta:1.00
Diferenta rezulta din cauza rotujirilor efectuate in alta ordine in cele doua declaratii:

In D390:
Round(5.40,0)+Round(5.40,0)=5+5=10
In D300:
Round(5.40+5.40,0)=Round(10.80,0)=11

Round(suma,0) este o functie care returneaza valoarea rotunjita la intreg a sumei, adica
-daca partea zecimala este sub 0,5 se rotunjeste la intregul mai mic,
-daca partea zecimala este 0.5 sau mai mare, se rotunjeste la intregul mai mare.

Sa facem putina matematica: :roll:
Despre proprietatile operatiilor, distributivitate:
https://ro.wikipedia.org/wiki/Algebr%C4 ... lean%C4%83 sectiunea Proprietati

Noi avem inegalitate:
10#11, adica
Round(5.40+5.40,0)#Round(5.40,0)+Round(5.40,0)
Aceasta egalitate/inegalitate descrie proprietatea distributiva a functiei Round fata de +.

In general ni se invata cazuri ideale, teoretice in care o opearatie este distribuitiva fata de cealalta,
adica de exemplu * este distributiva fata de +
a * (b + c) = a * b + a * c
Sau daca in loc de * folosim o functie:
f(a, b + c) = f(a, b) + f(a, c)
Datorita exemplelor ideale invatate ni s-a format convingerea ca asemenea operatii au proprietati distributive.

In exemplul nostru in loc de functia f avem functia Round,
insa asa cum arata contraexemplul de mai sus,
Round nu este distributiva fata de + si
din acest motiv intre sumele baze de calcul din D300 si D390 este o diferenta rezultata
din modul diferit de rotunjire. :geek: