Preskoči na glavno vsebino

Zamykanie období cez REST API

Ako zamknúť obdobie v API Flexi?

Avtor: Petr Pech

V API je dostupná evidencia /zamek, ktorá ponúka možnosť zamknúť obdobie obdobne ako desktopová aplikácia. Evidenciu nájdete tu. Popis zamykania obdobia v desktopovej aplikácii nájdete v tejto dokumentácii.

Prostredníctvom požiadaviek na API je možné zámky čítať aj odosielať. Dáta je možné získať a odoslať vo formáte XML alebo JSON.

Čítanie zámkov

Zámky je možné načítať metódou GET na endpoint evidencie /zamek. Pri volaní je možné využiť štandardný detail alebo filtrovanie. Uvedieme príklad na získanie zámkov:

Získame kompletný zoznam zámkov období v plnom detaile vo formáte XML:

<?xml version="1.0" encoding="utf-8"?>
<winstrom version="1.0">
<!-- Zámky na období -->
<zamek>
<!-- ID (celé číslo) - -->
<id>3</id>
<!-- Poslední změna (datum a čas) - -->
<lastUpdate>2022-01-25T13:03:41.119+01:00</lastUpdate>
<!-- Zámek
Otevřeno - zamek.otevreno
Zamknuto mimo účetní - zamek.polozamceno
Zamknuto - zamek.zamceno -->
<zamekK showAs="Zamknuto mimo účetní">zamek.polozamceno</zamekK>
<!-- Od (datum) - -->
<platiOdData>2021-10-01+02:00</platiOdData>
<!-- Do (datum) - -->
<platiDoData>2021-12-31+01:00</platiDoData>
<!-- Faktury vydané (logická hodnota) - -->
<modulFav>true</modulFav>
<!-- Faktury přijaté (logická hodnota) - -->
<modulFap>false</modulFap>
...
<neucetni>true</neucetni>
</zamek>
</winstrom>

Získame informáciu o type zámku v elemente zamekK, ďalej výpis obsahuje všetky moduly a hodnotu true/false, ktorá indikuje, či je modul zamknutý.

Nastavenie zámkov

Požiadavku na zamknutie odosielame metódou POST na endpoint evidencie /zamek.

Telo požiadavky je možné odoslať v XML alebo JSON.

Povinné elementy v prípade nastavenia zámkov sú nasledovné:

  • zamekK - definuje typ zámku, možné hodnoty sú:

    • Otvorené (zamek.otevreno)

    • Zamknuté mimo účtovného (zamek.polozamceno)

    • Zamknuté (zamek.zamceno)

  • platiOdData - definuje počiatočný dátum zámku vo formáte YYYY-MM-DD

  • platiDoData - definuje konečný dátum zámku vo formáte YYYY-MM-DD

Pri volaní je taktiež možné určiť, či sa majú zamknúť aj neúčtovné doklady:

  • neucetni - true/false, v prípade true dôjde k zamknutiu aj neúčtovných dokladov, predvolená hodnota je nastavená na true

Ďalšími elementmi sú dostupné moduly, ktoré je možné zamknúť, nadobúdajú hodnotu true pre zamknutie:

  • modulFav - Faktúry vydané

  • modulFap - Faktúry prijaté

  • modulPhl - Ostatné pohľadávky

  • modulZav - Ostatné záväzky

  • modulBan - Banka

  • modulPok - Pokladnica

  • modulInt - Interné doklady

  • modulSkl - Skladové pohyby

  • modulPpp - Dopytové prijaté

  • modulPpv - Dopytové vydané

  • modulNap - Ponuky prijaté

  • modulNav - Ponuky vydané

  • modulObp - Objednávky prijaté

  • modulObv - Objednávky vydané

  • modulMaj - Majetok

  • modulLea - Leasing

  • modulMzd - Mzdy

Ak nie je uvedený aspoň jeden modul s hodnotou true, k zamknutiu nedôjde.

Príklad volania metódou POST na endpoint:

Telo požiadavky, ktoré zamyká modul faktúry prijaté kompletným zámkom:

<?xml version="1.0" encoding="utf-8"?>
<winstrom version="1.0">
<zamek>
<zamekK>zamek.zamceno</zamekK>
<platiOdData>2022-01-01+02:00</platiOdData>
<platiDoData>2022-01-15+01:00</platiDoData>
<modulFap>true</modulFap>
</zamek>
</winstrom>

Zmazanie zámku

Zámok obdobia je možné zmazať metódou POST s využitím akcie delete:

<?xml version="1.0" encoding="utf-8"?>
<winstrom version="1.0">
<zamek action="delete">
<id>6</id>
</zamek>
</winstrom>

Odstránenie zámku obdobia neodomyká jednotlivé doklady! Doklady je potrebné odomknúť samostatne.

Ste s tem dobili odgovor na svoje vprašanje?