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.
Files changed (73) hide show
  1. package/dist/index-browser.d.mts +18 -0
  2. package/dist/index-browser.d.mts.map +1 -1
  3. package/dist/index-browser.mjs +12 -0
  4. package/dist/index-browser.mjs.map +1 -1
  5. package/dist/index.d.mts +18 -0
  6. package/dist/index.d.mts.map +1 -1
  7. package/dist/index.mjs +12 -0
  8. package/dist/index.mjs.map +1 -1
  9. package/dist/izvozRacunov/db.d.mts +26 -0
  10. package/dist/izvozRacunov/db.d.mts.map +1 -0
  11. package/dist/izvozRacunov/db.mjs +6 -0
  12. package/dist/izvozRacunov/db.mjs.map +1 -0
  13. package/dist/izvozRacunov/generirajIzvoz.d.mts +48 -0
  14. package/dist/izvozRacunov/generirajIzvoz.d.mts.map +1 -0
  15. package/dist/izvozRacunov/generirajIzvoz.mjs +63 -0
  16. package/dist/izvozRacunov/generirajIzvoz.mjs.map +1 -0
  17. package/dist/izvozRacunov/izvoziRacune.d.mts +58 -0
  18. package/dist/izvozRacunov/izvoziRacune.d.mts.map +1 -0
  19. package/dist/izvozRacunov/izvoziRacune.mjs +578 -0
  20. package/dist/izvozRacunov/izvoziRacune.mjs.map +1 -0
  21. package/dist/izvozRacunov/oznake.d.mts +41 -0
  22. package/dist/izvozRacunov/oznake.d.mts.map +1 -0
  23. package/dist/izvozRacunov/oznake.mjs +88 -0
  24. package/dist/izvozRacunov/oznake.mjs.map +1 -0
  25. package/dist/izvozRacunov/schemas/izvozRacunov.schema.json +285 -0
  26. package/dist/izvozRacunov/schemas/izvozRacunov.xsd +400 -0
  27. package/dist/izvozRacunov/serializirajJson.d.mts +16 -0
  28. package/dist/izvozRacunov/serializirajJson.d.mts.map +1 -0
  29. package/dist/izvozRacunov/serializirajJson.mjs +13 -0
  30. package/dist/izvozRacunov/serializirajJson.mjs.map +1 -0
  31. package/dist/izvozRacunov/serializirajXml.d.mts +18 -0
  32. package/dist/izvozRacunov/serializirajXml.d.mts.map +1 -0
  33. package/dist/izvozRacunov/serializirajXml.mjs +309 -0
  34. package/dist/izvozRacunov/serializirajXml.mjs.map +1 -0
  35. package/dist/q-mojPromet.d.mts +1 -1
  36. package/dist/q-promet.d.mts +2 -2
  37. package/dist/q-racunovodji.d.mts +1 -1
  38. package/dist/q-zakljucek-blagajne.d.mts +2 -2
  39. package/dist/racunovodstvo/konti.d.mts +139 -0
  40. package/dist/racunovodstvo/konti.d.mts.map +1 -0
  41. package/dist/racunovodstvo/konti.mjs +135 -0
  42. package/dist/racunovodstvo/konti.mjs.map +1 -0
  43. package/dist/racunovodstvo/kontiUparitev.d.mts +127 -0
  44. package/dist/racunovodstvo/kontiUparitev.d.mts.map +1 -0
  45. package/dist/racunovodstvo/kontiUparitev.mjs +266 -0
  46. package/dist/racunovodstvo/kontiUparitev.mjs.map +1 -0
  47. package/dist/racunovodstvo/stroskovnoMesto.d.mts +56 -0
  48. package/dist/racunovodstvo/stroskovnoMesto.d.mts.map +1 -0
  49. package/dist/racunovodstvo/stroskovnoMesto.mjs +89 -0
  50. package/dist/racunovodstvo/stroskovnoMesto.mjs.map +1 -0
  51. package/dist/test/izvozRacunov.d.mts +2 -0
  52. package/dist/test/izvozRacunov.d.mts.map +1 -0
  53. package/dist/test/izvozRacunov.mjs +258 -0
  54. package/dist/test/izvozRacunov.mjs.map +1 -0
  55. package/dist/test/izvozRacunovShema.d.mts +2 -0
  56. package/dist/test/izvozRacunovShema.d.mts.map +1 -0
  57. package/dist/test/izvozRacunovShema.mjs +267 -0
  58. package/dist/test/izvozRacunovShema.mjs.map +1 -0
  59. package/dist/types/blagajna.d.mts +8 -0
  60. package/dist/types/blagajna.d.mts.map +1 -1
  61. package/dist/types/dnevnikIzvozov.d.mts +1 -0
  62. package/dist/types/dnevnikIzvozov.d.mts.map +1 -1
  63. package/dist/types/izvozRacun.d.mts +481 -0
  64. package/dist/types/izvozRacun.d.mts.map +1 -0
  65. package/dist/types/izvozRacun.mjs +53 -0
  66. package/dist/types/izvozRacun.mjs.map +1 -0
  67. package/dist/types/lokacija.d.mts +10 -0
  68. package/dist/types/lokacija.d.mts.map +1 -1
  69. package/dist/types/nastavitve.d.mts +17 -0
  70. package/dist/types/nastavitve.d.mts.map +1 -1
  71. package/dist/types/racun.d.mts +9 -1
  72. package/dist/types/racun.d.mts.map +1 -1
  73. package/package.json +4 -2
@@ -0,0 +1,309 @@
1
+ /**
2
+ * XML serializer izvoznega paketa.
3
+ *
4
+ * Izhod je **zrcalna slika JSON-a**: vsak element se imenuje natanko tako kot
5
+ * istoimensko polje v JSON-u, vrstni red elementov v vsakem vozlišču pa je enak
6
+ * vrstnemu redu polj v tipu `IzvozniRacun` — natanko tega zahteva XSD
7
+ * (`xs:sequence`).
8
+ *
9
+ * Seznami dobijo ovijalni element z imenom polja, vsak element pa ime v ednini:
10
+ * `postavke` → `<postavke><postavka>…</postavka></postavke>`.
11
+ *
12
+ * Polje, ki je `undefined`, se ne izpiše — enako kot `undefined` polje ne gre v
13
+ * JSON. Praznega seznama ne izpišemo (ne dobimo `<postavke></postavke>`).
14
+ */
15
+ /** Vrstni red karenc v XML-u; enak vrstnemu redu elementov v XSD. */
16
+ const VRSTNI_RED_KARENC = ["meso", "organi", "mleko", "jajca", "med"];
17
+ /** Ubeži znake, ki bi sicer pokvarili XML. */
18
+ function ubezi(v) {
19
+ return v
20
+ .replace(/&/g, "&amp;")
21
+ .replace(/</g, "&lt;")
22
+ .replace(/>/g, "&gt;")
23
+ .replace(/"/g, "&quot;")
24
+ .replace(/'/g, "&apos;");
25
+ }
26
+ function primitiv(v) {
27
+ if (v === undefined || v === null)
28
+ return undefined;
29
+ if (v instanceof Date)
30
+ return Number.isFinite(v.getTime()) ? v.toISOString() : undefined;
31
+ if (typeof v === "boolean")
32
+ return v ? "true" : "false";
33
+ if (typeof v === "number")
34
+ return Number.isFinite(v) ? String(v) : "0";
35
+ const niz = String(v);
36
+ return niz === "" ? undefined : ubezi(niz);
37
+ }
38
+ /** List; če je vrednost prazna, vozlišča ni. */
39
+ function v(ime, vrednost) {
40
+ return primitiv(vrednost) === undefined ? undefined : { ime, vsebina: vrednost };
41
+ }
42
+ /** Izloči odsotna vozlišča. */
43
+ function niz(vozlisca) {
44
+ return vozlisca.filter((x) => !!x);
45
+ }
46
+ /** Ovije podvozlišča v element; praznega elementa ne izpišemo. */
47
+ function ovij(ime, otroci) {
48
+ const obstojeca = niz(otroci);
49
+ return obstojeca.length ? { ime, vsebina: obstojeca } : undefined;
50
+ }
51
+ /** Ponovljeni elementi: `skupine` je po en seznam podvozlišč na element. */
52
+ function sez(ime, element, skupine) {
53
+ const obstojece = skupine.filter((g) => g.length > 0);
54
+ return obstojece.length
55
+ ? { ime, vsebina: obstojece.map((g) => ({ ime: element, vsebina: g })) }
56
+ : undefined;
57
+ }
58
+ /** Ponovljeni elementi s primitivno vsebino. */
59
+ function sezPrimitivov(ime, element, vrednosti) {
60
+ const obstojece = vrednosti.filter((x) => primitiv(x) !== undefined);
61
+ return obstojece.length
62
+ ? { ime, vsebina: obstojece.map((x) => ({ ime: element, vsebina: x })) }
63
+ : undefined;
64
+ }
65
+ function zapisi(vozlisce) {
66
+ var _a;
67
+ if (Array.isArray(vozlisce.vsebina)) {
68
+ let notri = "";
69
+ for (const otrok of vozlisce.vsebina)
70
+ notri += zapisi(otrok);
71
+ return `<${vozlisce.ime}>${notri}</${vozlisce.ime}>`;
72
+ }
73
+ return `<${vozlisce.ime}>${(_a = primitiv(vozlisce.vsebina)) !== null && _a !== void 0 ? _a : ""}</${vozlisce.ime}>`;
74
+ }
75
+ // ---------------------------------------------------------------------------
76
+ // Posamezni deli modela (vračajo podvozlišča, ker ime določi klicatelj)
77
+ // ---------------------------------------------------------------------------
78
+ function referenca(r) {
79
+ return niz([v("klikvetId", r.klikvetId), v("erpId", r.erpId), v("virId", r.virId), v("naziv", r.naziv)]);
80
+ }
81
+ function naslov(n) {
82
+ return ovij("naslov", [
83
+ v("ulica", n.ulica),
84
+ v("hisnaStevilka", n.hisnaStevilka),
85
+ v("postnaStevilka", n.postnaStevilka),
86
+ v("posta", n.posta),
87
+ v("naselje", n.naselje),
88
+ v("obcina", n.obcina),
89
+ v("drzava", n.drzava),
90
+ ]);
91
+ }
92
+ function stranka(s) {
93
+ return niz([
94
+ v("klikvetId", s.klikvetId),
95
+ v("erpId", s.erpId),
96
+ v("virId", s.virId),
97
+ v("firma", s.firma),
98
+ v("ime", s.ime),
99
+ v("priimek", s.priimek),
100
+ v("spol", s.spol),
101
+ s.naslov ? naslov(s.naslov) : undefined,
102
+ v("davcniZavezanec", s.davcniZavezanec),
103
+ v("idDdv", s.idDdv),
104
+ v("maticnaStevilka", s.maticnaStevilka),
105
+ v("emso", s.emso),
106
+ v("gsm", s.gsm),
107
+ v("telefon", s.telefon),
108
+ v("email", s.email),
109
+ v("trr", s.trr),
110
+ v("bic", s.bic),
111
+ ]);
112
+ }
113
+ function izdajatelj(i) {
114
+ return niz([
115
+ v("naziv", i.naziv),
116
+ v("firma", i.firma),
117
+ v("naslov", i.naslov),
118
+ v("idDdv", i.idDdv),
119
+ v("davcnaStevilka", i.davcnaStevilka),
120
+ ]);
121
+ }
122
+ function zavarovanje(z) {
123
+ return niz([
124
+ v("naziv", z.naziv),
125
+ v("erpId", z.erpId),
126
+ v("polica", z.polica),
127
+ v("kritje", z.kritje),
128
+ v("soudelezba", z.soudelezba),
129
+ ]);
130
+ }
131
+ function vezRacuna(r) {
132
+ return niz([v("klikvetId", r.klikvetId), v("stevilka", r.stevilka), v("datum", r.datum), v("izdal", r.izdal)]);
133
+ }
134
+ function karence(k) {
135
+ return ovij("karence", [
136
+ v("pot", k.pot),
137
+ v("vrsta", k.vrsta),
138
+ ovij("karence",
139
+ // Vrstni red je fiksen, ker je XSD `xs:sequence`; vrstni red ključev v
140
+ // objektu je poljuben (odvisen od zapisa v bazi).
141
+ VRSTNI_RED_KARENC.map((vrsta) => { var _a; return v(vrsta, (_a = k.karence) === null || _a === void 0 ? void 0 : _a[vrsta]); })),
142
+ ]);
143
+ }
144
+ function postavka(p) {
145
+ var _a;
146
+ return niz([
147
+ v("postavkaId", p.postavkaId),
148
+ v("opis", p.opis),
149
+ v("opisDodatni", p.opisDodatni),
150
+ ovij("artikel", referenca(p.artikel)),
151
+ v("kategorija", p.kategorija),
152
+ v("kolicina", p.kolicina),
153
+ ovij("enota", referenca(p.enota)),
154
+ v("stopnjaDdv", p.stopnjaDdv),
155
+ v("erpDavcnaKoda", p.erpDavcnaKoda),
156
+ v("popustOdstotek", p.popustOdstotek),
157
+ v("netoProdajnaCenaBrezPopusta", p.netoProdajnaCenaBrezPopusta),
158
+ v("netoProdajnaCena", p.netoProdajnaCena),
159
+ v("brutoProdajnaCenaBrezPopusta", p.brutoProdajnaCenaBrezPopusta),
160
+ v("brutoProdajnaCena", p.brutoProdajnaCena),
161
+ v("nabavnaCenaBrezDavka", p.nabavnaCenaBrezDavka),
162
+ v("kontoPrihodka", p.kontoPrihodka),
163
+ v("kontoDdv", p.kontoDdv),
164
+ v("kodaPopusta", p.kodaPopusta),
165
+ v("zaStrankoId", p.zaStrankoId),
166
+ v("zaStrankoErpId", p.zaStrankoErpId),
167
+ v("nazivZaStranko", p.nazivZaStranko),
168
+ v("pacientId", p.pacientId),
169
+ v("pacientIme", p.pacientIme),
170
+ v("pacientCip", p.pacientCip),
171
+ v("lastnikId", p.lastnikId),
172
+ v("lastnikErpId", p.lastnikErpId),
173
+ v("obravnavaId", p.obravnavaId),
174
+ v("obiskId", p.obiskId),
175
+ v("korakObravnaveId", p.korakObravnaveId),
176
+ v("namenObravnave", p.namenObravnave),
177
+ v("diagnoza", p.diagnoza),
178
+ v("terenNamen", p.terenNamen),
179
+ v("veterinar", p.veterinar),
180
+ v("poljeObravnave", p.poljeObravnave),
181
+ v("virPostavke", p.virPostavke),
182
+ v("izPredracunaId", p.izPredracunaId),
183
+ v("izDobavniceId", p.izDobavniceId),
184
+ v("poDokumentu", p.poDokumentu),
185
+ v("dodal", p.dodal),
186
+ v("zaracunal", p.zaracunal),
187
+ v("vneseno", p.vneseno),
188
+ p.zavarovanje ? ovij("zavarovanje", zavarovanje(p.zavarovanje)) : undefined,
189
+ v("prikrijIme", p.prikrijIme),
190
+ v("recept", p.recept),
191
+ v("IPV", p.IPV),
192
+ v("stevilkaZdravila", p.stevilkaZdravila),
193
+ v("vtipkaneStevilkeZdravila", p.vtipkaneStevilkeZdravila),
194
+ v("pmzKodaZdravila", p.pmzKodaZdravila),
195
+ v("pmzZa", p.pmzZa),
196
+ v("karencaOd", p.karencaOd),
197
+ v("karencaZa", p.karencaZa),
198
+ p.karence ? karence(p.karence) : undefined,
199
+ v("navodilo", p.navodilo),
200
+ v("stevilkaZivali", p.stevilkaZivali),
201
+ sezPrimitivov("zaZivali", "zival", (_a = p.zaZivali) !== null && _a !== void 0 ? _a : []),
202
+ v("rejna", p.rejna),
203
+ v("neRazknjiziObIzdajiRacuna", p.neRazknjiziObIzdajiRacuna),
204
+ v("razknjiziZalogoId", p.razknjiziZalogoId),
205
+ v("vrstaRazknjizbe", p.vrstaRazknjizbe),
206
+ v("faktorRazknjizbe", p.faktorRazknjizbe),
207
+ v("naKg", p.naKg),
208
+ v("pribitekDezurstvaOdstotek", p.pribitekDezurstvaOdstotek),
209
+ v("gmid", p.gmid),
210
+ ]);
211
+ }
212
+ function placilo(p) {
213
+ return niz([
214
+ v("kategorija", p.kategorija),
215
+ v("nacin", p.nacin),
216
+ v("klikvetId", p.klikvetId),
217
+ v("erpId", p.erpId),
218
+ v("virId", p.virId),
219
+ v("konto", p.konto),
220
+ v("znesek", p.znesek),
221
+ ]);
222
+ }
223
+ function racun(r) {
224
+ var _a;
225
+ return niz([
226
+ v("racunId", r.racunId),
227
+ v("virId", r.virId),
228
+ v("stevilka", r.stevilka),
229
+ v("zaporednaStevilka", r.zaporednaStevilka),
230
+ v("zapSt", r.zapSt),
231
+ v("datumIzdaje", r.datumIzdaje),
232
+ v("datumStoritve", r.datumStoritve),
233
+ v("datumZapadlosti", r.datumZapadlosti),
234
+ v("datumOdprtja", r.datumOdprtja),
235
+ v("dodan", r.dodan),
236
+ v("krajIzdaje", r.krajIzdaje),
237
+ v("namenRacuna", r.namenRacuna),
238
+ v("opomba", r.opomba),
239
+ v("pripis", r.pripis),
240
+ v("navodiloStranki", r.navodiloStranki),
241
+ v("sklic", r.sklic),
242
+ v("pogodba", r.pogodba),
243
+ v("narocilnica", r.narocilnica),
244
+ v("zbirnik", r.zbirnik),
245
+ v("strniZbirnik", r.strniZbirnik),
246
+ v("imeZbirnika", r.imeZbirnika),
247
+ sezPrimitivov("zdruzenIzOdprtih", "racun", (_a = r.zdruzenIzOdprtih) !== null && _a !== void 0 ? _a : []),
248
+ ovij("izdajatelj", izdajatelj(r.izdajatelj)),
249
+ v("izdal", r.izdal),
250
+ v("odprl", r.odprl),
251
+ v("izdalDelovnoMesto", r.izdalDelovnoMesto),
252
+ v("veterinar", r.veterinar),
253
+ v("imeIzdajatelja", r.imeIzdajatelja),
254
+ v("imeVeterinarja", r.imeVeterinarja),
255
+ v("dezurstvo", r.dezurstvo),
256
+ r.stranka ? ovij("stranka", stranka(r.stranka)) : undefined,
257
+ r.lastnik ? ovij("lastnik", stranka(r.lastnik)) : undefined,
258
+ r.zaStranko ? ovij("zaStranko", stranka(r.zaStranko)) : undefined,
259
+ v("kontoTerjatve", r.kontoTerjatve),
260
+ v("stroskovnoMesto", r.stroskovnoMesto),
261
+ ovij("lokacija", referenca(r.lokacija)),
262
+ ovij("blagajna", referenca(r.blagajna)),
263
+ ovij("poslovalnica", referenca(r.poslovalnica)),
264
+ ovij("skladisce", referenca(r.skladisce)),
265
+ v("obravnavaId", r.obravnavaId),
266
+ v("obiskId", r.obiskId),
267
+ v("pacientId", r.pacientId),
268
+ v("pacientIme", r.pacientIme),
269
+ v("pacientCip", r.pacientCip),
270
+ v("namenObravnave", r.namenObravnave),
271
+ v("diagnoza", r.diagnoza),
272
+ v("zival", r.zival),
273
+ v("vrstaRejneZivali", r.vrstaRejneZivali),
274
+ v("gmid", r.gmid),
275
+ v("imaPmzPostavke", r.imaPmzPostavke),
276
+ v("IPV", r.IPV),
277
+ v("negotovinski", r.negotovinski),
278
+ v("zoi", r.zoi),
279
+ v("eor", r.eor),
280
+ v("davcnoPotrjeno", r.davcnoPotrjeno),
281
+ v("neFiskaliziraj", r.neFiskaliziraj),
282
+ r.predhodniRacun ? ovij("predhodniRacun", vezRacuna(r.predhodniRacun)) : undefined,
283
+ r.naslednjiRacun ? ovij("naslednjiRacun", vezRacuna(r.naslednjiRacun)) : undefined,
284
+ v("idIzdanegaRacuna", r.idIzdanegaRacuna),
285
+ v("prestevilcen", r.prestevilcen),
286
+ v("staraStevilka", r.staraStevilka),
287
+ sez("postavke", "postavka", r.postavke.map(postavka)),
288
+ sez("placila", "placilo", r.placila.map(placilo)),
289
+ ]);
290
+ }
291
+ // ---------------------------------------------------------------------------
292
+ // Vstopna točka
293
+ // ---------------------------------------------------------------------------
294
+ /** Serializira paket v XML. */
295
+ export function serializirajXml(paket) {
296
+ const koren = {
297
+ ime: "izvozRacunov",
298
+ vsebina: niz([
299
+ v("verzija", paket.verzija),
300
+ ovij("izdajatelj", izdajatelj(paket.izdajatelj)),
301
+ v("obdobjeOd", paket.obdobjeOd),
302
+ v("obdobjeDo", paket.obdobjeDo),
303
+ v("oznakaValute", paket.oznakaValute),
304
+ sez("racuni", "racun", paket.racuni.map(racun)),
305
+ ]),
306
+ };
307
+ return `<?xml version="1.0" encoding="UTF-8"?>${zapisi(koren)}`;
308
+ }
309
+ //# sourceMappingURL=serializirajXml.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"serializirajXml.mjs","sourceRoot":"","sources":["../../src/izvozRacunov/serializirajXml.mts"],"names":[],"mappings":"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"}
@@ -18,8 +18,8 @@ declare function execPipeline(pipeline: object[], tenant: string): Promise<{
18
18
  data: unknown;
19
19
  executionMs: number;
20
20
  } | {
21
- data?: undefined;
22
21
  executionMs?: undefined;
22
+ data?: undefined;
23
23
  ok: boolean;
24
24
  error: unknown;
25
25
  }>;
@@ -76,17 +76,17 @@ declare function createAggregationPipeline({ match, groupBy, skupineIzdelkov, sk
76
76
  pipeline: any[];
77
77
  };
78
78
  declare function execPipeline(pipeline: object[], tenant: string): Promise<{
79
+ error?: undefined;
79
80
  ok: boolean;
80
81
  data: any[];
81
82
  keys: string[];
82
83
  fields: string[];
83
84
  executionMs: number;
84
- error?: undefined;
85
85
  } | {
86
+ executionMs?: undefined;
86
87
  data?: undefined;
87
88
  keys?: undefined;
88
89
  fields?: undefined;
89
- executionMs?: undefined;
90
90
  ok: boolean;
91
91
  error: unknown;
92
92
  }>;
@@ -18,8 +18,8 @@ declare function execPipeline(pipeline: object[], tenant: string): Promise<{
18
18
  data: unknown[];
19
19
  executionMs: number;
20
20
  } | {
21
- executionMs?: undefined;
22
21
  data?: undefined;
22
+ executionMs?: undefined;
23
23
  ok: boolean;
24
24
  error: unknown;
25
25
  }>;
@@ -18,10 +18,10 @@ declare function createAggregationPipelinePoBlagajnikih({ odDne, doDne, stevilka
18
18
  match: any;
19
19
  };
20
20
  declare function execPipeline(pipeline: object[], tenant: string): Promise<{
21
- error?: undefined;
22
21
  ok: boolean;
23
22
  data: unknown[];
24
23
  executionMs: number;
24
+ error?: undefined;
25
25
  } | {
26
26
  data?: undefined;
27
27
  executionMs?: undefined;
@@ -36,10 +36,10 @@ declare function zaporedjaStevilk(match: any, tenant: string): Promise<{
36
36
  declare function TRRRacuni(match: any, tenant: string): Promise<unknown[] | undefined>;
37
37
  declare function vsiRacuni(match: any, tenant: string, samoTrr?: boolean): Promise<unknown[] | undefined>;
38
38
  declare function sestevekPlacil(tenant: string, params: MojPrometParams): Promise<{
39
- error?: undefined;
40
39
  ok: boolean;
41
40
  data: unknown[];
42
41
  executionMs: number;
42
+ error?: undefined;
43
43
  } | {
44
44
  data?: undefined;
45
45
  executionMs?: undefined;
@@ -0,0 +1,139 @@
1
+ /**
2
+ * Konti, na katere se knjiži izdan račun — dogovor z računovodstvom.
3
+ *
4
+ * Modul je **skupen**: uporabljata ga VOD izvoz knjižb (`klikVetApp/code/VOD`)
5
+ * in izvoz izdanih računov v zunanji sistem (`src/izvozRacunov`). Predpona `Vod`
6
+ * je ostala iz časa, ko je bil VOD edini porabnik; pomen je isti za vsak izvoz
7
+ * v računovodstvo.
8
+ */
9
+ import type { NacinPlacila } from '../types/racun.mjs';
10
+ import type { Zavarovalnica } from '../types/Zavarovalnica.mjs';
11
+ import type { Blagajna } from '../types/blagajna.mjs';
12
+ import type { Artikel } from '../types/artikel.mjs';
13
+ /**
14
+ * Konti, ki jih izvoz zahteva na vsaki knjižbi.
15
+ *
16
+ * Privzetki so le tisti, ki so hkrati v **pravi skupini Enotnega kontnega okvira**
17
+ * (Strokovni svet Slovenskega inštituta za revizijo; skupine `10`, `12`, `26`,
18
+ * `76`) in v slovenski praksi splošno razširjeni. Okvir predpisuje samo razrede
19
+ * in skupine, ne analitik — zato so te vrednosti predlog, ne standard. Kjer
20
+ * takega predloga ni (`kartice`, `zaokrožitve`), polje ostane prazno in ga
21
+ * vpiše računovodstvo.
22
+ */
23
+ export interface VodKonti {
24
+ /** Terjatev do stranke (odloženo plačilo) — skupina 12. */
25
+ terjatev: string;
26
+ /** Prihodek, kadar artikel svojega konta nima in ga ni po kategoriji — skupina 76. */
27
+ prihodek: string;
28
+ /** Prihodek od storitev (kategorija postavke `storitev`). */
29
+ prihodekStoritev?: string;
30
+ /** Prihodek od izdelkov (kategorija postavke `izdelek`). */
31
+ prihodekIzdelek?: string;
32
+ /** Prihodek od zdravil (kategorija postavke `zdravilo`). */
33
+ prihodekZdravilo?: string;
34
+ /** Prihodek od potrošnega materiala (kategorija postavke `potrošni material`). */
35
+ prihodekMaterial?: string;
36
+ /** Obračunani DDV — skupina 26. */
37
+ ddv: string;
38
+ /** Gotovina v blagajni — skupina 10. */
39
+ blagajna?: string;
40
+ /** Kartična plačila (ali negotovinska blagajna brez svojega konta). */
41
+ kartice?: string;
42
+ /** Terjatev do zavarovalnice. Prazno pomeni, da gre terjatev na `terjatev` do strank. */
43
+ zavarovanje?: string;
44
+ /** Pobot zaokrožitvenih razlik izravnave. */
45
+ zaokrozevanje?: string;
46
+ /**
47
+ * Obračunani DDV po posamezni stopnji; ključ je stopnja (`0.22`, `0.095`, `0.05`, `0`).
48
+ *
49
+ * Kjer stopnje tu ni, velja splošni `ddv`. Namen je računovodstvom, ki DDV
50
+ * vodijo ločeno po stopnjah (npr. `2600` splošna, `2608` znižana).
51
+ */
52
+ ddvPoStopnji?: Record<number, string>;
53
+ /**
54
+ * Prihodek po posamezni stopnji; ključ je stopnja (`0.22`, `0.095`, `0.05`, `0`).
55
+ *
56
+ * Prevlada nad `prihodek*` po kategoriji, ne pa nad kontom na artiklu —
57
+ * najbolj podroben podatek je še vedno konto artikla.
58
+ */
59
+ prihodekPoStopnji?: Record<number, string>;
60
+ }
61
+ export declare const PRIVZETI_KONTI: VodKonti;
62
+ /**
63
+ * Iz davčne stopnje v obliko, ki je ključ preslikave.
64
+ *
65
+ * Stopnja pride iz baze kot `double`, zato jo pred iskanjem zaokrožimo na štiri
66
+ * decimalke — `0.09500000000000001` bi sicer zgrešil ključ `0.095`.
67
+ */
68
+ export declare function kljucStopnje(dst: number): number;
69
+ /**
70
+ * Konto za debetno knjižbo prihodka denarja.
71
+ *
72
+ * Vrstni red je od najbolj specifičnega k najbolj splošnemu, s **posebno izjemo pri
73
+ * zavarovanju**: tam je `Placilo.nacin` ime zavarovalnice, zato mora konto konkretne
74
+ * zavarovalnice prevladati nad morebitnim kontom istoimenskega načina plačila.
75
+ *
76
+ * | Kategorija | 1. | 2. | 3. | 4. | 5. |
77
+ * | -------------- | ------------- | ------------- | ------------------- | ----------------- | -------------- |
78
+ * | kartica | način plačila | blagajna | `konti.kartice` | `konti.blagajna` | `konti.terjatev` |
79
+ * | gotovina | način plačila | blagajna | `konti.blagajna` | `konti.terjatev` | — |
80
+ * | zavarovanje | zavarovalnica | način plačila | `konti.zavarovanje` | `konti.terjatev` | — |
81
+ * | odloženo | način plačila | — | `konti.terjatev` | — | — |
82
+ *
83
+ * Kartica pade pred `konti.terjatev` na **blagajno**: denar je ob izdaji računa že
84
+ * prejet, zato terjatev ne nastane. Brez te stopnje bi kartični promet končal med
85
+ * terjatvami do kupcev in bi računovodstvo odprlo neplačane postavke.
86
+ *
87
+ * `Blagajna.konto` je namenoma šele za kategorijo, ker lahko blagajna sprejme
88
+ * različne načine plačila (`negotovinska`), zato sam način plačila pove več.
89
+ *
90
+ * Zavarovalnica ima **svojega partnerja** na knjižbi (`Partner/Sifra`), zato
91
+ * ločenega konta ne potrebuje — privzeto gre terjatev na isti konto kot do
92
+ * strank, razlikuje pa se po partnerju. Svoj konto dobi le, če ga zahteva
93
+ * računovodstvo (`zavarovalnice.konto` ali `VodKonti.zavarovanje`).
94
+ *
95
+ * `1210` privzeto NI uporabljen: v Opalovem priporočenem kontiranju
96
+ * (`primeri-knjizb-izdanih-racunov-2025.pdf`) je to terjatev do **tujih**
97
+ * kupcev (izvoz, tristranska dobava), ne terjatev do zavarovalnice.
98
+ */
99
+ export declare function kontoZaPlacilo(kategorija: string, nacinPlacila: NacinPlacila | undefined, blagajna: Blagajna | undefined, zavarovalnica: Zavarovalnica | undefined, konti: VodKonti): string;
100
+ /**
101
+ * Konto prihodka za posamezno postavko računa.
102
+ *
103
+ * Vrstni red je od najbolj podrobnega k najbolj splošnemu: konto na artiklu
104
+ * prevlada nad konto kategorije, kategorija pa nad splošnim prihodkom.
105
+ * Kategorijo damo kot parameter, ker je na voljo tudi takrat, kadar artikla v
106
+ * šifrantu ni (tedaj `artikel` manjka, `postavka.kategorija` pa je).
107
+ */
108
+ export declare function kontoPrihodka(artikel: Artikel | undefined, kategorija: string | undefined, konti: VodKonti, dst?: number): string;
109
+ /**
110
+ * Konto obračunanega DDV za posamezno stopnjo.
111
+ *
112
+ * Kjer stopnja svojega konta nima, velja splošni `ddv` — tako ostane izvoz
113
+ * nespremenjen, dokler računovodstvo stopenj ne začne ločevati.
114
+ */
115
+ export declare function kontoDdv(dst: number, konti: VodKonti): string;
116
+ /**
117
+ * Kategorije postavke, ki imajo svoj konto prihodka — v vrstnem redu, kot jih
118
+ * našteva tabela uparitve.
119
+ *
120
+ * Potrebujejo jih prikazi, ki hočejo povedati, **na kateri konto zares pade**
121
+ * posamezna kategorija: kateri konto dobi kategorija, pove `kontoPrihodka`,
122
+ * seznam kategorij pa je treba od nekod vzeti — tu je isti vir kot preslikava
123
+ * sama, zato se seznam in preslikava ne moreta razhajati.
124
+ */
125
+ export declare const KATEGORIJE_PRIHODKA: string[];
126
+ /** Konto in vse kategorije postavk, ki nanj padejo. */
127
+ export type PrihodekPoKontu = {
128
+ konto: string;
129
+ kategorije: string[];
130
+ };
131
+ /**
132
+ * Dejanski konti, na katere padejo kategorije postavk — za prikaz v tabeli uparitve.
133
+ *
134
+ * Uporablja isto verigo kot izvoz (`kontoPrihodka`), le brez konta stopnje, zato se
135
+ * prikaz in izvoz ne moreta razhajati. Kategorije z istim kontom se združijo, da
136
+ * vrstica ostane kratka; rezultat je urejen po padanju — najbolj splošni konto nazadnje.
137
+ */
138
+ export declare function kontiPrihodkaPoKategorijah(konti: VodKonti): PrihodekPoKontu[];
139
+ //# sourceMappingURL=konti.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"konti.d.mts","sourceRoot":"","sources":["../../src/racunovodstvo/konti.mts"],"names":[],"mappings":"AAEA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACtD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAC/D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AACrD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAA;AAEnD;;;;;;;;;GASG;AACH,MAAM,WAAW,QAAQ;IACxB,2DAA2D;IAC3D,QAAQ,EAAE,MAAM,CAAA;IAChB,sFAAsF;IACtF,QAAQ,EAAE,MAAM,CAAA;IAChB,6DAA6D;IAC7D,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,4DAA4D;IAC5D,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,4DAA4D;IAC5D,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,kFAAkF;IAClF,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,mCAAmC;IACnC,GAAG,EAAE,MAAM,CAAA;IACX,wCAAwC;IACxC,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,uEAAuE;IACvE,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,yFAAyF;IACzF,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,6CAA6C;IAC7C,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB;;;;;OAKG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACrC;;;;;OAKG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAC1C;AAED,eAAO,MAAM,cAAc,EAAE,QAK5B,CAAA;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAEhD;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,wBAAgB,cAAc,CAC7B,UAAU,EAAE,MAAM,EAClB,YAAY,EAAE,YAAY,GAAG,SAAS,EACtC,QAAQ,EAAE,QAAQ,GAAG,SAAS,EAC9B,aAAa,EAAE,aAAa,GAAG,SAAS,EACxC,KAAK,EAAE,QAAQ,GACb,MAAM,CAQR;AAED;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAC5B,OAAO,EAAE,OAAO,GAAG,SAAS,EAC5B,UAAU,EAAE,MAAM,GAAG,SAAS,EAC9B,KAAK,EAAE,QAAQ,EACf,GAAG,CAAC,EAAE,MAAM,GACV,MAAM,CAMR;AAED;;;;;GAKG;AACH,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,GAAG,MAAM,CAE7D;AAgBD;;;;;;;;GAQG;AACH,eAAO,MAAM,mBAAmB,EAAE,MAAM,EAA8C,CAAA;AAEtF,uDAAuD;AACvD,MAAM,MAAM,eAAe,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,EAAE,CAAA;CAAE,CAAA;AAErE;;;;;;GAMG;AACH,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,QAAQ,GAAG,eAAe,EAAE,CAY7E"}