Rovnako ako v aplikácii je možné u zamestnancov rozdeliť prácu pre strediská aj cez REST API. V tomto článku nájdete adresy oboch evidencií, ich položky a ukážky importu i exportu.
Spôsob volania
K dispozícii sú dve evidencie, obe prístupné metódami GET, POST a PUT:
Adresa | Účel |
| Pravidelná práca pre stredisko — podiel zmeny v zadanom období |
| Práca pre stredisko v konkrétnom mesiaci — počet hodín |
Kde {firma} je databázový identifikátor firmy. Kompletný popis oboch evidencií nájdete na adresách /prace a /prace-mesic. Pri získavaní dát metódou GET sú k dispozícii podporované výstupné formáty XML, JSON a ďalšie.
Položky evidencií
Spoločné položky
osoba— identifikácia osoby z personalistiky. Uvádzať ju nie je nutné, automaticky sa doplní zo zadaného pracovného pomeru.pracPom— identifikácia pracovného pomerustredisko— identifikácia strediskazakazka— identifikácia zákazkycinnost— identifikácia činnostipoznam— poznámka
Iba v evidencii prace
datumOdadatumDo— obdobie, počas ktorého práca pre stredisko platíprocento— časť zmeny alokovaná na stredisko, desatinné číslo v rozsahu 0 až 100
Iba v evidencii prace-mesic
rokamesic— obdobie, za ktoré sa hodiny vykazujúhodin— počet hodín odpracovaných pre stredisko, desatinné číslo
Parametre
Na stiahnutie dát z evidencií možno využiť štandardné filtrovanie a úroveň detailu. Import dát je bez parametrov; pri ňom je možné využiť externé identifikátory.
💡 Import si najprv vyskúšajte s parametrom ?dry-run=true. Požiadavka sa zvaliduje, ale do databázy sa nič nezapíše.
Ukážka importu
V ukážke zamestnanec v roku 2024 pracuje 30 % zmien na konkrétnej zákazke pre stredisko C.
Najprv je nutné identifikovať pracovný pomer, ku ktorému sa práca pre stredisko viaže — pomocou ID alebo externého identifikátora. Zoznam pracovných pomerov danej osoby získate metódou GET:
GET https://demo.flexibee.eu/c/demo/pracovni-pomer/(osoba="code:U123021").xml?detail=custom:id,kod
Získané ID potom použijete pri ukladaní práce pre stredisko:
POST https://demo.flexibee.eu/c/demo/prace.xml
<winstrom version="1.0">
<prace>
<!-- Externí identifikátor -->
<id>ext:MZDSW:123</id>
<!-- Datum začátku práce pro středisko -->
<datumOd>2024-01-01</datumOd>
<!-- Datum konce práce pro středisko -->
<datumDo>2024-12-31</datumDo>
<!-- % část směny alokovaná na středisko -->
<procento>30.0</procento>
<!-- Identifikace osoby z personalistiky, nepovinná -->
<osoba>code:U123021</osoba>
<!-- Identifikace pracovního poměru pomocí ID -->
<pracPom>1</pracPom>
<!-- Identifikace střediska -->
<stredisko>code:C</stredisko>
<!-- Identifikace zakázky -->
<zakazka>code:ZAKAZKA0821</zakazka>
<!-- Identifikace činnosti -->
<cinnost>code:A123</cinnost>
</prace>
</winstrom>
Analogicky v JSON:
{
"winstrom": {
"prace": {
"id": "ext:MZDSW:123",
"datumOd": "2024-01-01",
"datumDo": "2024-12-31",
"procento": "30.0",
"osoba": "code:U123021",
"pracPom": "1",
"stredisko": "code:C",
"zakazka": "code:ZAKAZKA0821",
"cinnost": "code:A123"
}
}
}
Obdobne sa importuje práca pre stredisko v konkrétnom mesiaci. V ukážke zamestnanec odpracoval v decembri 2024 pre stredisko C na konkrétnej zákazke 22 hodín.
POST https://demo.flexibee.eu/c/demo/prace-mesic.xml
<winstrom version="1.0">
<prace-mesic>
<id>ext:MZDSW:123</id>
<rok>2024</rok>
<mesic>12</mesic>
<hodin>22.0</hodin>
<osoba>code:U123021</osoba>
<pracPom>1</pracPom>
<stredisko>code:C</stredisko>
<zakazka>code:ZAKAZKA0821</zakazka>
<cinnost/>
</prace-mesic>
</winstrom>
Analogicky v JSON:
{
"winstrom": {
"prace-mesic": {
"id": "ext:MZDSW:123",
"rok": "2024",
"mesic": "12",
"hodin": "22.0",
"osoba": "code:U123021",
"pracPom": "1",
"stredisko": "code:C",
"zakazka": "code:ZAKAZKA0821",
"cinnost": ""
}
}
}
Ukážka exportu
Dáta možno získať metódou GET s ľubovoľným filtrom a úrovňou detailu:
GET https://demo.flexibee.eu/c/demo/prace-mesic/(rok eq 2024).xml?detail=full
Výsledok volania:
<winstrom version="1.0">
<prace-mesic>
<id>ext:MZDSW:123</id>
<id>8</id>
<lastUpdate>2024-12-29T09:53:24.433+01:00</lastUpdate>
<rok>2024</rok>
<mesic>12</mesic>
<hodin>22.0</hodin>
<poznam/>
<osoba showAs="U123021: Jméno Zaměstnance">5</osoba>
<pracPom showAs="1-STANDARD: Standardní pracovní poměr">code:1-STANDARD</pracPom>
<stredisko showAs="C: Centrála">code:C</stredisko>
<zakazka showAs="ZAKAZKA0821: Přeprava 08/24">code:ZAKAZKA0821</zakazka>
<cinnost/>
</prace-mesic>
</winstrom>
Príklady nevalidných volaní
Pri úspešnom importe je vracaný HTTP status 200 alebo 201 a štandardná odpoveď s výsledkami. Pri nevalidnom volaní je vracaný status 400 a obsahom odpovede je popis chyby.
1. Nevalidný pracovný pomer
<error for="pracPom" path="prace[temporary-id=null].pracPom" value="code:1-STANDARAD" code="PROP" messageCode="notObjectIdentifier">Zadaný text 'code:1-STANDARAD' musí identifikovat objekt [PraceStred -1]</error>
2. Prekročený fond pracovného času
<error path="prace[temporary-id=null].procento" code="INVALID" for="procento">V některém období je rozděleno víc než sto procent fondu pracovní doby. [PraceStred -1]</error>
3. Chýbajúce povinné pole
<error>Pole 'Měsíc' musí být vyplněno. [ext:MZDSW:123]</error>
4. Nekonzistentné určenie pracovného pomeru a osoby
<error>Definovaná osoba (U123021: Jméno Zaměstnance) se liší od osoby pracovního poměru (KN0329231: Jiné Jméno). [ext:MZDSW:AC]</error>
FAQ
Kde je dohľadateľné rozdelenie podľa prác pre strediská daného zamestnanca?
V jednotlivých záväzkoch či interných dokladoch vygenerovaných zo miezd (sociálne poistenie a ďalšie) budú položky dokladu rozdelené podľa príslušných stredísk.
Ako sa strediská používajú v aplikácii?
Vysvetlenie nájdete v článkoch Strediská a ich použitie a Mzdy - práca pre strediská.
