prodaja: popust, kategorija, cene po režimu, pretraga, zabrana brisanja

Migracija 092: popust_procenat na stavke_prodaje.
Model: PopustProcenat u StavkaProdaje, KategorijaNaziv u StavkaProdajeSaArtiklom.
Repo: pretraga prodaje proširena na klijenta i napomenu. DohvatiStavke dodaje popust i kategoriju. Kreiraj primenjuje popust na ukupno.
Handler: artikalUJSONSaCenom proširen sa sifra, barkod, cena_sa_pdv, kategorija_naziv. parseFormuProdaje parsira popust. ObrisiProdaju sada koristi storno (zabrana fizičkog brisanja).
JS: prodajaForma ažurirana — pretraga artikala po nazivu/šifri/barkodu, popust polje, kategorija, kalkulacija sa popustom.
Forma: pretraga artikala, popust kolona, kategorija, PDV režim (cena/cena_sa_pdv). Responsive desktop+mobilne kartice.
Detalji: kategorija ispod naziva, popust kolona, 'Ukloni nalog' (storno) umesto 'Obriši'.
This commit is contained in:
2026-06-30 19:14:40 +02:00
parent 3c2dd06f28
commit ac7c9df2eb
7 changed files with 207 additions and 345 deletions
+13 -11
View File
@@ -17,15 +17,16 @@ type ProdajniNalog struct {
// StavkaProdaje predstavlja jednu liniju (artikal) unutar prodaje
type StavkaProdaje struct {
ID int64
NalogID int64
ArtikalID int64
Kolicina int
CenaPoKomadu float64
Ukupno float64
PdvStopa float64
PdvIznos float64
CenaBezPdv float64
ID int64
NalogID int64
ArtikalID int64
Kolicina int
CenaPoKomadu float64
PopustProcenat float64 // rabat u procentima (npr. 10 = 10% popusta)
Ukupno float64
PdvStopa float64
PdvIznos float64
CenaBezPdv float64
}
// UkupnoBezPdv vraća ukupno bez PDV-a za stavku (CenaBezPdv × količina)
@@ -42,6 +43,7 @@ type ProdajniNalogSaDetaljem struct {
// StavkaProdajeSaArtiklom je stavka prodaje sa nazivom artikla — za prikaz u detaljima
type StavkaProdajeSaArtiklom struct {
StavkaProdaje
ArtikalNaziv string
JedinicaMere string
ArtikalNaziv string
JedinicaMere string
KategorijaNaziv string
}