Dasko
d2f8153845
KPR: popunjavanje datum_placanja iz nabavke
...
Kolona datum_placanja je postojala u pdv_kpr tabeli ali se nikad nije
popunjavala za auto-upise iz nabavke — relevantno za gotovinski PDV odbitak.
Dodato polje Nabavka.DatumPlacanja (migracija 096, opciono polje u formi
nabavke, prikaz u detaljima), KprIzNabavke ga sada prosleđuje u KPR zapis.
2026-07-01 12:49:55 +02:00
Dasko
b5e2aac3cd
PDV KIR: upozorenje kad je dnevni pazar zastareo u odnosu na promet
...
Zbirni 'rucno' KIR zapis dnevnog pazara nema povratnu vezu ka pojedinačnim
maloprodajnim nalozima, pa ga naknadni storno ili nova prodaja tog dana ne
mogu sami korigovati. Umesto tihog auto-prepisivanja poreske evidencije,
PdvKir handler sada upoređuje upisani Ukupno sa trenutno preračunatim
DnevniPrometMaloprodaje i u listi prikazuje bedž 'zastareo iznos' sa linkom
na formu za osvežavanje (koja već ima logiku zamene starog zapisa).
2026-07-01 12:36:04 +02:00
Dasko
1adf49e8cc
PDV KIR: dnevni pazar se ažurira (zamenjuje) umesto tvrde blokade
...
Prethodna zaštita od duplog unosa (77320d2 ) je trajno onemogućavala ispravku
zbirnog KIR zapisa jednom kad bi bio sačuvan — a taj zapis nema vezu nazad ka
pojedinačnim nalozima, pa naknadni storno ili nova prodaja istog dana ne mogu da
ga koriguju kroz postojeće mehanizme (ObrisiPoIzvoru radi samo za B2B auto-KIR).
Sad se ponovni upis za isti dan tretira kao ažuriranje: stari zapis (po broju
dokumenta FISK-YYYYMMDD) se briše i zamenjuje trenutno tačnim iznosima. Forma i
dalje upozorava da zapis već postoji, ali dugme dozvoljava svesno ažuriranje
umesto da bude trajno sakriveno.
2026-07-01 11:59:37 +02:00
Dasko
77320d2030
PDV KIR: zaštita od duplog upisa dnevnog pazara maloprodaje
...
SacuvajDnevniPazarKir je upisivao ručni zbirni KIR zapis za dati dan bez provere
da li već postoji — za razliku od auto-KIR-a iz pojedinačnih faktura (koji ima
PostojiZaIzvor zaštitu), ovde ništa nije sprečavalo duplo klikanje/ponovni unos
istog dana, što bi duplo precenilo PDV osnov u zvaničnoj evidenciji.
Broj dokumenta (FISK-YYYYMMDD) je već deterministički po danu, pa se koristi kao
prirodni ključ za proveru. Forma sad prikazuje upozorenje i sakriva dugme za upis
ako je dan već zaveden.
2026-07-01 11:54:35 +02:00
Dasko
bd5a63511b
Merge feature/prodaja-fiskal-retry → develop
2026-07-01 11:36:59 +02:00
Dasko
b5f2742aa9
Ispravka: CSRF polje mora biti _csrf, ne csrf_token (dugmad tiho vraćala 403)
2026-07-01 11:36:43 +02:00
Dasko
0f47c3e56b
Prodaja: retry fiskalizacije kad ESIR nije dostupan pri kreiranju
2026-07-01 11:35:17 +02:00
Dasko
e7dcaf4433
Prodaja: oznaka storniranih naloga u listi, sakriveno dugme Storno
2026-07-01 11:21:51 +02:00
Dasko
d39df48a56
Servis: oznaka naloga bez izdatog fiskalnog računa u arhivi
2026-07-01 11:21:46 +02:00
Dasko
18f242d73f
Servis: servisni_log tabela — praćenje datuma događaja za eskalacioni list
2026-06-30 22:57:01 +02:00
Dasko
c971b5d075
Servis: upozorenje i retry fiskalizacije kad ESIR nije dostupan pri preuzimanju
2026-06-30 22:47:26 +02:00
Dasko
80d7dd69f1
Servis: eskalacioni list — interni dokument praćenja rokova naloga
2026-06-30 22:42:45 +02:00
Dasko
af67daf7de
Servis: rok za podizanje (DatumZavrsetka + 30 dana) u detaljima naloga i javnoj status stranici
2026-06-30 22:33:09 +02:00
Dasko
e9205665b6
Prodaja: cena/PDV po PDV statusu firme — non-PDV firma vidi bruto cenu i nultu stopu
2026-06-30 22:23:03 +02:00
Dasko
432a559902
KPO: knjiga o ostvarenom prometu — lista, ručni unos, backfill, auto-upis iz prodaje i servisa
2026-06-30 21:13:16 +02:00
Dasko
3166a93e1d
Fiskalizacija: refund pri stornu, dnevni pazar KIR, popust na stavci
2026-06-30 20:52:50 +02:00
Dasko
76a0df1c09
KIR: PostojiZaIzvor + backfill iz prodaje (dugme u KIR listi)
2026-06-30 20:37:38 +02:00
Dasko
82a2484c10
Nabavka: broj računa, datum računa, PDV iznos + KPR backfill za stare nabavke
2026-06-30 20:25:44 +02:00
Dasko
ac7c9df2eb
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'.
2026-06-30 19:14:40 +02:00
Dasko
b79ca28b09
Zalihe: storno nabavke umesto brisanja + ponderisana prosečna nabavna cena
2026-06-30 17:08:55 +02:00
Dasko
4806840ba4
Zalihe: razlikovanje manjka i viška pri popisu (manjak_popis/visak_popis tip promene)
2026-06-30 17:08:50 +02:00
Dasko
4daac1eed6
Popis: štampa u novom tabu — standalone A4 stranica sa zaglavljem i sumarima
2026-06-30 16:47:50 +02:00
Dasko
0a1995222b
Popis: nabavna cena na 2 decimale, dugovani PDV na manjak (samo PDV modul)
2026-06-30 16:33:12 +02:00
Dasko
0cfef1d6a0
Popis: štampa A4 sa zaglavljem firme i tipom popisa, lokalizovan naziv tipa
2026-06-30 16:15:30 +02:00
Dasko
f81d2c3133
Popis: štampa A4 landscape (bez skrolbara, sve u širinu), dugme Štampaj
2026-06-30 15:52:32 +02:00
Dasko
592b5712f3
Popis: mobilne kartice prikazuju sve kolone kao desktop
2026-06-30 15:45:01 +02:00
Dasko
cab6721adb
Popis: mobilni prikaz — tabela se pretvara u kartice, Tip i Napomena jednake širine
2026-06-30 15:42:56 +02:00
Dasko
42df5b3176
Popis: zakonske kolone (nabavna cena, vrednost, manjak/višak), tip popisa, datum i sačinilac
2026-06-30 15:36:22 +02:00
Dasko
5343fd0a9b
Podešavanja: ispravka preuzimanja backup-a (hx-boost), CodeQL request-forgery (SSRF)
2026-06-30 14:27:20 +02:00
Dasko
313edf06ea
Servis detalji: PDV pravilo na cenama radova/delova, bruto u formama, ispravka otpremnice
2026-06-29 22:35:31 +02:00
Dasko
f3191a7224
Mobilni: forma-grid-2/3 klase umesto inline grid-template-columns na formama
2026-06-29 21:48:03 +02:00
Dasko
fb980e76c0
UI: razmaci između kartica, dinari/dinariCeli za int64, PPPDV tabela formatirana
2026-06-28 16:29:09 +02:00
Dasko
147a0d6e88
Bugfix: PDV obračun u prodaji, magacinski trag nabavke, fiskalizacija servisa, admin/podesavanja greške
2026-06-28 16:02:26 +02:00
Dasko
3475422cb9
Dashboard/izveštaji: ispravka obračuna prihoda + KIR servisa, testovi
...
- Prihod meseca: izbačeni stornirani nalozi, servis preko naplaceno+avans
- Servis KIR: neto cena + PDV po stvarnoj stopi (PdvKir.DodajNeto), bez hardkodovanih 20%
- TopKlijenti: samo preuzeti nalozi sa naplatom/avansom
- Izveštaji: mesečni ključevi sidreni na 1. u mesecu (bez preliva dana)
- BUG-04: konačna cena servisa bez dvostrukog računanja delova
- Dashboard: uklonjena kartica „Prihod ovog meseca"
- Default port 3000
- Dodati testovi: prihod/storno/delovi/nivelacija/KIR/mesečni ključevi
2026-06-27 09:41:07 +02:00
Dasko
60e7debad5
PDV pravilo na štampanim dokumentima + fiksni layout + QR popravka
...
- PDV uslovi (Moduli.pdv) na: predračun, otpremnica, garantni list, prodaja_stampa
- Modal za preuzimanje: jedna cena (sa/bez PDV), ne duplo
- Javna status stranica: PDV uslovi za cene, predlog, checkbox-ove
- Svi print templejti: viewport=device-width+min-width, bez responsive
- JavniToken generisan za postojeće naloge bez tokena (QR popravka)
- UkupnoSaPdv() metode na ServisniRad i ServisniDeoSaArtiklom
- UkupnoBezPdv() na StavkaProdaje
2026-06-27 02:06:18 +02:00
Dasko
6727e39348
Dropdown: CSS u main.css, dupli handler fix, Prihod=prodaja+servis, mobilni layout
...
- main.css: cust-sel CSS prebačen iz dodatni-css (dostupan svim stranama)
- servis_detalji: _custClickDodat guard protiv duplog event listenera
- servis_detalji: _ntechPopuniArtikle na window (data-refresh fix)
- izvestaj: PrihodTekuciMesec = prodaja + servis (Preuzeto)
- main.css: mobilni dropdown preko cele širine (grid 1 kolona)
2026-06-27 01:00:41 +02:00
Dasko
2c8b206ec2
PDV modul: uslovno prikazivanje + auto cena_konacna + stanje zaliha sa PDV-om
...
- PDV pravilo (Moduli.pdv) primenjeno na: magacin, usluge, prodaja_detalji, usluge_forma
- magacin: toggle cena bez/sa PDV u zaglavlju kolone, jedna kolona
- stanje_zaliha: Cena sa PDV i Vred. sa PDV kolone, tamne kartice za zaglavlje
- PromeniStatus: auto-izračunavanje cena_konacna (dijagnostika+radovi+delovi) pri Preuzeto
- migrations/088: popravlja postojeće Preuzeto naloge bez cene
- dashboard: prihod cifra sakrivena, hover 1s → prikaz
- izvestaji: aktivni servisi bez Preuzeto, COALESCE u SQL, 0→—
- izvestaji.html: vraćeno — umesto 0 din
2026-06-27 00:26:46 +02:00
Dasko
84bb8aa158
Cena sa PDV-om u magacinu + uslovno prikazivanje po modulu
...
- migrations/087: nova kolona cena_sa_pdv + popunjavanje postojećih
- model.Artikal: polje CenaSaPdv, ispravljene CenaBezPdv/PdvIznos (neto)
- sqlite/artikal.go: SELECT/Scan/INSERT/UPDATE za cena_sa_pdv (6 mesta)
- magacin_forma.go: pdv_stopa iz forme, kalkulacija cena_sa_pdv, default PDV 20%
- magacin.html: dinari format (25.999,00), kolona Sa PDV-om, uslovno po Moduli.pdv
- magacin_forma.html: PDV dropdown + Cena sa PDV polje, uslovno po Moduli.pdv,
optimizovan layout (Naziv/Jed. mere/Kategorija u 1 redu)
- main.go: demo mod bez keširanja šablona (hot-reload)
- model_test.go: ažurirani testovi za novo ponašanje CenaBezPdv/PdvIznos
2026-06-26 23:47:52 +02:00
Dasko
97fd4490ea
Kartica emulator (BE) + fiskalna verifikacija + ime/prezime korisnika
...
- internal/be: emulator kartice (TCP listener za L-PFR mock)
- /v/: javna stranica za verifikaciju fiskalnog računa (QR kod)
- /servis/{id}/fiskalni-racun: štampa fiskalnog računa
- Podešavanja fiskalizacije: BE status/reset, proširen UI
- Korisnik: polja ime i prezime (model, DB, handler, admin profil)
- Fisk server: ažuriran receipt.py i server.py
-, : dokumentacija
2026-06-26 23:17:52 +02:00
Dasko
985a2e7410
BUGFIX: Primljeno default=0 + ispravljen ParseFloat za hiljade (43.600→43600)
2026-06-26 02:40:18 +02:00
Dasko
3b8d43606d
Servis: modal Preuzimanje — polje Primljeno + automatski kusur
2026-06-26 02:21:12 +02:00
Dasko
e682456174
BUGFIX: FiskalniRacun kartica izmeštena izvan Ukupno kartice
2026-06-26 02:10:43 +02:00
Dasko
ac5871c888
BUGFIX: listing radova/delova samo za Završeno/Preuzeto — vraćena statusna provera
2026-06-26 01:55:53 +02:00
Dasko
243ff3b59e
Servis: naslovi 20% providno sivi + ikonice 🔧 💾
2026-06-26 01:51:27 +02:00
Dasko
6cfca34484
BUGFIX: dropdown CSS prebačen u main.css — radi i kad HTMX učita detalje sa kanbana
2026-06-26 01:48:21 +02:00
Dasko
94d974ad20
BUGFIX: dropdown — left:-9999px umesto display:none (neuništivo)
2026-06-26 01:46:18 +02:00
Dasko
93f5a7c8b6
BUGFIX: dropdown vraćen na original — čist CSS, bez JS manipulacije display-a
2026-06-26 01:45:07 +02:00
Dasko
340b27a7ea
BUGFIX: dropdown — removeProperty umesto setProperty('none') da ne ostaje inline blok
2026-06-26 01:41:40 +02:00
Dasko
9d4503a4ea
Tema: kartice spuštene na pozadinu, pozadina još tamnija — manje belog
2026-06-26 01:37:34 +02:00
Dasko
719ac8e0ff
Tema: svetla još toplija i mekša — pozadina #e8ebe6
2026-06-26 01:37:03 +02:00