Predtým, než sa pustíme priamo do založenia mzdovej zložky s konkrétnymi údajmi ohľadom odpracovaného času a pod., je najprv nutné založiť osobu, príp. mzdové zložky stále.
Na úplný úvod je vždy potrebné, aby existovala osoba (resp. zamestnanec), ku ktorému budú dané mzdové zložky patriť. V príkladoch XML súborov môžete vyhľadať ukážkové XML pre založenie osoby. Je samozrejme možné založiť osobu aj priamo v aplikácii.
K danej osobe je potrebné priradiť tzv. stále mzdové zložky. Viac informácií nájdete opäť v dokumentácii k personalistike (teda k osobe - zamestnancovi).
Pokiaľ máme nastavené vyššie uvedené, môžeme prejsť k samotnému procesu, teda k prenosu dochádzky do ABRA Flexi.
Najprv je nutné z Flexi získať ID mzdových zložiek, ktoré budeme aktualizovať. Je totiž potrebné aktualizovať konkrétne mzdové zložky v daných mesiacoch, ktoré sú pripravené na základe založenia stálej mzdovej zložky.
ID príslušnej mzdovej zložky získame metódou GET na URL adresu typu:
/mzdova-slozka/(cisMzdSloz = 'code:HODINOVÁ MZDA' and rok = 2022 and mesic = 1).xml?detail=custom:id,osoba(osbCis,jmeno,prijmeni,titul),hodiny,zmenaCasu,zmenaCastMzd,castkaHod,castMzd&includes=/mzdova-slozka/osoba&limit=0
Filtrovaním podľa príkladu vyššie, teda podľa roka a mesiaca, získame všetky mzdové zložky, ktoré zodpovedajú hodinovej mzde v danom období. Možno samozrejme využiť ľubovoľnú úroveň detailu.
Z číselníka mzdových zložiek možno vybrať samozrejme aj inú zložku než hodinovú mzdu.
Môže ísť o neprítomnosť, URL adresa by potom pre získanie vyzerala napr. takto:
/nepritomnost/(cisMzdSloz = 'code:NEMOC' and (platiOd >= '2022-01-01' and platiOd <= '2022-01-31' or platiDo >= '2022-01-01' and platiDo <= '2022-01-31')).xml?detail=full
Získané XML mzdovej zložky podľa prvého príkladu teda môže vyzerať napríklad takto:
<?xml version="1.0" encoding="utf-8"?>
<winstrom version="1.0">
<mzdova-slozka>
<id>9258</id>
<osoba>
<osoba-hlavicka>
<id>4</id>
<osbCis>432423423</osbCis>
<jmeno>Karel</jmeno>
<prijmeni>Novák</prijmeni>
<titul>Ing.</titul>
</osoba-hlavicka>
</osoba>
<hodiny>0.0</hodiny>
<zmenaCasu>false</zmenaCasu>
<zmenaCastMzd>false</zmenaCastMzd>
<castkaHod>0.0</castkaHod>
<castMzd>0.0</castMzd>
</mzdova-slozka>
</winstrom>
Do neho je teraz potrebné doplniť príslušnú hodnotu, v našom príklade budeme dopĺňať odpracované hodiny. Analogický postup možno uplatniť aj pri dopĺňaní dní – samozrejme v závislosti od logiky danej mzdovej zložky z číselníka mzdových zložiek.
Časť XML súboru týkajúcu sa osoby môžeme pri spätnom importe v tomto prípade vynechať, zmenu chceme vykonať iba pri hodinách.
<?xml version="1.0" encoding="utf-8"?>
<winstrom version="1.0">
<mzdova-slozka>
<id>9258</id>
<hodiny>100.0</hodiny>
<zmenaCasu>false</zmenaCasu>
<zmenaCastMzd>false</zmenaCastMzd>
<castkaHod>0.0</castkaHod>
<castMzd>0.0</castMzd>
</mzdova-slozka>
</winstrom>
Dané XML zašlite metódou POST/PUT na endpoint /mzdova-slozka. Ak je import úspešný, API vráti nasledujúcu informáciu a mzdová zložka bude aktualizovaná.
<?xml version="1.0" encoding="utf-8"?>
<winstrom version="1.0">
<success>true</success>
<stats>
<created>0</created>
<updated>1</updated>
<deleted>0</deleted>
<skipped>0</skipped>
<failed>0</failed>
</stats>
<results>
<result>
<id>9258</id>
<request-id>9258</request-id>
<ref>/c/testovaci_2/mzdova-slozka/9258.xml</ref>
</result>
</results>
</winstrom>
