feat(magacin): nivelacija — promena cene uz trag (Faza A)

Tabela nivelacije (migr 045) beleži svaku promenu prodajne cene:
artikal, stara→nova cena, razlog, izvor, korisnik, datum. Dva okidača:
posebna akcija „Promeni cenu" (modal, izvor 'rucno') i auto-trag pri
izmeni artikla (izvor 'izmena'). PromeniCenu je transakciono (update
cene + upis zapisa). Pregled /nivelacije sa filterom perioda i razlikom
(+/− i %). Modal otvara svoj nextElementSibling — radi i na mobilnom
uprkos dupliranim id-jevima iz dva rasporeda.
This commit is contained in:
2026-06-14 09:37:49 +02:00
parent c9d4704c3d
commit 0f1f65c7f7
13 changed files with 463 additions and 2 deletions
+17
View File
@@ -0,0 +1,17 @@
-- Nivelacije (Faza A kalkulacije/nivelacije): trag svake promene prodajne cene artikla.
-- Razlika (nova stara) se izvodi u programu, ne čuva se. Izvor razlikuje način promene:
-- 'rucno' (posebna akcija sa razlogom), 'izmena' (auto pri izmeni artikla), 'kalkulacija' (kasnije).
CREATE TABLE IF NOT EXISTS nivelacije (
id INTEGER PRIMARY KEY AUTOINCREMENT,
artikal_id INTEGER NOT NULL REFERENCES artikli(id) ON DELETE CASCADE,
stara_cena REAL NOT NULL,
nova_cena REAL NOT NULL,
razlog TEXT,
izvor TEXT NOT NULL DEFAULT 'rucno',
korisnik_id INTEGER REFERENCES korisnici(id) ON DELETE SET NULL,
datum DATE NOT NULL, -- poslovni datum promene
datum_unosa DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP
);
CREATE INDEX IF NOT EXISTS idx_nivelacije_artikal ON nivelacije(artikal_id);
CREATE INDEX IF NOT EXISTS idx_nivelacije_datum ON nivelacije(datum);