Následující informace pratí od verze 5.8.1409.2.
Struktura zaměstnance (někdy též osoba nebo hlavička) může shlukovat neomezený počet pracovních poměrů - úvazků.
Pracovní poměr (PP) je představován standardní položkovou strukturou oddělení OSOBNI, PAM a MZDY. Od verze 5.8.1409.2 při přidávání PP (makrofunkce _AddRec) vždy vzniká struktura zaměstnacem. Ve struktuře zaměstnance se vytvoří UID, GUID a číslo zaměstnance podle daného předpisu. U PP se naplní položka O0011 - GUID pracovního poměru GUIDem zaměstnance.
System zaměstnance lze provozovat zcela bez společných položek jako je jméno, příjmení atd. V tom případě struktura zaměstnance slouží jako spojovací system pracovních poměrů nesoucí pouze společný UID, GUID a číslo zaměstnance. Pro maximální zjednodušení práce se zaměstnancem ze strany obsluhy, se provádí připojování PP k ZAM na základě rodných čísel.
Základní plochá struktura zaměstnance zahrnuje společné údaje, které se nalézají v tabulkách HZAM a OSOBA:
Název | Sloupec | Dostupné pomocí standardních položek oddělení OSOBNI | Popis |
Uid | OSOBA.XUID | Jedinečný identifikátor (FLUX), vytvářený při zakládání zaměstnance. Má 22 znaků. | |
GUID | HZAM.XGUID | Jedinečný identifikátor standardní (Microsoft), vytvářený při zakládání zaměstnance. Má 36 znaků. | |
Jméno | OSOBA.XJMENO | O0006 | Jméno zaměstnance |
Příjmení | OSOBA.XPRIJMENI | O0007 | Příjmení zaměstnance |
Datum narození | OSOBA.XDATNAROZ | O0030 | Datum narození zaměstnance |
Místo narození | OSOBA.XMISTONAROZ | O0032 | Místo narození zaměstnance |
Pohlaví | OSOBA.XPOHLAVI | O0034 | Pohlaví zaměstnance - množina skupiny 1 |
Rodné číslo | HZAM.XRODCIS | O0020 | Rodné číslo zaměstnance |
Kompletní jméno I | HZAM.XKOMPJM_I | O0012 | Složené kompletní jméno zaměstnance - typ I |
Kompletní jméno II | HZAM.XKOMPJM_II | O0013 | Složené kompletní jméno zaměstnance - typ II |
Rodné příjmení | HZAM.XRODNEPRIJM | O0022 | Rodné příjmení zaměstnance |
Makro status | HZAM.XMACSTATUS |
Do tohoto pole lze pomocí procedur makrojazyka ukládat a pak i číst potřebné stavy, třeba o převodu dat při přechodu na použití zaměstnance atd. Lze plnit a zjišťovat pomocí makro procedur: HPSet(hpsStatusBit,
OsobaId, 1, true); |
Jestliže má položka nastavenu vlastnost 'Ukládej do dat zaměstnance', pak bude systém číst a ukládat data do tabulek zaměstnance. Jestliže nebude pracovní poměr spojen se zaměstnancem, povede čtení a ukládání dat patřících do zaměstnance k chybám:
V makrojazyku pokus o získání nebo uložení dat končí chybou makra:
V makrojazyku lze číst z původních dat pracovního poměru po zadání přepínače Switch:
Switch("O+");
Jestliže spojíte osobu s pracovním poměrem (PP), budou výše uvedené základní údaje automaticky mapovány do dat osoby. Mapování je podmíněno nastavením atributu položky 'Ukládej do dat osoby' - u položek O0006 a O0007 to platí vždy. Jestliže tedy bude osoba spojena s několika PP, budou základní údaje všech těchto PP (O0006, ...) směřovat do jednoho místa.
Systém sám přesun položek do struktury Osoby neprovádí! Toto se musí zajistit pomocí maker a přepínače Switch("O+"). Makro musí rozhodnout jak řešit vzniklé konflikty.
Pro přidání zaměstnance použijeme makrofunkci _HPAction s modem hpaPridejZam.
Pro změnu údajů zaměstnance se používají standardní postupy pro plnění historických (HstSetItem) i nehistorických položek. Lze také použít makrofunkci _HPAction s modem hpaUlozZam nebo hpaUlozUid.
Pro čtení položek zaměstnance se používají standardní postupy pro čtení obecných položek. Lze také použít makroproceduru HPGet s modem hpgZamData.
Pro přidání úvazku k osobě použijeme makrofunkci _HPAction s modem hpaPridejUvazekZam. V tu chvíli již musíme znát ident úvazku a zaměstnanec musí být založen.
Častým požadavkem bude zjištění identu zaměstnance z identu úvazku, protože většina makrofunkcí pracující se zaměstnancem potřebuje právě ident zaměstnance a nikoliv ident úvazku. Použijeme makroproceduru HPGet s modem hpgZamId_z_UvazekId.
Použijeme makroproceduru HPGet s modem hpgSeznamUvazku. Dalším parametrem lze určit kritéria podle kterého budou úvazky vraceny (všichni aktivní zam., zam.patřící k uživateli, ...).
U osoby je možno uchovávat 32 bitové pole informací. Pro čtení použijeme makroproceduru HPGet s modem hpgStatusBit a pro ukládání makroproceduru HPSet se stejným modem.
Při převodech dat na používání osob bude nutno číst data z původních položek úvazku. Použijeme proto přepínač Switch s volbou "O+". Default je samozřejmě "O-".
Použijte makrofunkci _HPDiaSelHeader.
Použijte makrofunkci _HPDiaSelEmployment.
Použijte makrofunkci _HPDiaHeader.