Citat:
Vec duze vreme odlzem resavenje ovog problema... Danas sam ubacio pretvaranje iz Eura u Dinare i dosao do zakljucka da sve prethodne fakture/racuni ce promeniti vrednost kako ja ubacujem novi kurs dinara prema evru itd. Naravno to je isti slucaj bio i sa promenom cena artikala ali sam to resio tako sto kad god bi doslo do promene cene nekog artikla ja bih ga ubacio pod novom sifrom sa novom cenom....
Ima s u TOP temama nesto o magacinima, maloprodajam i kaficima, gde su je pokazano kako s emoze resiti ono sto et muci:
- pravilno racunanje stanja (tvoj prethodni post)
- ocubanje cena na fakturama kad dodje do promene. Taman posla "kad god bi doslo do promene cene nekog artikla ja bih ga ubacio pod novom sifrom sa novom cenom"
Sto se tice cene, prica se svodi na dva moguca resenja:
1) cena se u momentu kreiranja stavke na fakturi bukvalno prepisuje, kopira iz tabele Artikli (ArtiklId, TrenutnaCena) u tabelu StavkeFakture
Znaci, dodas kolonu Cena u tblStavkeFakture i svaki put prepises vrednost iz tabele tblArtikli u kojoj cuvas trenutne cene.
2) u tabeli tblStavkeFakture ne drze se cene ali zato psotoji poebna tabela PromeneCene sa samo tri kolone (Artikl, Cena, DatumOdKogaVazicena)
U PromeneCene se upisuej svaka nova cena za svaki artikl i NE BRISE SE NISTA NIKAD iz te tabele.
Onda se u kverijima koji racunaju sumu na fakturi poziva ona cena koja je vazila recimo na dan izdavanja fakture pa se to kombinuje sa StavkamaFakture.
Prvi nacin je laksi za razumevanje i verovatno ces to koristiti (to imas i u TOP temama). drugi nacin je teorijski 'cistiji' ali se malo ljudi odlucuje da ga koristi jer je tezi za razumevanje i manje siguran. Ako neko greskom ili namerno obrise neki rekord iz tabele PromeneCene , to se ne primeti lako. Iznenada neke fakture (ne sve) imaju pogresne cene i zbirove. Ta vrsta grske se tesko otkriva, uglavnom kad je vec prekasno ili na kraju obracunskog perioda. Zato se ovo resenje ne koristi masovno, bar ne uknjigovodstvu. Ako koristis prvi metod, prepisivanje cene, greske se brzo otkrivaju pa se brzo mogu i otkloniti.
Sto se tice pretvaranja EU i Dinare, ista stvar, uz male varijacije:
Metod 1: prepisujes trenutni kurs u tabelu Fakture (ne StavkeFakture nego Fakture) i onda kad god ti treba zbir u devizama, mnozis to sto si zapamtio sa dinarskim cenama iz tabele StavkeFaktura.
Metod 2: vois posebnu tabelu PromenaKursa (Kurs, KursVasiOddatuma) i svaku promenu kursa upisujes tu. Onda za datum fakture nadjes poslednju promenu kursa pre datuma fakture i odatle procitas kurs. Kveriji su naravno komplikovani i nezgodni za pisanje...
