Popis datového rozhraní k iFIS Závazky
Rozhraní je využíváno okolními aplikacemi pro zápis závazkových prvotních dokladů do evidencí iFIS*Finance. Přes datová rozhraní mohou být do iFIS zapisovány:
- požadavky dodavatelů, zaměstnanců nebo jiných subjektů na vyplacení zálohy
- dodavatelské faktury
- drobná vydání (paragony)
- konečná vyúčtování (např. vyúčtování služebních cest)
- výplatní listiny (mzdové výplatní listiny, seznamy stipendií k výplatě apod.)
Samotný zápis dat je možné provádět buď prostřednictvím REST API služby, nebo pomocí konektorů (funkcí) na úrovni databáze Oracle iFIS. Návratovou hodnotou volání datového rozhraní je vždy jednoznačné číslo vytvořeného záznamu v iFIS*Finance. Přes tento identifikátor může externí systém zjišťovat podrobnosti o stavu zpracování jednotlivých dokladů.
![]() |
Poznámka |
Příjem a zpracování dodavatelských faktur v ISDOC formátu je zajišťováno na rozhraní iFIS*Spisová služba / e-podatelna. ISDOC faktury následně předávány ke zpracování do iFIS*Finance. |
Předání dat přes webovou službu iFIS
REST služba ZAVAZKY je obvykle provozovaná na aplikačním serveru iFIS (Oracle iAS), data se na jejím rozhraní předávají v podobě JSON souboru.
Technický popis služby i popis struktury je k dispozici pod odkazy:
BBM-s.r.o8-i-fis_zavazky_rest_api-12.20.1-swagger.json BBM-s.r.o8-i-fis_zavazky_rest_api-12.20.1-swagger.yaml dynamic-html-documentation-generated.zip html2-documentation-generated.zip html-documentation-generated.zip
Příklad předávaného datového souboru s předpisy dvou závazků v EUR, které mají být vyplaceny zaměstnancům, je v souboru zavazky_vyuctovani_EUR_v1.json
Předání dat přes databázové konektory iFIS
Externí aplikace přistupuje do databáze iFIS obvykle přes privátní db-link a předává data prostřednistvím databázový funkcí (konektorů), které jsou k dispozici v rámci rozhraní IMP_DOFA
- Externí aplikace ovlivňuje chování jednotlivých konektorů zadáním tzv. vstupních argumentů
- Vstupní argumenty konektorů, které mají definovány default hodnoty, jsou nepovinné
- Argumenty, u nichž jsou uvedeny možné hodnoty, nebo odkazy na domény, nebo odkazy na jiné číselníky jsou na tyto hodnoty kontrolovány.
- Konektor kontroluje všechna databázová integritní omezení
- Jakákoliv chyba při zpracování transakce způsobí automatické odvolání všech změn, které funkce provedla
- Konektor automaticky vrací po provedení transakce tzv. výstupní argumenty. Tyto výstupní argumenty informují externí aplikaci o stavu provedené transakce (informace o správně provedené transkaci, informace o jednoznačných identifikátorech nově založených záznamů v iFIS, informace o chybných vstupních argumentech, o porušených integritních omezeních, či o porušení pravidel pro uložení dat do iFIS*Finance)
- Další pravidla jsou součástí popisu příslušných funkcí (viz dále)
Konektorům se postupně předají data hlavičky i řádků závazku, připojí se dokumenty do přílohy a na závěr se zavolá konektor pro uzavření dokladu. Návratovou hodnotou tohoto volání je číslo závazku, který byl uložený v iFIS*Finance/Závazky/Zásobník podkladů. Popis jednotlivých argumentů volání konektorů i postup jejich volání je naznačený v připojeném souboru Priklad zapisu konecneho vyuctovani pres rozhrani IMP_DOFA.sql.
Technický popis jednotlivých konektorů (funkcí) a jejich argumentů v rámci rozhraní IMP_ODFA
FUNCTION Otevri_Doklad
POPIS : Funkce otevira rozhrani pro zpracovani nasledneho zavazku
VSTUP : MESICP ucetni obdobi(mesic) pohledavky, ze ktere se generuje zavazek,nepovinne
ROKP ucetni obdobi(rok) pohledavky, ze ktere se generuje zavazek,nepovinne
EJIDNO_ id ek. jednotky, kam se ma importovat zavazek
firmidno_ vnitrni identifikator adresy firmy dodavatele
(nepovinny), ma prednost pred argumentem "ico_"
ico_ ICO firmy dodavatele, povinne, pokud neni uveden argument
firmidno_ a pokud se nejedná o závazek k zam.
mena_ Mena zavazku, povinne
ciucidno_ vnitrni identifikator bankovniho uctu dodavatele,
nepovinny, ma prednost pre "ucet_"
ucet_ cislo bankovniho uctu dodavatele, nepovinne,
vcetne lomitka a cisla bankovniho ustavu
penale_ denni penale v %, nepovinne
vsmb_ variabilni symbol, max 10 znaku, nepovinne
ksmb_ konstantni symbol, max 10 znaku, nepovinne
ssmb_ specificky symbol, max 10 znaku, nepovinne
popis_ Popis dokladu, volny text max 255 znaku, nepovinne
cfd_ Cislo dokladu dodavatele, max 15 znaku, povinne
zppl_ priznak zpusobu uhrady, povinne
dats_ datum splatnosti, nepovinne
datdph_ datum uskutecneni zdanitelneho plneni, nepovinne
dp_ typ dokladu, povinne, zatim povoleno pouze 'F'(faktura),'P'(zalohovy list),'E'(zavazek k zam.)
nsidno_ id nakladoveho strediska, default null
typaidno_ id typu akce, default null
akce_ id akce, default null
komidno_ id komplexní polozky, default null
rsridno_ id radku smlouvy, default null
vlucidno_ id vlastniho bank. uctu, default null
peridno_ id osoby, pro zavazek k zamestnanci
identos osobni nebo rodne cislo-pro zavazek k zam.
datk_ datum kurzu, pro zavazky v cizi mene
objedn_ cislo objednavky
sstav_ Příznak stavu schvalování
url_id_ Adresa dokumentu v úložišti
docnaz_ Název dokumentu
faDic_ DIC obch. partnera
faNazev_ Nazev firmy obch.partnera
faCast_ Nazev casti firmy obch.partnera
faAdrUl_ Ulice v adrese obch.partnera
faAdrCP_ Cislo popisne v adrese obch.p.
faAdrM_ Obec v adrese obch.p.
faAdrPSC_ PSC v adrese obch.p.
faAdrZ_ Zeme v adrese obch. p.
PID_ Cislo pisemnosti v SPS
DAT_ datum Doslo dne
CDL_ Cislo dodaciho listu
SMLID_ Nase cislo smlouvy
ZdrojDat_ Zdroj Dat (RS,OCR,EJ)
CELK_ Celková částka závazku - použije se pouze, když chybí řádky
CDAN_ Celková částka DPH -- použije se pouze, když chybí řádky
ZCM_ Celková částka v cizí měně -- použije se pouze, když chybí řádky
TDF_ Číslo cílového deníku závazků
TYDFIDNO_ Id cílového deníku závazků
OSOBA_ Příjmení, jméno, titul osoby-příjemce
UCTPR_ Název účetního pravidla
PRKIDNO_ Id účetního pravidla
EXT_ID_ Id dávky varchar2(36)
EXT_CIS_ Id závazku externí varchar2(36)
EXT_CIS_REF_ Id nadřízeného závazku varchar2(36)
UZEL_ Číslo uzlu sítě
ns_ Číslo NS
ta_ Číslo TA
nakce_ Název akce
kp_ Kód KP
ULOHA_ 032, 033(dobropisy) nebo stipendia
NAVRATOVA HODNOTA : Pri chybe vraci FALSE jinak vraci TRUE.
VYSTUP : "Chyba" - text chyboveho hlaseni pri chybe.
"MESICZ" ucetni obdobi (mesic), do ktereho se vlozil podklad pro zavazek
"ROKZ" ucetni obdobi (rok), do ktereho se vlozil podklad pro zavazek
**********************************************************************/
/**********************************************************************
FUNCTION Zapis_Radek
POPIS : Funkce provadi zapis radku zavazku. Radky nelze zapisovat,
pokud nebylo provedeno otevreni dokladu.
VSTUP : "popr_" text radku, nepovinne, max 255 znaku
"mnoz_" mnozstvi, nepovinne
"cenj_" cena za jednotku v domaci nebo cizi mene, nepovinne
"cenc_" zaklad dane v domaci mene, povinne
"zcm_" castka v cizi mene, povinne,
pokud je zavazek v cizi mene
"hdan_" castka DPH, povinne
"sazba_" sazba DPH v %
"stav_" zatim se nevyuziva, default null
"DANIDNO_" id sazby DPH, default null
"nsidno_" id nakl. strediska, default null
"typaidno_" id typu akce, default null
"akce_" id akce, default null
"komidno_" id komplexni polozky, default null
"rsfidno_" id cenoveho radku smlouvy, default null
"firmidno_" id firmy napr. z paragonu - pro zavazek k zamestnanci,default null
"datd_" datum uskutecneni zd. plneni - pro zav. k zamest.
"cd_" cislo dokladu,paragonu, pro zav. k zam.
"kmd_" id analytickeho uctu
"radek_" cislo radku
"mj_" merna jednotka
VYSTUP : "Chyba" - text chyboveho hlaseni pri chybe.
NAVRATOVA HODNOTA : Pri chybe vraci FALSE jinak vraci TRUE.
**********************************************************************/
/**********************************************************************
PROCEDURE Vloz_Doc
Popis: Procedura zapíše přiložený dokument (blob) do DB úložiště, pokud není používáno CUL,
a připojí jej k objednávce (hlavičku přiloženého dokumentu zapíše
do tabulky Tprilohy). Dokument nelze připojit, pokud nebylo provedeno
vložení hlavičky závazku.
Vstup: - popis_ - popis dokumentu
- doctyp_ - typ dokumentu - dle domény PRILTYP
- docnaz_ - nazev dokumentu
- docpath_ - cesta k dokumentu ve FS
- mimetype_ - mimetype dokumentu
- doc_ - db dokument - blob
- attent_ - stupen pozornosti, domena ATTENT
- pozn_ - poznamka
- urlid_ - id dokumentu - pokud vyplněno > soubor uložen v Centrálním
úložišti, zde se ukládá pouze hlavička dokumentu do Tprilohy,
jinak se uloží navíc i samotný dokument do Tdokumenty
- docsize_ - délka dokumentu v Tprilohy
Příklad:
imp_dofa.VLOZ_DOC(
POPIS_ => 'Test importu přílohy',
DOCTYP_ => 'R', -- "Různé"
DOCNAZ_ => 'Chrysanthemum.jpg',
DOCPATH_ => null,
MIMETYPE_ => null,
DOC_ => null,
ATTENT_ => null,
POZN_ => null,
URLID_ => 'b427e85b-0627-4c37-bd6a-2747b396c158',
DOCSIZE_ => 879394);
***********************************************************************/
/**********************************************************************
FUNCTION Uzavri_Doklad
POPIS : Funkce provadi formalni kontroly uplnosti dokladu, uzavira jej
pro dalsi zpracovani v uloze Finance a inicializuje rozhrani
pro zpracovani dalsiho dokladu.
VYSTUP : "Chyba" - text chyboveho hlaseni pri chybe.
"CisloDokl" - cislo dokladu pod kterym byl doklad ulozen do
tabulky rozhrani
NAVRATOVA HODNOTA : Pri chybe vraci FALSE jinak vraci TRUE.
**********************************************************************/
/**********************************************************************
PROCEDURE Reset_Doklad
POPIS : V pripade ze dojde k chybe pri zapisu radku dokladu nebo pri
uzavreni dokladu je nutne inicializovat rozhrani touto
procedurou. Zaroven tato procedura provadi rollback
k okamziku otevreni dokladu.
**********************************************************************/
/**********************************************************************
FUNCTION Zmen_Doklad
POPIS : Funkce zkontroluje data drive naimportovaneho zavazku, pokud
se lisi a zavazek je jeste neprevzaty, opravi jej. Pokud je
prevzaty, ohlasi neuskutecnitelnost opravy.
VSTUP : "MESICP" ucetni obdobi(mesic) pohledavky, ze ktere se generuje zavazek,nepovinne
"ROKP" ucetni obdobi(rok) pohledavky, ze ktere se generuje zavazek,nepovinne
"EJIDNO_" id ek. jednotky, kam se ma importovat zavazek
"firmidno_" vnitrni identifikator adresy firmy dodavatele
(nepovinny), ma prednost pred argumentem "ico_"
"ucet_ " cislo bankovniho uctu dodavatele, nepovinne,vcetne
lomitka a cisla bankovniho ustavu
"penale_" denni penale v %, nepovinne
"vsmb_" variabilni symbol, max 10 znaku, nepovinne
"ksmb_" konstantni symbol, max 10 znaku, nepovinne
"ssmb_" specificky symbol, max 10 znaku, nepovinne
"popis_" Popis dokladu, volny text max 255 znaku, nepovinne
"cfd_" Cislo dokladu dodavatele, max 15 znaku, povinne
"zppl_" priznak zpusobu uhrady, povinne
"dats_" datum splatnosti, nepovinne
"datdph_" datum uskutecneni zdanitelneho plneni, nepovinne
"peridno_" vnitrni identifikator osoby
VYSTUP : "Chyba" - text chyboveho hlaseni pri chybe.
"MESICZ" ucetni obdobi (mesic), do ktereho se vlozil podklad pro zavazek
"ROKZ" ucetni obdobi (rok), do ktereho se vlozil podklad pro zavazek
NAVRATOVA HODNOTA : Pri chybe vraci FALSE jinak vraci TRUE.
**********************************************************************/
/**********************************************************************
FUNCTION Zrus_Doklad
POPIS : U výplat smaže podklad i výplatu. U závazků zkontroluje, zda je drive
naimportovany zavazek prevzaty. Pokud ne, oznaci zaznam v tabulce TEKDOIH jako
zruseny. Když je arg. jen_zasobnik=V, snaží se zrušit i závazek. Když je
arg.jen_zasobnik=N a podklad je prevzaty, ohlasi, ze doklad nelze zrusit.
VSTUP : "ejidno_" id ek.jednotky
"firmidno_" vnitrni identifikator adresy firmy dodavatele
(nepovinny), ma prednost pred argumentem "ico_"
"cfd_" Cislo dokladu dodavatele, max 15 znaku, povinne
"jen_zasobnik" A,N,V
"typ_zavazku" V-výplata (PMZSFIS), null-obyč. závazek (TEKDOIH)
"ext_id_" identifikátor dávky výplat
VYSTUP : "Chyba" - text chyboveho hlaseni pri chybe.
NAVRATOVA HODNOTA : Pri chybe vraci FALSE jinak vraci TRUE.
FUNCTION ZRUS_DOKLAD
(CHYBA OUT varchar2
,EJIDNO_ IN number
,FIRMIDNO_ IN number
,CFD_ IN varchar2
,SYN_OBD IN varchar2
,JEN_ZASOBNIK in varchar2 default 'N'
,Typ_Zavazku in varchar2 default null) RETURN BOOLEAN