Opis:
Ova funkcija služi kao router (usmerivač) koji na osnovu trenutno odabrane procedure (čuva se u moInput(“procedure”)) poziva odgovarajuću mXamlProcedureSEF… funkciju koja generiše XAML prikaz (dinamički interfejs) za tu konkretnu proceduru uvoza.
Ulaz: nema eksplicitne parametre, ali koristi:
moInput.Exists(“procedure”) – da li je odabrana neka proceduramoInput.CurOption.Value – kod trenutne procedure (npr. “SEFPURIEXSMPL”)
Izlaz: String – XAML kod koji definiše korisnički interfejs za odabranu proceduru. Ako nema odabrane procedure, vraća prazan string.
Pozvane funkcije (u zavisnosti od procedure):
mXamlProcedureSEFPURIEXSMPL()mXamlProcedureSEFPURIEXCPLX1()mXamlProcedureSEFPURIMATSMPL()mXamlProcedureSEFPURIMATSTD()mXamlProcedureSEFPURIMATKALK()mXamlProcedureSEFCRNOTFINTARS()mXamlProcedureSEFDENOTFINTARS()Opis: Generiše interfejs za jednostavan uvoz računa za troškove (bez raspodele na više stavki). Prikazuje se tabela sa poreskim stopama (TaxSubtotal) iz SEF dokumenta. Za svaku stopu se nudi:
Povezane funkcije:
mDecodeExpenseMap – učitava prethodno mapiranje za datu šifruOnMapExpenseClick – akcija na dugme za mapiranje
Koristi se za procedure: SEFPURIEXSMPL, SEFPURINVADVPAY
Opis: Generiše interfejs za složeniji uvoz računa za troškove – raspodela po stavkama računa (InvoiceLine), a ne samo po poreskim stopama. Svaka stavka dobija svoj red u tabeli sa:
Razlika u odnosu na SEFPURIEXSMPL:
Ova procedura tretira svaku liniju računa zasebno, što omogućava precizniju raspodelu troškova.
Povezane funkcije:
mGetSefDocumentLines – vraća kolekciju linija (InvoiceLine ili CreditNoteLine)mDecodeExpenseMap, OnMapExpenseClick
Koristi se za proceduru: SEFPURIEXCPLX1
Opis: Generiše interfejs za pojednostavljeni uvoz računa za robu – mapiranje se vrši na nivou poreskih stopa, a ne pojedinačnih artikala. Korisnik za svaku poresku stopu bira:
Ključna karakteristika: Ne koriste se pojedinačne stavke računa, već agregirani iznosi po stopama PDV-a.
Povezane funkcije:
mDecodeGoodsTaxMap – učitava prethodno mapiranje za datu poresku kategorijuOnMapItemClick – otvara formu za izbor artikla
Koristi se za proceduru: SEFPURIMATSMPL
Opis: Generiše interfejs za standardni uvoz računa za robu – svaka stavka računa (InvoiceLine) se mapira na artikal iz šifarnika. Tabela sadrži:
Povezane funkcije:
mGetSefDocumentLinesmDecodeGoodsMap – učitava mapiranje za datu šifru artiklaOnMapItemClick – odabir artikla
Koristi se za procedure: SEFPURIMATSTD, SEFPURICNRETURNNEW, SEFPURICNASSORT
Opis: Generiše interfejs za uvoz računa koji se vezuje za postojeće prijemnice (kalkulacije). Prikazuje:
Verifikacija se radi kroz mXamlProcedureSEFPURIMATKALKVerify() koja prikazuje sve neusaglašenosti (nepoznati artikli, viškovi, manjkovi, cene…).
Povezane funkcije:
mXamlProcedureSEFPURIMATKALKVerifyOnDocumentChecked, OnDocumentAction, OnDocumentLinkClick
Koristi se za procedure: SEFPURIMATKALK, SEFPURICNRETURN
Opis: Generiše interfejs za finansijsko knjižno odobrenje (CreditNote) – mapiranje po poreskim stopama. Svaka poreska stopa dobija red sa:
Takođe se prikazuje i zaglavlje odobrenja (mXamlProcedureSEFCRNOTFINK) gde se bira obračunska struktura i osnov za knjiženje.
Povezane funkcije:
mXamlProcedureSEFCRNOTFINKmDecodeExpenseMap – za učitavanje mapiranja po šifri poreske kategorijeOnApproveAction – potvrda stavke
Koristi se za proceduru: SEFPURICNFIN
Opis: Veoma slična prethodnoj, ali namenjena za knjižno zaduženje (DebitNote). Takođe koristi:
mXamlProcedureSEFCRNOTFINK)
Razlika:
Umesto moSef.CreditNote koristi moSef.Invoice (jer zaduženje u UBL-u često dolazi kao Invoice sa negativnim predznakom ili posebnom oznakom).
Koristi se za proceduru: SEFPURIDNFIN
Opis:
Vraća artikal iz Balans šifarnika (IArtLstItem) koji odgovara datoj liniji SEF računa. Logika:
1. Prvo pokušava da pronađe artikal na osnovu šifre artikla (''oInvLine.Code'') i dobavljača (''kupid'') kroz standardne funkcije (''FSefGetInvoiceLineItem'')
2. Ako ne uspe, čita prethodna mapiranja iz tabele ''kupciizjave'' za dati kod (''brojizjave'')
3. Ako postoji JSON zapis, popunjava ''IArtLstItem'' iz njega (''elid'', ''tarbr'', ''artikal'', ''tip'', ''boja''...)
4. Na kraju proverava da li taj artikal i dalje postoji u bazi i osvežava podatke
Važno: Uvek vraća inicijalizovan objekat. Ako artikal nije pronađen, ElID = 0.
Opis:
Slično mDecodeGoodsMap, ali umesto linije računa koristi poresku kategoriju (TaxSubtotal). Ovo se koristi kod pojednostavljenih procedura gde se mapiranje ne vrši po artiklima već po stopama PDV-a.
Logika:
kupciizjave gde je ključ šifra poreske kategorije (TaxCategory.Code)elid postoji
Koristi se u proceduri: SEFPURIMATSMPL
Opis:
Vraća objekat troška (IUlazFaktSas) za dati ključ (šifra poreske kategorije ili složeni ključ linije računa). Logika:
kupciizjave gde je brojizjave = sCodeRacTip – obračunska struktura porezaTarID, TarOpis – tarifaTroNazID, TroOpis – naziv/pojam troškaKontoAnalit, KontoSint – kontiSekRefID – troškovno mestoSubAnalitika – analitikaDocRefID – projekatOsnovica, PDV, Ukupno) na osnovu tipa procedure (preko mFindTaxSubtotalByCode ili mFindLineByCode)
Koristi se u procedurama: SEFPURIEXSMPL, SEFPURIEXCPLX1, SEFCRNOTFINTARS, SEFDENOTFINTARS
Opis: Generiše zaglavlje za knjižna odobrenja/zaduženja – mali XAML formular sa dva polja:
ractip)naziv – npr. “Nabavna vrednost”, “Troškovi” itd.)Korisnik bira vrednosti kroz posebne forme za odabir, a dugmad za brisanje omogućavaju resetovanje.
Opis:
Proverava da li se poreska stopa iz SEF dokumenta (iUblPercent) poklapa sa stopom koja je definisana za odabrani artikal ili tarifu u Balansu. Ako se ne poklapa, prikazuje poruku i vraća False. Ako jeste, vraća True.
Upotreba: Poziva se prilikom mapiranja artikla ili troška da bi se sprečilo unošenje pogrešne poreske stope. Preskače se ako je SEF stopa 0 (poresko oslobođenje).
| Funkcija | Opis |
| — | — |
mGetSefDocumentLines() | Vraća kolekciju linija (InvoiceLines ili CreditNoteLines) iz trenutnog SEF dokumenta. |
mFindTaxSubtotalByCode(sCode) | Pronalazi TaxSubtotal objekat po šifri kategorije (npr. “S”, “P”, “Z”). |
mFindLineByCode(sCode) | Pronalazi InvoiceLine ili CreditNoteLine po kombinaciji šifre i naziva artikla. |
mCreateItemVerificationCollections(oArt) | Inicijalizuje kolekcije za praćenje grešaka prilikom verifikacije (unknown, foreign, shortage, excess, price, missing). |