Popis: nabavna cena na 2 decimale, dugovani PDV na manjak (samo PDV modul)

This commit is contained in:
2026-06-30 16:33:12 +02:00
parent 3b40e4063a
commit 1c1c2b10eb
+19 -3
View File
@@ -287,7 +287,7 @@
<td class="kol-sek" data-label="Šifra" style="font-family:monospace;font-size:12px;color:var(--tekst-slabi);">{{if .Sifra}}{{.Sifra}}{{else}}—{{end}}</td>
<td class="kol-sek" data-label="Kategorija" style="font-size:12px;color:var(--tekst-slabi);">{{if .KategorijaNaziv}}{{.KategorijaNaziv}}{{else}}—{{end}}</td>
<td class="kol-sek" data-label="JM" style="text-align:right;font-size:12px;color:var(--tekst-slabi);">{{if .JedinicaMere}}{{.JedinicaMere}}{{else}}kom{{end}}</td>
<td class="kol-sek" data-label="Nab. cena" style="text-align:right;font-family:monospace;font-size:13px;">{{dinariCeli .NabavnaCena}}</td>
<td class="kol-sek" data-label="Nab. cena" style="text-align:right;font-family:monospace;font-size:13px;">{{dinari .NabavnaCena}}</td>
<td data-label="Knj. kol." style="text-align:right;font-family:monospace;font-weight:600;" id="knjizno-{{.ID}}">{{.Kolicina}}</td>
<td class="kol-sek" data-label="Knj. vrednost" style="text-align:right;font-family:monospace;font-size:13px;" id="knjvred-{{.ID}}"></td>
<td data-label="Stvarno kol." style="text-align:right;">
@@ -299,6 +299,7 @@
min="0"
data-knjizno="{{.Kolicina}}"
data-cena="{{printf "%.4f" .NabavnaCena}}"
data-pdv="{{printf "%.2f" .PdvStopa}}"
data-id="{{.ID}}"
oninput="azurirajRed(this)">
</td>
@@ -343,6 +344,12 @@
<span class="popis-suma-labela">Viškovi (vrednost)</span>
<span class="popis-suma-vrednost boja-visak" id="sum-visak-vred">0,00</span>
</div>
{{if index .Moduli "pdv"}}
<div class="popis-suma-stavka" style="border-left:0.5px solid var(--ivica);padding-left:24px;">
<span class="popis-suma-labela">Dugovani PDV na manjak</span>
<span class="popis-suma-vrednost boja-manjak" id="sum-pdv-manjak" title="Manjak delova se smatra sopstvenom potrošnjom — PDV se duguje na nabavnu vrednost (normativ rashoda ≈ 0).">0,00</span>
</div>
{{end}}
</div>
</div>
@@ -405,10 +412,12 @@ function azurirajSumu() {
var inputs = document.querySelectorAll('.popis-input');
var knjiznoKol = 0, knjiznoVred = 0, stvarnoKol = 0;
var manjKol = 0, manjVred = 0, visakKol = 0, visakVred = 0;
var pdvManjak = 0;
inputs.forEach(function(inp) {
var kn = parseInt(inp.dataset.knjizno, 10) || 0;
var cena = parseFloat(inp.dataset.cena) || 0;
var pdv = parseFloat(inp.dataset.pdv) || 0;
var st = parseInt(inp.value, 10);
if (isNaN(st)) st = kn;
@@ -417,8 +426,14 @@ function azurirajSumu() {
stvarnoKol += st;
var r = st - kn;
if (r < 0) { manjKol += Math.abs(r); manjVred += Math.abs(r) * cena; }
if (r > 0) { visakKol += r; visakVred += r * cena; }
if (r < 0) {
var manjVrArt = Math.abs(r) * cena;
manjKol += Math.abs(r);
manjVred += manjVrArt;
// manjak delova = sopstvena potrošnja → PDV na nabavnu vrednost (normativ ≈ 0)
pdvManjak += manjVrArt * pdv / 100;
}
if (r > 0) { visakKol += r; visakVred += r * cena; }
});
var razlikaKol = stvarnoKol - knjiznoKol;
@@ -440,6 +455,7 @@ function azurirajSumu() {
if (el('sum-manjak-vred')) el('sum-manjak-vred').textContent = fmt(manjVred);
if (el('sum-visak-kol')) el('sum-visak-kol').textContent = visakKol;
if (el('sum-visak-vred')) el('sum-visak-vred').textContent = fmt(visakVred);
if (el('sum-pdv-manjak')) el('sum-pdv-manjak').textContent = fmt(pdvManjak);
}
document.addEventListener('DOMContentLoaded', function() {