Prodaja: cena/PDV po PDV statusu firme — non-PDV firma vidi bruto cenu i nultu stopu
This commit is contained in:
@@ -189,6 +189,13 @@ func (h *Handler) SacuvajProdaju(w http.ResponseWriter, r *http.Request) {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// za firme koje nisu PDV obveznici prisilno nulliraj PDV stopu (odbrana od klijentske greške)
|
||||||
|
if !h.modulUkljucen(r.Context(), "pdv") {
|
||||||
|
for i := range stavke {
|
||||||
|
stavke[i].PdvStopa = 0
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
brojNaloga, err := h.ProdajaRepo.SledeciBroj(r.Context())
|
brojNaloga, err := h.ProdajaRepo.SledeciBroj(r.Context())
|
||||||
if err != nil {
|
if err != nil {
|
||||||
slog.Error("greška pri generisanju broja naloga", "error", err)
|
slog.Error("greška pri generisanju broja naloga", "error", err)
|
||||||
|
|||||||
@@ -159,7 +159,7 @@ document.addEventListener('alpine:init', () => {
|
|||||||
).slice(0, 30)
|
).slice(0, 30)
|
||||||
},
|
},
|
||||||
dodajStavku() {
|
dodajStavku() {
|
||||||
this.stavke.push({artikal_id: '', kolicina: 1, cena: 0, cena_sa_pdv: 0, pdv_stopa: 20, popust: 0, kategorija_naziv: ''})
|
this.stavke.push({artikal_id: '', kolicina: 1, cena: 0, cena_sa_pdv: 0, pdv_stopa: this.pdvObveznik ? 20 : 0, popust: 0, kategorija_naziv: ''})
|
||||||
},
|
},
|
||||||
ukloniStavku(i) {
|
ukloniStavku(i) {
|
||||||
if (this.stavke.length > 1) this.stavke.splice(i, 1)
|
if (this.stavke.length > 1) this.stavke.splice(i, 1)
|
||||||
@@ -167,15 +167,17 @@ document.addEventListener('alpine:init', () => {
|
|||||||
popuniCenu(stavka) {
|
popuniCenu(stavka) {
|
||||||
const a = this.artikliOpcije.find(x => x.id == stavka.artikal_id)
|
const a = this.artikliOpcije.find(x => x.id == stavka.artikal_id)
|
||||||
if (a) {
|
if (a) {
|
||||||
stavka.cena = a.cena || 0
|
|
||||||
stavka.cena_sa_pdv = a.cena_sa_pdv || 0
|
stavka.cena_sa_pdv = a.cena_sa_pdv || 0
|
||||||
stavka.pdv_stopa = a.pdv_stopa !== undefined ? a.pdv_stopa : 20
|
|
||||||
stavka.kategorija_naziv = a.kategorija_naziv || ''
|
stavka.kategorija_naziv = a.kategorija_naziv || ''
|
||||||
|
if (this.pdvObveznik) {
|
||||||
|
stavka.cena = a.cena || 0
|
||||||
|
stavka.pdv_stopa = a.pdv_stopa !== undefined ? a.pdv_stopa : 20
|
||||||
|
} else {
|
||||||
|
stavka.cena = a.cena_sa_pdv || a.cena || 0
|
||||||
|
stavka.pdv_stopa = 0
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
prikaziCenu(stavka) {
|
|
||||||
return this.pdvObveznik ? (stavka.cena || 0) : (stavka.cena_sa_pdv || stavka.cena || 0)
|
|
||||||
},
|
|
||||||
dostupnaKolicina(i) {
|
dostupnaKolicina(i) {
|
||||||
const stavka = this.stavke[i]
|
const stavka = this.stavke[i]
|
||||||
if (!stavka.artikal_id) return null
|
if (!stavka.artikal_id) return null
|
||||||
|
|||||||
Reference in New Issue
Block a user