cry-klikvet-logic 1.0.708 → 1.0.711
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index-browser.d.mts +18 -0
- package/dist/index-browser.d.mts.map +1 -1
- package/dist/index-browser.mjs +12 -0
- package/dist/index-browser.mjs.map +1 -1
- package/dist/index.d.mts +18 -0
- package/dist/index.d.mts.map +1 -1
- package/dist/index.mjs +12 -0
- package/dist/index.mjs.map +1 -1
- package/dist/izvozRacunov/db.d.mts +26 -0
- package/dist/izvozRacunov/db.d.mts.map +1 -0
- package/dist/izvozRacunov/db.mjs +6 -0
- package/dist/izvozRacunov/db.mjs.map +1 -0
- package/dist/izvozRacunov/generirajIzvoz.d.mts +48 -0
- package/dist/izvozRacunov/generirajIzvoz.d.mts.map +1 -0
- package/dist/izvozRacunov/generirajIzvoz.mjs +63 -0
- package/dist/izvozRacunov/generirajIzvoz.mjs.map +1 -0
- package/dist/izvozRacunov/izvoziRacune.d.mts +58 -0
- package/dist/izvozRacunov/izvoziRacune.d.mts.map +1 -0
- package/dist/izvozRacunov/izvoziRacune.mjs +578 -0
- package/dist/izvozRacunov/izvoziRacune.mjs.map +1 -0
- package/dist/izvozRacunov/oznake.d.mts +41 -0
- package/dist/izvozRacunov/oznake.d.mts.map +1 -0
- package/dist/izvozRacunov/oznake.mjs +88 -0
- package/dist/izvozRacunov/oznake.mjs.map +1 -0
- package/dist/izvozRacunov/schemas/izvozRacunov.schema.json +285 -0
- package/dist/izvozRacunov/schemas/izvozRacunov.xsd +400 -0
- package/dist/izvozRacunov/serializirajJson.d.mts +16 -0
- package/dist/izvozRacunov/serializirajJson.d.mts.map +1 -0
- package/dist/izvozRacunov/serializirajJson.mjs +13 -0
- package/dist/izvozRacunov/serializirajJson.mjs.map +1 -0
- package/dist/izvozRacunov/serializirajXml.d.mts +18 -0
- package/dist/izvozRacunov/serializirajXml.d.mts.map +1 -0
- package/dist/izvozRacunov/serializirajXml.mjs +309 -0
- package/dist/izvozRacunov/serializirajXml.mjs.map +1 -0
- package/dist/q-mojPromet.d.mts +1 -1
- package/dist/q-promet.d.mts +2 -2
- package/dist/q-racunovodji.d.mts +1 -1
- package/dist/q-zakljucek-blagajne.d.mts +2 -2
- package/dist/racunovodstvo/konti.d.mts +139 -0
- package/dist/racunovodstvo/konti.d.mts.map +1 -0
- package/dist/racunovodstvo/konti.mjs +135 -0
- package/dist/racunovodstvo/konti.mjs.map +1 -0
- package/dist/racunovodstvo/kontiUparitev.d.mts +127 -0
- package/dist/racunovodstvo/kontiUparitev.d.mts.map +1 -0
- package/dist/racunovodstvo/kontiUparitev.mjs +266 -0
- package/dist/racunovodstvo/kontiUparitev.mjs.map +1 -0
- package/dist/racunovodstvo/stroskovnoMesto.d.mts +56 -0
- package/dist/racunovodstvo/stroskovnoMesto.d.mts.map +1 -0
- package/dist/racunovodstvo/stroskovnoMesto.mjs +89 -0
- package/dist/racunovodstvo/stroskovnoMesto.mjs.map +1 -0
- package/dist/test/izvozRacunov.d.mts +2 -0
- package/dist/test/izvozRacunov.d.mts.map +1 -0
- package/dist/test/izvozRacunov.mjs +258 -0
- package/dist/test/izvozRacunov.mjs.map +1 -0
- package/dist/test/izvozRacunovShema.d.mts +2 -0
- package/dist/test/izvozRacunovShema.d.mts.map +1 -0
- package/dist/test/izvozRacunovShema.mjs +267 -0
- package/dist/test/izvozRacunovShema.mjs.map +1 -0
- package/dist/types/blagajna.d.mts +8 -0
- package/dist/types/blagajna.d.mts.map +1 -1
- package/dist/types/dnevnikIzvozov.d.mts +1 -0
- package/dist/types/dnevnikIzvozov.d.mts.map +1 -1
- package/dist/types/izvozRacun.d.mts +481 -0
- package/dist/types/izvozRacun.d.mts.map +1 -0
- package/dist/types/izvozRacun.mjs +53 -0
- package/dist/types/izvozRacun.mjs.map +1 -0
- package/dist/types/lokacija.d.mts +10 -0
- package/dist/types/lokacija.d.mts.map +1 -1
- package/dist/types/nastavitve.d.mts +17 -0
- package/dist/types/nastavitve.d.mts.map +1 -1
- package/dist/types/racun.d.mts +9 -1
- package/dist/types/racun.d.mts.map +1 -1
- package/package.json +4 -2
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
// AI created: 2026-09-29 (VOD: konti)
|
|
2
|
+
// AI moved: 2026-10-05 (iz klikVetApp/code/VOD/vodKonti.ts v klikvet-logic — skupna raba VOD izvoza in izvoza izdanih računov)
|
|
3
|
+
/**
|
|
4
|
+
* Konti, na katere se knjiži izdan račun — dogovor z računovodstvom.
|
|
5
|
+
*
|
|
6
|
+
* Modul je **skupen**: uporabljata ga VOD izvoz knjižb (`klikVetApp/code/VOD`)
|
|
7
|
+
* in izvoz izdanih računov v zunanji sistem (`src/izvozRacunov`). Predpona `Vod`
|
|
8
|
+
* je ostala iz časa, ko je bil VOD edini porabnik; pomen je isti za vsak izvoz
|
|
9
|
+
* v računovodstvo.
|
|
10
|
+
*/
|
|
11
|
+
export const PRIVZETI_KONTI = {
|
|
12
|
+
terjatev: '1200',
|
|
13
|
+
prihodek: '7600',
|
|
14
|
+
ddv: '2600',
|
|
15
|
+
blagajna: '1000',
|
|
16
|
+
};
|
|
17
|
+
/**
|
|
18
|
+
* Iz davčne stopnje v obliko, ki je ključ preslikave.
|
|
19
|
+
*
|
|
20
|
+
* Stopnja pride iz baze kot `double`, zato jo pred iskanjem zaokrožimo na štiri
|
|
21
|
+
* decimalke — `0.09500000000000001` bi sicer zgrešil ključ `0.095`.
|
|
22
|
+
*/
|
|
23
|
+
export function kljucStopnje(dst) {
|
|
24
|
+
return Number(dst.toFixed(4));
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Konto za debetno knjižbo prihodka denarja.
|
|
28
|
+
*
|
|
29
|
+
* Vrstni red je od najbolj specifičnega k najbolj splošnemu, s **posebno izjemo pri
|
|
30
|
+
* zavarovanju**: tam je `Placilo.nacin` ime zavarovalnice, zato mora konto konkretne
|
|
31
|
+
* zavarovalnice prevladati nad morebitnim kontom istoimenskega načina plačila.
|
|
32
|
+
*
|
|
33
|
+
* | Kategorija | 1. | 2. | 3. | 4. | 5. |
|
|
34
|
+
* | -------------- | ------------- | ------------- | ------------------- | ----------------- | -------------- |
|
|
35
|
+
* | kartica | način plačila | blagajna | `konti.kartice` | `konti.blagajna` | `konti.terjatev` |
|
|
36
|
+
* | gotovina | način plačila | blagajna | `konti.blagajna` | `konti.terjatev` | — |
|
|
37
|
+
* | zavarovanje | zavarovalnica | način plačila | `konti.zavarovanje` | `konti.terjatev` | — |
|
|
38
|
+
* | odloženo | način plačila | — | `konti.terjatev` | — | — |
|
|
39
|
+
*
|
|
40
|
+
* Kartica pade pred `konti.terjatev` na **blagajno**: denar je ob izdaji računa že
|
|
41
|
+
* prejet, zato terjatev ne nastane. Brez te stopnje bi kartični promet končal med
|
|
42
|
+
* terjatvami do kupcev in bi računovodstvo odprlo neplačane postavke.
|
|
43
|
+
*
|
|
44
|
+
* `Blagajna.konto` je namenoma šele za kategorijo, ker lahko blagajna sprejme
|
|
45
|
+
* različne načine plačila (`negotovinska`), zato sam način plačila pove več.
|
|
46
|
+
*
|
|
47
|
+
* Zavarovalnica ima **svojega partnerja** na knjižbi (`Partner/Sifra`), zato
|
|
48
|
+
* ločenega konta ne potrebuje — privzeto gre terjatev na isti konto kot do
|
|
49
|
+
* strank, razlikuje pa se po partnerju. Svoj konto dobi le, če ga zahteva
|
|
50
|
+
* računovodstvo (`zavarovalnice.konto` ali `VodKonti.zavarovanje`).
|
|
51
|
+
*
|
|
52
|
+
* `1210` privzeto NI uporabljen: v Opalovem priporočenem kontiranju
|
|
53
|
+
* (`primeri-knjizb-izdanih-racunov-2025.pdf`) je to terjatev do **tujih**
|
|
54
|
+
* kupcev (izvoz, tristranska dobava), ne terjatev do zavarovalnice.
|
|
55
|
+
*/
|
|
56
|
+
export function kontoZaPlacilo(kategorija, nacinPlacila, blagajna, zavarovalnica, konti) {
|
|
57
|
+
var _a, _b, _c, _d, _e, _f, _g, _h;
|
|
58
|
+
if (kategorija === 'zavarovanje') {
|
|
59
|
+
return (_c = (_b = (_a = zavarovalnica === null || zavarovalnica === void 0 ? void 0 : zavarovalnica.konto) !== null && _a !== void 0 ? _a : nacinPlacila === null || nacinPlacila === void 0 ? void 0 : nacinPlacila.konto) !== null && _b !== void 0 ? _b : konti.zavarovanje) !== null && _c !== void 0 ? _c : konti.terjatev;
|
|
60
|
+
}
|
|
61
|
+
if (nacinPlacila === null || nacinPlacila === void 0 ? void 0 : nacinPlacila.konto)
|
|
62
|
+
return nacinPlacila.konto;
|
|
63
|
+
if (kategorija === 'kartica')
|
|
64
|
+
return (_f = (_e = (_d = blagajna === null || blagajna === void 0 ? void 0 : blagajna.konto) !== null && _d !== void 0 ? _d : konti.kartice) !== null && _e !== void 0 ? _e : konti.blagajna) !== null && _f !== void 0 ? _f : konti.terjatev;
|
|
65
|
+
if (kategorija === 'gotovina')
|
|
66
|
+
return (_h = (_g = blagajna === null || blagajna === void 0 ? void 0 : blagajna.konto) !== null && _g !== void 0 ? _g : konti.blagajna) !== null && _h !== void 0 ? _h : konti.terjatev;
|
|
67
|
+
return konti.terjatev;
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Konto prihodka za posamezno postavko računa.
|
|
71
|
+
*
|
|
72
|
+
* Vrstni red je od najbolj podrobnega k najbolj splošnemu: konto na artiklu
|
|
73
|
+
* prevlada nad konto kategorije, kategorija pa nad splošnim prihodkom.
|
|
74
|
+
* Kategorijo damo kot parameter, ker je na voljo tudi takrat, kadar artikla v
|
|
75
|
+
* šifrantu ni (tedaj `artikel` manjka, `postavka.kategorija` pa je).
|
|
76
|
+
*/
|
|
77
|
+
export function kontoPrihodka(artikel, kategorija, konti, dst) {
|
|
78
|
+
var _a;
|
|
79
|
+
var _b, _c, _d;
|
|
80
|
+
// Konto artikla je najbolj podroben in zato najmočnejši. Sledi konto stopnje,
|
|
81
|
+
// ki računovodstvu omogoča ločevanje prihodkov po obdavčitvi, šele nato
|
|
82
|
+
// kategorija in nazadnje splošni prihodek.
|
|
83
|
+
const poStopnji = dst === undefined ? undefined : (_a = konti.prihodekPoStopnji) === null || _a === void 0 ? void 0 : _a[dst];
|
|
84
|
+
return (_d = (_c = (_b = artikel === null || artikel === void 0 ? void 0 : artikel.konto) !== null && _b !== void 0 ? _b : poStopnji) !== null && _c !== void 0 ? _c : konti[KLJUC_PRIHODKA_PO_KATEGORIJI[kategorija !== null && kategorija !== void 0 ? kategorija : '']]) !== null && _d !== void 0 ? _d : konti.prihodek;
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Konto obračunanega DDV za posamezno stopnjo.
|
|
88
|
+
*
|
|
89
|
+
* Kjer stopnja svojega konta nima, velja splošni `ddv` — tako ostane izvoz
|
|
90
|
+
* nespremenjen, dokler računovodstvo stopenj ne začne ločevati.
|
|
91
|
+
*/
|
|
92
|
+
export function kontoDdv(dst, konti) {
|
|
93
|
+
var _a;
|
|
94
|
+
var _b;
|
|
95
|
+
return (_b = (_a = konti.ddvPoStopnji) === null || _a === void 0 ? void 0 : _a[dst]) !== null && _b !== void 0 ? _b : konti.ddv;
|
|
96
|
+
}
|
|
97
|
+
/** Kategorija artikla → ključ konta prihodka v `VodKonti`. */
|
|
98
|
+
const KLJUC_PRIHODKA_PO_KATEGORIJI = {
|
|
99
|
+
storitev: 'prihodekStoritev',
|
|
100
|
+
izdelek: 'prihodekIzdelek',
|
|
101
|
+
zdravilo: 'prihodekZdravilo',
|
|
102
|
+
'potrošni material': 'prihodekMaterial',
|
|
103
|
+
};
|
|
104
|
+
/**
|
|
105
|
+
* Kategorije postavke, ki imajo svoj konto prihodka — v vrstnem redu, kot jih
|
|
106
|
+
* našteva tabela uparitve.
|
|
107
|
+
*
|
|
108
|
+
* Potrebujejo jih prikazi, ki hočejo povedati, **na kateri konto zares pade**
|
|
109
|
+
* posamezna kategorija: kateri konto dobi kategorija, pove `kontoPrihodka`,
|
|
110
|
+
* seznam kategorij pa je treba od nekod vzeti — tu je isti vir kot preslikava
|
|
111
|
+
* sama, zato se seznam in preslikava ne moreta razhajati.
|
|
112
|
+
*/
|
|
113
|
+
export const KATEGORIJE_PRIHODKA = Object.keys(KLJUC_PRIHODKA_PO_KATEGORIJI);
|
|
114
|
+
/**
|
|
115
|
+
* Dejanski konti, na katere padejo kategorije postavk — za prikaz v tabeli uparitve.
|
|
116
|
+
*
|
|
117
|
+
* Uporablja isto verigo kot izvoz (`kontoPrihodka`), le brez konta stopnje, zato se
|
|
118
|
+
* prikaz in izvoz ne moreta razhajati. Kategorije z istim kontom se združijo, da
|
|
119
|
+
* vrstica ostane kratka; rezultat je urejen po padanju — najbolj splošni konto nazadnje.
|
|
120
|
+
*/
|
|
121
|
+
export function kontiPrihodkaPoKategorijah(konti) {
|
|
122
|
+
var _a;
|
|
123
|
+
const kategorije = [
|
|
124
|
+
...KATEGORIJE_PRIHODKA.map((k) => [k, k]),
|
|
125
|
+
// Postavka brez znane kategorije pade naravnost na splošni prihodek.
|
|
126
|
+
['brez kategorije', undefined],
|
|
127
|
+
];
|
|
128
|
+
const poKontu = new Map();
|
|
129
|
+
for (const [naziv, kategorija] of kategorije) {
|
|
130
|
+
const konto = kontoPrihodka(undefined, kategorija, konti);
|
|
131
|
+
poKontu.set(konto, [...((_a = poKontu.get(konto)) !== null && _a !== void 0 ? _a : []), naziv]);
|
|
132
|
+
}
|
|
133
|
+
return [...poKontu].map(([konto, kategorije]) => ({ konto, kategorije }));
|
|
134
|
+
}
|
|
135
|
+
//# sourceMappingURL=konti.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"konti.mjs","sourceRoot":"","sources":["../../src/racunovodstvo/konti.mts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
import type { Konto } from '../types/konto.mjs';
|
|
2
|
+
import { type VodKonti } from './konti.mjs';
|
|
3
|
+
/**
|
|
4
|
+
* Ključ vrstice, ki ni konto: rezervni kupec, uporabljen, kadar račun nima znane
|
|
5
|
+
* stranke. Živi **samo** v tabeli nastavljenih kontov.
|
|
6
|
+
*/
|
|
7
|
+
export declare const KLJUC_SPLOSNEGA_KUPCA = "splosniKupec";
|
|
8
|
+
/**
|
|
9
|
+
* Skupina vrstic — kontni razred in evidenca, v katero knjižba sodi.
|
|
10
|
+
*
|
|
11
|
+
* Pripadnost je lastnost **vrstice** (`VodKontoVrstica.skupina`); tu je opis, ki se
|
|
12
|
+
* izpiše v naslovu skupine. Naziv nosi kontni razred, evidenca pa pove, kam knjižba
|
|
13
|
+
* pristane — zato je iz tabele razvidno, kaj se nanaša na **davčno knjigo**
|
|
14
|
+
* (obračun DDV) in kaj na **prihodkovno stran** (prihodki od prodaje).
|
|
15
|
+
*/
|
|
16
|
+
export interface VodKontoSkupina {
|
|
17
|
+
kljuc: string;
|
|
18
|
+
naziv: string;
|
|
19
|
+
evidenca: string;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Vrstni red skupin je hkrati vrstni red vrstic v obeh tabelah: kontni razredi
|
|
23
|
+
* naraščajo (`10/12` → `76` → `26`), izravnave so na koncu. Vrstice iste skupine
|
|
24
|
+
* se v tabeli držijo skupaj, zato mora biti vsaka skupina v seznamu vrstic
|
|
25
|
+
* neprekinjena.
|
|
26
|
+
*/
|
|
27
|
+
export declare const VOD_KONTO_SKUPINE: VodKontoSkupina[];
|
|
28
|
+
export interface VodKontoVrstica {
|
|
29
|
+
kljuc: keyof VodKonti;
|
|
30
|
+
naziv: string;
|
|
31
|
+
/** Ključ skupine iz `VOD_KONTO_SKUPINE` — določa naslov in vrstni red v tabeli. */
|
|
32
|
+
skupina: string;
|
|
33
|
+
/** Privzetek iz `PRIVZETI_KONTI`; prazno pomeni, da privzetka ni. */
|
|
34
|
+
privzeto?: string;
|
|
35
|
+
/** Kolekcije, kjer se ta element lahko prevlada (povezave na strani). */
|
|
36
|
+
prevladaS?: string[];
|
|
37
|
+
/** Podrejena vrstica — v tabeli se izpiše zamaknjena pod nadrejeno. */
|
|
38
|
+
podrejeno?: boolean;
|
|
39
|
+
/**
|
|
40
|
+
* Podrobnejše vrednosti tega elementa so vrstice **po stopnjah** iz spodnje
|
|
41
|
+
* tabele (`VOD_PRIHODEK_STOPNJE_VRSTICE` oz. `VOD_DDV_STOPNJE_VRSTICE`).
|
|
42
|
+
* Na strani se izpiše kot oznaka v stolpcu „Natančnejše vrednosti so v“.
|
|
43
|
+
*/
|
|
44
|
+
stopnjeSpodaj?: boolean;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Vrstica konta po davčni stopnji.
|
|
48
|
+
*
|
|
49
|
+
* Ključ tu **ni** `keyof VodKonti`: v kolekciji `konti` je ploščat (`ddv22`,
|
|
50
|
+
* `prihodek22`), izvoz pa ga zloži v preslikavo stopnja → konto
|
|
51
|
+
* (`VodKonti.ddvPoStopnji` oz. `VodKonti.prihodekPoStopnji`) — zato ima svoj tip
|
|
52
|
+
* s stopnjo, ki pove, v katero preslikavo vrstica sodi.
|
|
53
|
+
*/
|
|
54
|
+
export interface VodStopnjaVrstica extends Omit<VodKontoVrstica, 'kljuc'> {
|
|
55
|
+
kljuc: string;
|
|
56
|
+
stopnja: number;
|
|
57
|
+
}
|
|
58
|
+
export declare const VOD_KONTO_VRSTICE: VodKontoVrstica[];
|
|
59
|
+
/**
|
|
60
|
+
* Konti obračunanega DDV po davčnih stopnjah — **davčna knjiga**.
|
|
61
|
+
*
|
|
62
|
+
* Niso privzetki, ampak **izjema od njih**: prazna vrstica pomeni, da stopnja pade
|
|
63
|
+
* na splošni `ddv`. Zato te vrstice namenoma **nimajo** `privzeto` — polje na strani
|
|
64
|
+
* se ne pred-izpolni, sicer bi se v bazo zapisala kopija splošnega konta in vez
|
|
65
|
+
* na `ddv` bi prenehala veljati.
|
|
66
|
+
*
|
|
67
|
+
* Vrstni red je od najpogostejše stopnje (22 %) navzdol.
|
|
68
|
+
*/
|
|
69
|
+
export declare const VOD_DDV_STOPNJE_VRSTICE: VodStopnjaVrstica[];
|
|
70
|
+
/**
|
|
71
|
+
* Konti prihodka po davčnih stopnjah — **prihodkovna stran** iste knjižbe, ki ji
|
|
72
|
+
* davčno knjigo polni `VOD_DDV_STOPNJE_VRSTICE`.
|
|
73
|
+
*
|
|
74
|
+
* Zanje velja enako kot za vrstice DDV: **nimajo privzetka** in se ne pred-izpolnijo,
|
|
75
|
+
* ker prazno pomeni »pade naprej po verigi« — na kategorijo postavke in šele nato na
|
|
76
|
+
* splošni `prihodek`. Pred-izpolnitev bi v bazo zapisala kopijo splošnega konta in za
|
|
77
|
+
* vse postavke te stopnje izklopila kategorije (`7620` zdravila …).
|
|
78
|
+
*
|
|
79
|
+
* Vrstni red je od najpogostejše stopnje (22 %) navzdol.
|
|
80
|
+
*/
|
|
81
|
+
export declare const VOD_PRIHODEK_STOPNJE_VRSTICE: VodStopnjaVrstica[];
|
|
82
|
+
/**
|
|
83
|
+
* Vse vrstice kontov po vrstnem redu strani.
|
|
84
|
+
*
|
|
85
|
+
* `vrstniRed` v bazi in iskanje vrstice po ključu tečeta po tem seznamu, zato se
|
|
86
|
+
* mora ujemati z vrstnim redom tabele: najprej privzeti konti (zgornja tabela),
|
|
87
|
+
* nato podrobnejše vrstice po stopnjah iz spodnje tabele (prihodek pred DDV, ker je
|
|
88
|
+
* skupina prihodkov pred skupino obračuna DDV).
|
|
89
|
+
*/
|
|
90
|
+
export declare const VOD_VSE_VRSTICE: (VodKontoVrstica | VodStopnjaVrstica)[];
|
|
91
|
+
export interface KontiZaIzvoz {
|
|
92
|
+
konti: Partial<VodKonti>;
|
|
93
|
+
neznanaStranka?: {
|
|
94
|
+
sifra: string;
|
|
95
|
+
naziv: string;
|
|
96
|
+
tujiProgram?: string;
|
|
97
|
+
};
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* Preslika vrstice kolekcije `konti` v `opts` izvoza.
|
|
101
|
+
*
|
|
102
|
+
* Vrne samo tisto, kar je v bazi; česar ni (ali je prazno), ostane vgrajeni
|
|
103
|
+
* privzetek v `PRIVZETI_KONTI`. Vrstice z neznanim ključem se ignorirajo, da
|
|
104
|
+
* morebitna ročno dodana vrstica ne more pokvariti izvoza.
|
|
105
|
+
*
|
|
106
|
+
* Vrstice po stopnjah (`VOD_DDV_STOPNJE_VRSTICE`, `VOD_PRIHODEK_STOPNJE_VRSTICE`) so v
|
|
107
|
+
* bazi ploščate, izvoz pa jih bere kot preslikavi stopnja → konto, zato se zberejo v
|
|
108
|
+
* `ddvPoStopnji` in `prihodekPoStopnji`.
|
|
109
|
+
*/
|
|
110
|
+
export declare function kontiIzDb(vrstice: Konto[] | undefined): KontiZaIzvoz;
|
|
111
|
+
/** Vrstica iz kolekcije `konti` po ključu (tudi izbrisane, da jih stran lahko prikaže). */
|
|
112
|
+
export declare function vrsticaPoKljucu(vrstice: Konto[] | undefined, kljuc: string): Konto | undefined;
|
|
113
|
+
/** Skupina po ključu; `undefined` za neznan ključ. */
|
|
114
|
+
export declare function skupinaPoKljucu(kljuc: string): VodKontoSkupina | undefined;
|
|
115
|
+
/**
|
|
116
|
+
* Vse vrstice po skupinah, v vrstnem redu tabel.
|
|
117
|
+
*
|
|
118
|
+
* Vrstice se delijo po `skupina`, znotraj skupine pa ohranijo vrstni red iz
|
|
119
|
+
* `VOD_KONTO_VRSTICE`, `VOD_PRIHODEK_STOPNJE_VRSTICE` in `VOD_DDV_STOPNJE_VRSTICE`.
|
|
120
|
+
* Skupina, ki v seznamu ni, se izpusti — zato je izpis na strani vedno skladen z
|
|
121
|
+
* `VOD_KONTO_SKUPINE` in se skupina z nobeno vrstico ne izpiše prazna.
|
|
122
|
+
*/
|
|
123
|
+
export declare function vrsticePoSkupinah(vrstice: (VodKontoVrstica | VodStopnjaVrstica)[]): {
|
|
124
|
+
skupina: VodKontoSkupina;
|
|
125
|
+
vrstice: (VodKontoVrstica | VodStopnjaVrstica)[];
|
|
126
|
+
}[];
|
|
127
|
+
//# sourceMappingURL=kontiUparitev.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"kontiUparitev.d.mts","sourceRoot":"","sources":["../../src/racunovodstvo/kontiUparitev.mts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAA;AAC/C,OAAO,EAAkB,KAAK,QAAQ,EAAE,MAAM,aAAa,CAAA;AAE3D;;;GAGG;AACH,eAAO,MAAM,qBAAqB,iBAAiB,CAAA;AAEnD;;;;;;;GAOG;AACH,MAAM,WAAW,eAAe;IAC/B,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;CAChB;AAED;;;;;GAKG;AACH,eAAO,MAAM,iBAAiB,EAAE,eAAe,EAK9C,CAAA;AAED,MAAM,WAAW,eAAe;IAC/B,KAAK,EAAE,MAAM,QAAQ,CAAA;IACrB,KAAK,EAAE,MAAM,CAAA;IACb,mFAAmF;IACnF,OAAO,EAAE,MAAM,CAAA;IACf,qEAAqE;IACrE,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,yEAAyE;IACzE,SAAS,CAAC,EAAE,MAAM,EAAE,CAAA;IACpB,uEAAuE;IACvE,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB;;;;OAIG;IACH,aAAa,CAAC,EAAE,OAAO,CAAA;CACvB;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,iBAAkB,SAAQ,IAAI,CAAC,eAAe,EAAE,OAAO,CAAC;IACxE,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,MAAM,CAAA;CACf;AAED,eAAO,MAAM,iBAAiB,EAAE,eAAe,EAyF9C,CAAA;AAED;;;;;;;;;GASG;AACH,eAAO,MAAM,uBAAuB,EAAE,iBAAiB,EAItD,CAAA;AAED;;;;;;;;;;GAUG;AACH,eAAO,MAAM,4BAA4B,EAAE,iBAAiB,EAI3D,CAAA;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,eAAe,EAAE,CAAC,eAAe,GAAG,iBAAiB,CAAC,EAIlE,CAAA;AAwBD,MAAM,WAAW,YAAY;IAC5B,KAAK,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAA;IACxB,cAAc,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;CACvE;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,SAAS,CAAC,OAAO,EAAE,KAAK,EAAE,GAAG,SAAS,GAAG,YAAY,CAuDpE;AAED,2FAA2F;AAC3F,wBAAgB,eAAe,CAAC,OAAO,EAAE,KAAK,EAAE,GAAG,SAAS,EAAE,KAAK,EAAE,MAAM,GAAG,KAAK,GAAG,SAAS,CAE9F;AAED,sDAAsD;AACtD,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,eAAe,GAAG,SAAS,CAE1E;AAED;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,CAAC,eAAe,GAAG,iBAAiB,CAAC,EAAE,GAAG;IACpF,OAAO,EAAE,eAAe,CAAA;IACxB,OAAO,EAAE,CAAC,eAAe,GAAG,iBAAiB,CAAC,EAAE,CAAA;CAChD,EAAE,CAKF"}
|
|
@@ -0,0 +1,266 @@
|
|
|
1
|
+
// AI modified: 2026-10-02 (skupine kontov: kontni razred + evidenca; vrstice `prihodek` po stopnjah)
|
|
2
|
+
// AI created: 2026-09-29 (VOD: vrstice uparitve kontov in preslikava v opts izvoza)
|
|
3
|
+
// AI moved: 2026-10-05 (iz klikVetApp/code/VOD/vodKontiUparitev.ts v klikvet-logic)
|
|
4
|
+
// Vrstice uparitve kontov (stran `glavneUparitve`) in preslikava zbirke `konti` v `VodKonti`.
|
|
5
|
+
//
|
|
6
|
+
// Vrstni red je del dogovora z računovodstvom: najprej po skupinah (kontni razred),
|
|
7
|
+
// znotraj skupine od najbolj splošnega elementa k najbolj podrobnemu — kar je
|
|
8
|
+
// podrobnejše, prevlada in je zato nižje. Nazivi, vrstni red, skupine in „kje se da
|
|
9
|
+
// prevladati“ so tu zato, da ima stran `glavneUparitve` kaj izpisati, tudi ko je
|
|
10
|
+
// kolekcija `konti` prazna — v bazi pa so shranjeni zato, da jih računovodstvo vidi
|
|
11
|
+
// in da se ob morebitni spremembi dogovora spremeni le podatek, ne koda.
|
|
12
|
+
import { PRIVZETI_KONTI } from './konti.mjs';
|
|
13
|
+
/**
|
|
14
|
+
* Ključ vrstice, ki ni konto: rezervni kupec, uporabljen, kadar račun nima znane
|
|
15
|
+
* stranke. Živi **samo** v tabeli nastavljenih kontov.
|
|
16
|
+
*/
|
|
17
|
+
export const KLJUC_SPLOSNEGA_KUPCA = 'splosniKupec';
|
|
18
|
+
/**
|
|
19
|
+
* Vrstni red skupin je hkrati vrstni red vrstic v obeh tabelah: kontni razredi
|
|
20
|
+
* naraščajo (`10/12` → `76` → `26`), izravnave so na koncu. Vrstice iste skupine
|
|
21
|
+
* se v tabeli držijo skupaj, zato mora biti vsaka skupina v seznamu vrstic
|
|
22
|
+
* neprekinjena.
|
|
23
|
+
*/
|
|
24
|
+
export const VOD_KONTO_SKUPINE = [
|
|
25
|
+
{ kljuc: 'terjatve', naziv: 'Terjatve in denar (10/12)', evidenca: 'saldakonti in glavna knjiga' },
|
|
26
|
+
{ kljuc: 'prihodki', naziv: 'Prihodki od prodaje (76)', evidenca: 'prihodkovna stran glavne knjige' },
|
|
27
|
+
{ kljuc: 'ddv', naziv: 'Obračun DDV (26)', evidenca: 'davčna knjiga' },
|
|
28
|
+
{ kljuc: 'izravnave', naziv: 'Izravnave', evidenca: 'samo glavna knjiga' },
|
|
29
|
+
];
|
|
30
|
+
export const VOD_KONTO_VRSTICE = [
|
|
31
|
+
{
|
|
32
|
+
kljuc: 'terjatev',
|
|
33
|
+
naziv: 'terjatev do stranke',
|
|
34
|
+
skupina: 'terjatve',
|
|
35
|
+
privzeto: PRIVZETI_KONTI.terjatev,
|
|
36
|
+
// Zadnja postaja verige: prevladajo jo lahko način plačila (vedno), blagajna
|
|
37
|
+
// (kartica, gotovina) in zavarovalnica (zavarovanje).
|
|
38
|
+
prevladaS: ['naciniPlacil', 'blagajne', 'zavarovalnice'],
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
kljuc: 'blagajna',
|
|
42
|
+
naziv: 'gotovina v blagajni',
|
|
43
|
+
skupina: 'terjatve',
|
|
44
|
+
privzeto: PRIVZETI_KONTI.blagajna,
|
|
45
|
+
prevladaS: ['naciniPlacil', 'blagajne'],
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
kljuc: 'kartice',
|
|
49
|
+
naziv: 'kartična plačila',
|
|
50
|
+
skupina: 'terjatve',
|
|
51
|
+
privzeto: PRIVZETI_KONTI.kartice,
|
|
52
|
+
prevladaS: ['naciniPlacil', 'blagajne'],
|
|
53
|
+
},
|
|
54
|
+
{
|
|
55
|
+
kljuc: 'zavarovanje',
|
|
56
|
+
naziv: 'terjatev do zavarovalnice',
|
|
57
|
+
skupina: 'terjatve',
|
|
58
|
+
// Privzetka namenoma ni: prazno pomeni, da terjatev pade na `terjatev`.
|
|
59
|
+
privzeto: PRIVZETI_KONTI.zavarovanje,
|
|
60
|
+
// Pred tem privzetkom sta konto zavarovalnice in konto načina plačila.
|
|
61
|
+
prevladaS: ['zavarovalnice', 'naciniPlacil'],
|
|
62
|
+
},
|
|
63
|
+
{
|
|
64
|
+
kljuc: 'prihodek',
|
|
65
|
+
naziv: 'splošni',
|
|
66
|
+
skupina: 'prihodki',
|
|
67
|
+
privzeto: PRIVZETI_KONTI.prihodek,
|
|
68
|
+
prevladaS: ['artikli'],
|
|
69
|
+
// Konto stopnje (`prihodekPoStopnji`) prevlada nad kategorijo, zato je
|
|
70
|
+
// nastavljiv v spodnji tabeli.
|
|
71
|
+
stopnjeSpodaj: true,
|
|
72
|
+
},
|
|
73
|
+
{
|
|
74
|
+
kljuc: 'prihodekStoritev',
|
|
75
|
+
naziv: 'storitev',
|
|
76
|
+
skupina: 'prihodki',
|
|
77
|
+
privzeto: PRIVZETI_KONTI.prihodekStoritev,
|
|
78
|
+
prevladaS: ['artikli'],
|
|
79
|
+
podrejeno: true,
|
|
80
|
+
},
|
|
81
|
+
{
|
|
82
|
+
kljuc: 'prihodekIzdelek',
|
|
83
|
+
naziv: 'izdelek',
|
|
84
|
+
skupina: 'prihodki',
|
|
85
|
+
privzeto: PRIVZETI_KONTI.prihodekIzdelek,
|
|
86
|
+
prevladaS: ['artikli'],
|
|
87
|
+
podrejeno: true,
|
|
88
|
+
},
|
|
89
|
+
{
|
|
90
|
+
kljuc: 'prihodekZdravilo',
|
|
91
|
+
naziv: 'zdravilo',
|
|
92
|
+
skupina: 'prihodki',
|
|
93
|
+
privzeto: PRIVZETI_KONTI.prihodekZdravilo,
|
|
94
|
+
prevladaS: ['artikli'],
|
|
95
|
+
podrejeno: true,
|
|
96
|
+
},
|
|
97
|
+
{
|
|
98
|
+
kljuc: 'prihodekMaterial',
|
|
99
|
+
naziv: 'potrošni material',
|
|
100
|
+
skupina: 'prihodki',
|
|
101
|
+
privzeto: PRIVZETI_KONTI.prihodekMaterial,
|
|
102
|
+
prevladaS: ['artikli'],
|
|
103
|
+
podrejeno: true,
|
|
104
|
+
},
|
|
105
|
+
{
|
|
106
|
+
kljuc: 'ddv',
|
|
107
|
+
naziv: 'splošni',
|
|
108
|
+
skupina: 'ddv',
|
|
109
|
+
privzeto: PRIVZETI_KONTI.ddv,
|
|
110
|
+
// Stopnje, ki svojega konta nimajo, padejo na tega — zato so v spodnji tabeli.
|
|
111
|
+
stopnjeSpodaj: true,
|
|
112
|
+
},
|
|
113
|
+
{
|
|
114
|
+
kljuc: 'zaokrozevanje',
|
|
115
|
+
naziv: 'zaokrožitve',
|
|
116
|
+
skupina: 'izravnave',
|
|
117
|
+
privzeto: PRIVZETI_KONTI.zaokrozevanje,
|
|
118
|
+
},
|
|
119
|
+
];
|
|
120
|
+
/**
|
|
121
|
+
* Konti obračunanega DDV po davčnih stopnjah — **davčna knjiga**.
|
|
122
|
+
*
|
|
123
|
+
* Niso privzetki, ampak **izjema od njih**: prazna vrstica pomeni, da stopnja pade
|
|
124
|
+
* na splošni `ddv`. Zato te vrstice namenoma **nimajo** `privzeto` — polje na strani
|
|
125
|
+
* se ne pred-izpolni, sicer bi se v bazo zapisala kopija splošnega konta in vez
|
|
126
|
+
* na `ddv` bi prenehala veljati.
|
|
127
|
+
*
|
|
128
|
+
* Vrstni red je od najpogostejše stopnje (22 %) navzdol.
|
|
129
|
+
*/
|
|
130
|
+
export const VOD_DDV_STOPNJE_VRSTICE = [
|
|
131
|
+
{ kljuc: 'ddv22', naziv: 'DDV 22 %', skupina: 'ddv', stopnja: 0.22 },
|
|
132
|
+
{ kljuc: 'ddv95', naziv: 'DDV 9,5 %', skupina: 'ddv', stopnja: 0.095 },
|
|
133
|
+
{ kljuc: 'ddv5', naziv: 'DDV 5 %', skupina: 'ddv', stopnja: 0.05 },
|
|
134
|
+
];
|
|
135
|
+
/**
|
|
136
|
+
* Konti prihodka po davčnih stopnjah — **prihodkovna stran** iste knjižbe, ki ji
|
|
137
|
+
* davčno knjigo polni `VOD_DDV_STOPNJE_VRSTICE`.
|
|
138
|
+
*
|
|
139
|
+
* Zanje velja enako kot za vrstice DDV: **nimajo privzetka** in se ne pred-izpolnijo,
|
|
140
|
+
* ker prazno pomeni »pade naprej po verigi« — na kategorijo postavke in šele nato na
|
|
141
|
+
* splošni `prihodek`. Pred-izpolnitev bi v bazo zapisala kopijo splošnega konta in za
|
|
142
|
+
* vse postavke te stopnje izklopila kategorije (`7620` zdravila …).
|
|
143
|
+
*
|
|
144
|
+
* Vrstni red je od najpogostejše stopnje (22 %) navzdol.
|
|
145
|
+
*/
|
|
146
|
+
export const VOD_PRIHODEK_STOPNJE_VRSTICE = [
|
|
147
|
+
{ kljuc: 'prihodek22', naziv: '22 %', skupina: 'prihodki', stopnja: 0.22 },
|
|
148
|
+
{ kljuc: 'prihodek95', naziv: '9,5 %', skupina: 'prihodki', stopnja: 0.095 },
|
|
149
|
+
{ kljuc: 'prihodek5', naziv: '5 %', skupina: 'prihodki', stopnja: 0.05 },
|
|
150
|
+
];
|
|
151
|
+
/**
|
|
152
|
+
* Vse vrstice kontov po vrstnem redu strani.
|
|
153
|
+
*
|
|
154
|
+
* `vrstniRed` v bazi in iskanje vrstice po ključu tečeta po tem seznamu, zato se
|
|
155
|
+
* mora ujemati z vrstnim redom tabele: najprej privzeti konti (zgornja tabela),
|
|
156
|
+
* nato podrobnejše vrstice po stopnjah iz spodnje tabele (prihodek pred DDV, ker je
|
|
157
|
+
* skupina prihodkov pred skupino obračuna DDV).
|
|
158
|
+
*/
|
|
159
|
+
export const VOD_VSE_VRSTICE = [
|
|
160
|
+
...VOD_KONTO_VRSTICE,
|
|
161
|
+
...VOD_PRIHODEK_STOPNJE_VRSTICE,
|
|
162
|
+
...VOD_DDV_STOPNJE_VRSTICE,
|
|
163
|
+
];
|
|
164
|
+
/** Ključi, ki jih izvoz pozna — vse drugo iz kolekcije `konti` se ignorira. */
|
|
165
|
+
const DOVOLJENI_KLJUCI = new Set(VOD_VSE_VRSTICE.map((v) => v.kljuc));
|
|
166
|
+
/**
|
|
167
|
+
* Ključ vrstice po stopnjah → stopnja in preslikava, v katero se zloži.
|
|
168
|
+
*
|
|
169
|
+
* V bazi je vrstica ploščata (`kljuc` + `konto`), izvoz pa stopnje bere kot
|
|
170
|
+
* preslikavo stopnja → konto (`kontoDdv`, `kontoPrihodka`).
|
|
171
|
+
*/
|
|
172
|
+
const STOPNJA_PO_KLJUCU = new Map([
|
|
173
|
+
...VOD_DDV_STOPNJE_VRSTICE.map((v) => [v.kljuc, { stopnja: v.stopnja, konto: 'ddv' }]),
|
|
174
|
+
...VOD_PRIHODEK_STOPNJE_VRSTICE.map((v) => [v.kljuc, { stopnja: v.stopnja, konto: 'prihodek' }]),
|
|
175
|
+
]);
|
|
176
|
+
/**
|
|
177
|
+
* Preslika vrstice kolekcije `konti` v `opts` izvoza.
|
|
178
|
+
*
|
|
179
|
+
* Vrne samo tisto, kar je v bazi; česar ni (ali je prazno), ostane vgrajeni
|
|
180
|
+
* privzetek v `PRIVZETI_KONTI`. Vrstice z neznanim ključem se ignorirajo, da
|
|
181
|
+
* morebitna ročno dodana vrstica ne more pokvariti izvoza.
|
|
182
|
+
*
|
|
183
|
+
* Vrstice po stopnjah (`VOD_DDV_STOPNJE_VRSTICE`, `VOD_PRIHODEK_STOPNJE_VRSTICE`) so v
|
|
184
|
+
* bazi ploščate, izvoz pa jih bere kot preslikavi stopnja → konto, zato se zberejo v
|
|
185
|
+
* `ddvPoStopnji` in `prihodekPoStopnji`.
|
|
186
|
+
*/
|
|
187
|
+
export function kontiIzDb(vrstice) {
|
|
188
|
+
var _a, _b, _c, _d, _e, _f;
|
|
189
|
+
const konti = {};
|
|
190
|
+
/** Konta DDV po stopnjah — v bazi so to ločene vrstice (`ddv22`, `ddv95`, `ddv5`). */
|
|
191
|
+
const ddvPoStopnji = {};
|
|
192
|
+
/** Konta prihodka po stopnjah — prav tako ločene vrstice (`prihodek22`, …). */
|
|
193
|
+
const prihodekPoStopnji = {};
|
|
194
|
+
let neznanaStranka;
|
|
195
|
+
for (const vrstica of vrstice !== null && vrstice !== void 0 ? vrstice : []) {
|
|
196
|
+
if (!vrstica || vrstica._deleted)
|
|
197
|
+
continue;
|
|
198
|
+
if (vrstica.kljuc === KLJUC_SPLOSNEGA_KUPCA) {
|
|
199
|
+
// `Sifra` je šifra v Vascu/Pantheonu (`anQId` oziroma corporate id),
|
|
200
|
+
// `Sifra_tuji_program` pa izvozna šifra v Klik.vetu (`_exportId`).
|
|
201
|
+
// Splošni kupec je rezervni kupec, zato izvozne šifre ni nujno imel —
|
|
202
|
+
// takrat v XML gre le Vascova.
|
|
203
|
+
// `_pantheonId` je staro ime polja `_externalId`; v bazi je ostalo pri zapisih,
|
|
204
|
+
// nastalih pred preimenovanjem (dogovor je, da podatkov ne selimo). Brez
|
|
205
|
+
// tega branja bi splošni kupec ostal brez šifre in vsak anonimni račun bi
|
|
206
|
+
// šel v izvoz s praznim `Sifra`.
|
|
207
|
+
const vascova = String((_c = (_b = (_a = vrstica._externalId) !== null && _a !== void 0 ? _a : vrstica._corporateId) !== null && _b !== void 0 ? _b : vrstica._pantheonId) !== null && _c !== void 0 ? _c : '').trim();
|
|
208
|
+
const izvozna = String((_d = vrstica._exportId) !== null && _d !== void 0 ? _d : '').trim();
|
|
209
|
+
if (vascova || izvozna) {
|
|
210
|
+
neznanaStranka = {
|
|
211
|
+
sifra: vascova || izvozna,
|
|
212
|
+
...(izvozna ? { tujiProgram: izvozna } : {}),
|
|
213
|
+
naziv: String((_e = vrstica.nazivKupca) !== null && _e !== void 0 ? _e : '').trim(),
|
|
214
|
+
};
|
|
215
|
+
}
|
|
216
|
+
continue;
|
|
217
|
+
}
|
|
218
|
+
if (!DOVOLJENI_KLJUCI.has(vrstica.kljuc))
|
|
219
|
+
continue;
|
|
220
|
+
const konto = String((_f = vrstica.konto) !== null && _f !== void 0 ? _f : '').trim();
|
|
221
|
+
if (!konto)
|
|
222
|
+
continue;
|
|
223
|
+
const stopnja = STOPNJA_PO_KLJUCU.get(vrstica.kljuc);
|
|
224
|
+
if (stopnja) {
|
|
225
|
+
if (stopnja.konto === 'ddv')
|
|
226
|
+
ddvPoStopnji[stopnja.stopnja] = konto;
|
|
227
|
+
else
|
|
228
|
+
prihodekPoStopnji[stopnja.stopnja] = konto;
|
|
229
|
+
continue;
|
|
230
|
+
}
|
|
231
|
+
konti[vrstica.kljuc] = konto;
|
|
232
|
+
}
|
|
233
|
+
return {
|
|
234
|
+
// Preslikavi se dodata le, kadar je kaj vpisanega: prazen objekt bi v izvozu
|
|
235
|
+
// pomenil »stopnje so nastavljene«, čeprav nobena ni.
|
|
236
|
+
konti: {
|
|
237
|
+
...konti,
|
|
238
|
+
...(Object.keys(ddvPoStopnji).length ? { ddvPoStopnji } : {}),
|
|
239
|
+
...(Object.keys(prihodekPoStopnji).length ? { prihodekPoStopnji } : {}),
|
|
240
|
+
},
|
|
241
|
+
...(neznanaStranka ? { neznanaStranka } : {}),
|
|
242
|
+
};
|
|
243
|
+
}
|
|
244
|
+
/** Vrstica iz kolekcije `konti` po ključu (tudi izbrisane, da jih stran lahko prikaže). */
|
|
245
|
+
export function vrsticaPoKljucu(vrstice, kljuc) {
|
|
246
|
+
return (vrstice !== null && vrstice !== void 0 ? vrstice : []).find((v) => v && !v._deleted && v.kljuc === kljuc);
|
|
247
|
+
}
|
|
248
|
+
/** Skupina po ključu; `undefined` za neznan ključ. */
|
|
249
|
+
export function skupinaPoKljucu(kljuc) {
|
|
250
|
+
return VOD_KONTO_SKUPINE.find((s) => s.kljuc === kljuc);
|
|
251
|
+
}
|
|
252
|
+
/**
|
|
253
|
+
* Vse vrstice po skupinah, v vrstnem redu tabel.
|
|
254
|
+
*
|
|
255
|
+
* Vrstice se delijo po `skupina`, znotraj skupine pa ohranijo vrstni red iz
|
|
256
|
+
* `VOD_KONTO_VRSTICE`, `VOD_PRIHODEK_STOPNJE_VRSTICE` in `VOD_DDV_STOPNJE_VRSTICE`.
|
|
257
|
+
* Skupina, ki v seznamu ni, se izpusti — zato je izpis na strani vedno skladen z
|
|
258
|
+
* `VOD_KONTO_SKUPINE` in se skupina z nobeno vrstico ne izpiše prazna.
|
|
259
|
+
*/
|
|
260
|
+
export function vrsticePoSkupinah(vrstice) {
|
|
261
|
+
return VOD_KONTO_SKUPINE.map((skupina) => ({
|
|
262
|
+
skupina,
|
|
263
|
+
vrstice: vrstice.filter((v) => v.skupina === skupina.kljuc),
|
|
264
|
+
})).filter((s) => s.vrstice.length > 0);
|
|
265
|
+
}
|
|
266
|
+
//# sourceMappingURL=kontiUparitev.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"kontiUparitev.mjs","sourceRoot":"","sources":["../../src/racunovodstvo/kontiUparitev.mts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Stroškovno mesto za izvoz v računovodstvo — **ena sama veriga**, ki jo uporabljata
|
|
3
|
+
* tako izvoz knjižb (`klikVetApp/code/VOD/izvoziRacuneVOD.ts`) kot izvoz izdanih
|
|
4
|
+
* računov (`src/izvozRacunov`) in prikaz na strani `glavneUparitve.vue`.
|
|
5
|
+
*
|
|
6
|
+
* Zakaj ločen modul: stran v stolpcu »privzeto« obljublja tisto, kar bo izvoz
|
|
7
|
+
* zares vzel. Če bi verigo pisala vsaka stran svojo, bi se prikaz in datoteka
|
|
8
|
+
* razhajala — natanko to, čemur se pri kontih izogibamo s skupnimi funkcijami.
|
|
9
|
+
*
|
|
10
|
+
* Veriga (bolj določeno prevlada): **blagajna → lokacija → nadrejena lokacija**.
|
|
11
|
+
* Blagajna ve, kam gre denar tega računa; lokacija je okvir; nadrejena lokacija
|
|
12
|
+
* je najbolj splošna (npr. terenska enota pod matično ambulanto). Manjkajočega
|
|
13
|
+
* mesta **ne izmišljamo** — račun gre v izvoz brez elementa, izvoz pa opozori.
|
|
14
|
+
*/
|
|
15
|
+
/**
|
|
16
|
+
* Največja dolžina stroškovnega mesta (10 znakov), kot jo določa VOD shema
|
|
17
|
+
* (`Stroskovno_mesto`, `xs:maxLength 10`).
|
|
18
|
+
*
|
|
19
|
+
* Pantheonova imena stroškovnih mest so daljša (`PE PODČETRTEK` = 13), zato v
|
|
20
|
+
* datoteko ne gredo — vrednost je koda (`anQId`), ime pa služi le prikazu.
|
|
21
|
+
*/
|
|
22
|
+
export declare const NAJVEC_ZNAKOV_STROSKOVNEGA_MESTA = 10;
|
|
23
|
+
/** Vrednost, ki sme v `Stroskovno_mesto`: neprazna in največ 10 znakov. */
|
|
24
|
+
export declare function veljavnoStroskovnoMesto(v: unknown): string | undefined;
|
|
25
|
+
/** Lokacija, kot jo potrebuje veriga: svoje mesto in id nadrejene lokacije. */
|
|
26
|
+
export interface LokacijaZaMesto {
|
|
27
|
+
/** Shranjeno stroškovno mesto lokacije (koda iz računovodskega sistema). */
|
|
28
|
+
mesto?: string;
|
|
29
|
+
/** Id nadrejene lokacije (`delLokacijeId`), po kateri se deduje. */
|
|
30
|
+
nadrejena?: string;
|
|
31
|
+
}
|
|
32
|
+
/** Mesta blagajn, ključena po `_id` blagajne. */
|
|
33
|
+
export declare function mestaBlagajnIz(zapisi: Iterable<{
|
|
34
|
+
_id?: string;
|
|
35
|
+
stroskovnoMesto?: string;
|
|
36
|
+
}>): Map<string, string>;
|
|
37
|
+
/** Mesta lokacij, ključena po `_id` lokacije (z id-jem nadrejene lokacije). */
|
|
38
|
+
export declare function mestaLokacijIz(zapisi: Iterable<{
|
|
39
|
+
_id?: string;
|
|
40
|
+
stroskovnoMesto?: string;
|
|
41
|
+
delLokacijeId?: string;
|
|
42
|
+
}>): Map<string, LokacijaZaMesto>;
|
|
43
|
+
/**
|
|
44
|
+
* Stroškovno mesto, ki velja za vrstico (račun, blagajno ali lokacijo).
|
|
45
|
+
*
|
|
46
|
+
* Vrne **prazen niz**, kadar ga ni nikjer v verigi — klicatelj se sam odloči,
|
|
47
|
+
* ali element izpusti (izvoz) ali izpiše pomišljaj (prikaz).
|
|
48
|
+
*
|
|
49
|
+
* Cikel v `delLokacijeId` (podatki so lahko tudi ročno pokvarjeni) nas ne sme
|
|
50
|
+
* zavrteti: vsako lokacijo obiščemo največ enkrat, veriga pa se takrat ustavi.
|
|
51
|
+
*/
|
|
52
|
+
export declare function stroskovnoMestoZaVrstico(vrstica: {
|
|
53
|
+
blagajna_id?: string;
|
|
54
|
+
lokacija_id?: string;
|
|
55
|
+
}, mestaBlagajn: Map<string, string>, mestaLokacij: Map<string, LokacijaZaMesto>): string;
|
|
56
|
+
//# sourceMappingURL=stroskovnoMesto.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stroskovnoMesto.d.mts","sourceRoot":"","sources":["../../src/racunovodstvo/stroskovnoMesto.mts"],"names":[],"mappings":"AAGA;;;;;;;;;;;;;GAaG;AAEH;;;;;;GAMG;AACH,eAAO,MAAM,gCAAgC,KAAK,CAAC;AAEnD,2EAA2E;AAC3E,wBAAgB,uBAAuB,CAAC,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAKtE;AAED,+EAA+E;AAC/E,MAAM,WAAW,eAAe;IAC/B,4EAA4E;IAC5E,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,oEAAoE;IACpE,SAAS,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,iDAAiD;AACjD,wBAAgB,cAAc,CAC7B,MAAM,EAAE,QAAQ,CAAC;IAAE,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,eAAe,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,GAC1D,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAOrB;AAED,+EAA+E;AAC/E,wBAAgB,cAAc,CAC7B,MAAM,EAAE,QAAQ,CAAC;IAAE,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,eAAe,CAAC,EAAE,MAAM,CAAC;IAAC,aAAa,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,GAClF,GAAG,CAAC,MAAM,EAAE,eAAe,CAAC,CAW9B;AAED;;;;;;;;GAQG;AACH,wBAAgB,wBAAwB,CACvC,OAAO,EAAE;IAAE,WAAW,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAAE,EACvD,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,EACjC,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,eAAe,CAAC,GACxC,MAAM,CAeR"}
|