Popis datového rozhraní k iFIS Závazky

Z BBM Dokumentace iFIS
Verze z 28. 5. 2021, 11:44, kterou vytvořil Jdankova (diskuse | příspěvky) (Založena nová stránka s textem „__TOC__ 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í moho…“)
(rozdíl) ← Starší verze | zobrazit aktuální verzi (rozdíl) | Novější verze → (rozdíl)
Skočit na navigaciSkočit na vyhledávání

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 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 den 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