Změstnanec (osoba, hlava)


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.

Tabulky

Základní ploché (nehistorické) údaje

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);

dim Stav : Byte;
HPGet(hpgStatusBit, OsobaId, 1, Stav);

Ukládání a čtení položek oddělení O,P

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.

Práce s osobou v makrojazyku

Přidání zaměstnance

Pro přidání zaměstnance použijeme makrofunkci _HPAction s modem hpaPridejZam.

Změna zaměstnance

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.

Čtení dat zaměstnance

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.

Přidání úvazku k zaměstnanci

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.

Zjisti ident zaměstnance z identu úvazku úvazku

Č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.

Zjisti seznam identů úvazků připojených k zaměstnanci

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, ...).

Čtení a ukládání bitové informace u zaměstnance

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.

Čtení hodnot z původních položek úvazku

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-".

Výběr jednoho zaměstnance ze seznamu zaměstnanců

Použijte makrofunkci _HPDiaSelHeader.

Výběr jednoho úvazku ze seznamu úvazků jednoho zaměstnance

Použijte makrofunkci _HPDiaSelEmployment.

Zobrazení dialogu zaměstnance pro účely přidání nebo opravy

Použijte makrofunkci _HPDiaHeader.