FOX028 mi je veoma mnogo pomogao kod stvaranja ove baze i ona je u finalnoj fazi.
Sada imam jedan problem koji ne umem nikako da resim.
Naime radi se o takozvanom "izbijanju" iz cene.
Npr. Mi trgovcu kazemo da slavski kolac prodaje za 200 dinara i on ima rabat 20% a PDV je 8%.
Znaci cenu izracunavam ovako : 200/1.20/1.08 = 154.32098765432098765432098765432 (zaokruzeno 154.32)
Code:
Round((Nz([jedinicnacena];0)/(1+(Nz([rabat];0)/100)))/(1+Nz([pdv];0));2)
Na tu cenu ponovo dodam 8% PDV i tako dobijem prodajnu cenu od 166,67
To funkcionise ali imam jedan drugi problem ako kupac nema rabat (sto je doduse veoma retko ali se desava) onda imam sledecu situaciju.
200/1/1.08=185.18518518518518518518518518519 (zaokruzeno 185.19) i kada na to dodam 8% (14.82) PDV imam rezultat 200.01 za jedan komad ali za 1000 komada imam razliku od 5,20 dinara.
Isti problem imam i sa produktom koji kosta 100 dinara a kupac ima rabat od 20% jer na kraju kada sve izracunam za 1 kom imam cenu od 100 dinara ali za 100 komada imam cenu 9.999,72 dinara.
kako ovo da uradim da funkcionise? ocigledno negde pogresnoupotrebljavam ROUND.
Rabat od 20% se unosi kao 20 a PDV 8% kao 0.08.
Evo ovde i kompletan SQL u upitu:
Code:
SELECT OtpremnicaArtikli.IDOtpremnica,
OtpremnicaArtikli.IDArtikl,
Artikli.Artikl,
OtpremnicaArtikli.Kolicina,
Artikli.JedinicaMere,
OtpremnicaArtikli.JedinicnaCena,
OtpremnicaArtikli.PDV,
OtpremnicaArtikli.Rabat,
Round((Nz([jedinicnacena], 0)/(1+(Nz([rabat], 0)/100)))/(1+Nz([pdv], 0)), 2) AS IznosRabat,
(Nz([iznosrabat], 0)*(1+Nz([pdv], 0)))*Nz([kolicina], 0) AS Iznos,
(Nz([iznosrabat], 0)*Nz([kolicina], 0)) AS PoreskaOsnovica,
(Nz([PoreskaOsnovica], 0)*(Nz([pdv], 0))) AS IznosPDV,
Artikli.NemaRabat
FROM Artikli
RIGHT JOIN OtpremnicaArtikli ON Artikli.IDArtikl = OtpremnicaArtikli.IDArtikl
WHERE (((OtpremnicaArtikli.IDOtpremnica)=[Forms]![Otprmnice]![IDOtpremnica]));
Hvala i prijatan dan