( ActMzdRok : Integer; ActMzdMesic : Integer; FrmNazev : String; FrmPrace : String; ZamId : Longint; ZamJmeno : String; ZamRC : String; ZamOsCis : String; ZamStredisko : String; ZamDatNar : Date; ZamDatNas : Date; Pocitej_K : Date; FGESoubor : String; JeZakazano : Longint; dim PlatTabId : Longint; dim PlatTrida : Integer; dim PlatStupen : Integer; dim DosVzdId : Longint; dim PlatPostup_K : Date; dim PlatPostup_Z : Real; dim Opraveno : Longint) : Integer
Tato funkce zobrazí dialog, který umožňuje nastavení průběhu praxe.
V horní části se zobrazují jednotlivé činnosti, které zaměstnanec v minulosti absolvoval. U každé z nich je jméno firmy, krátký popis funkce, trvání, přiznané procento zápočtu a zápočet. To jsou řádky s bílým podkladem a nazýváme je 'pevnou částí'. Jsou uloženy v tabulkách PRACTICE a PRACTICE_DET a hledají se podle identu zaměstnance, který přichází v parametru 'ZamId'. Řádky s šedým podkladem se generují automaticky a vyplňují mezery mezi platnými řádky. Řádka se žlutým podkladem se vytváří také automaticky a reprezentuje aktuální pracovní poměr do zadaného data. Ten má vždy procento zápočtu 1/1.
ActMzdRok | Integer |
Rok aktuálního zpracování mezd Získat lze takto: _SysYear |
|||||||||||||||||||||||||
ActMzdMes | Integer |
Měsíc aktuálního zpracování mezd Získat lze takto: _SysMonth |
|||||||||||||||||||||||||
FrmNazev | String | Název aktuální firmy (zaměstnavatele) | |||||||||||||||||||||||||
FrmPrace | String | Název aktuálního zaměstnání | |||||||||||||||||||||||||
ZamId | Longint | Zpracovávaný zaměstnanec - Ident | |||||||||||||||||||||||||
ZamJmeno | String | Zpracovávaný zaměstnanec - Jméno | |||||||||||||||||||||||||
ZamRC | String | Zpracovávaný zaměstnanec - Rodné číslo - používá s kvůli možnosti kopírování pevné části seznamu od jiného zaměstnance právě podle stejného rodného čísla. Jestliže nebude uvedeno, nebude ani možnost kopírování od jiného zaměstnance (menu na seznamu činností), zobrazena. | |||||||||||||||||||||||||
ZamOsCis | String | Zpracovávaný zaměstnanec - Osobní číslo | |||||||||||||||||||||||||
ZamStredisko | String | Zpracovávaný zaměstnanec - Středisko | |||||||||||||||||||||||||
ZamDatNar | Date | Zpracovávaný zaměstnanec - Datum narození | |||||||||||||||||||||||||
ZamDatNas | Date |
Zpracovávaný zaměstnanec - Datum nástupu Získat lze takto: O[ixDatNast], jestliže bude tento datum nulový, je potřeba zjistit poslední datum v historii: _HstLast(dbtO, ixDatNast, Dat, Attr, FDate, CDate, O[dbIdent]) |
|||||||||||||||||||||||||
Pocitej_K | Date | K tomuto dni bude zobrazen výpočet. Dodaná hodnota je aktuální den. | |||||||||||||||||||||||||
FGE | String |
Jméno tiskového FGE souboru. Jestliže bude zadána cesta (např.: c:\Test\Test.fge), bude použita. Bude-li zadán Uid, bude sestava hledána v databázových dokumentech. Nebude-li zadáno nic, bude použita standardní výchozí db sestava s Uid '0a140d03214130447a7fe4'. Přehled parametrů FGE souboru je pod touto tabulkou. |
|||||||||||||||||||||||||
JeZakazano | Longint |
S touto bitovou maskou je možno zakazovat změny v dialogu. Má-li být vše povoleno, pište 0. Jinak:
|
|||||||||||||||||||||||||
dim | PlatTabId | Longint | Ident platové tabulky. Je to i vstupní parametr! | ||||||||||||||||||||||||
dim | PlatTrida | Integer | Platová třída. Je to i vstupní parametr! | ||||||||||||||||||||||||
dim | PlatStupen | Integer | Platový stupeň. Je to i vstupní parametr! | ||||||||||||||||||||||||
dim | DosVzdId | Longint | Ident nejvyššího dosaženého vzdělání. Je to ident z tabulky číselníků skupiny 'PERS_DVZD'. Je to i vstupní parametr! | ||||||||||||||||||||||||
dim | PlatPostup_K | Date | Datum platového postupu. Je to i vstupní parametr! | ||||||||||||||||||||||||
dim | PlatPostup_Z | Real | Zápočet platového postupu ve formátu R.DDD, kde DDD by měl být 001. Zápočet je k datu 'PlatPostup_K'. Je to i vstupní parametr! | ||||||||||||||||||||||||
dim | Opraveno | Longint |
Bitová maska změn. 0 = žádná změna jinak:
|
Tiskový soubor:
Pro zobrazení tiskové sestavy se používá speciální program FView. Jak Pam5 hledá FView je popsáno zde . Tiskový soubor musí být ve tvaru FGE. Parametry sekcí použitelné ve FGE souboru:
HEADER | $(FRM_SIDLO) | Sídlo firmy. Nastaví se pomocí SetTmpGlobalInfo. |
$(FRM_NAZEV) | Obchodní jméno firmy. Bude-li prázdné, použije se název firmy. Nastaví se pomocí SetTmpGlobalInfo. | |
ULICE | Adresa firmy - Ulice. Nastaví se pomocí SetTmpGlobalInfo. | |
CISLO | Adresa firmy - Číslo popisné. Nastaví se pomocí SetTmpGlobalInfo. | |
OBEC | Adresa firmy - Obec. Nastaví se pomocí SetTmpGlobalInfo. | |
PSC | Adresa firmy - PSČ. Nastaví se pomocí SetTmpGlobalInfo. | |
BODY | $(1) | Jméno zaměstnance |
$(2) | Osobní číslo zaměstnance | |
$(3) | Datum nástupu do zaměstnání | |
$(4) | Pevná část - K datu | |
$(5) | Pevná část - Zápočet | |
$(6) | Pevná část - Ručně (1=ano) | |
$(7) | Aktuální část - K datu | |
$(8) | Aktuální část - Zápočet | |
$(9) | Pevná + Aktuální část - Celkem | |
$(10) | Oprava | |
$(11) | Oprava - Ručně (1=ano) | |
$(12) | Platová třída | |
$(13) | Pevná + Aktuální část + Oprava - K datu | |
$(14) | Pevná + Aktuální část + Oprava - Zápočet | |
$(15) | Poslední platový postup - K datu | |
$(16) | Poslední platový postup - Zápočet | |
$(17) | Poslední platový postup - Ručně (1=ano) | |
$(18) | Poslední platový postup - Stupeň - jedná se o stupeň vypočítaný. Jestliže není shodný s platovým stupněm z položky oddělení Pam, nastaví se $(25) na 1. | |
$(19) | Následný platový postup - K datu | |
$(20) | Následný platový postup - Zápočet | |
$(21) | Následný platový postup - Stupeň | |
$(22) | Nejvyšší dosažené vzdělání | |
$(23) | Jméno platové tabulky | |
$(24) | Nestanovuj platový postup (1=ano) | |
$(25) | Poslední platový postup - chyba stupně. Není-li shoda mezi spočteným platovým stupněm a platovým stupněm z položky oddělení Pam, bude zde hodnota 1. | |
$(26) | Středisko zaměstnance. | |
PRACE | $(1) | Pořadové číslo |
$(2) | Datum začátku zaměstnání | |
$(3) | Datum konce zaměstnání | |
$(4) | Ve které firmě byl zaměstnán | |
$(5) | Jaké zaměstnání vykonával | |
$(6) | Trvání | |
$(7) | Procento krácení praxe | |
$(8) | Skutečně započteno | |
$(9) | Výplňková (šedivá) věta (1=ano) | |
$(10) | Aktuální (žlutá) věta (1=ano) | |
FOOTER |
Funkce vrací bo cmCancel. Pokud bude vráceno cmOK, budou parametry DIM obsahovat nové hodnoty.
Podívejte se na Procedury a funkce - Objekty
Příklad:
procedure Praxe dim PlatTabId : Longint; dim PlatTrida : Integer; dim PlatStupen : Integer; dim DosVzdId : Longint; dim PlatPostup_K : Date; dim PlatPostup_Z : Real; dim Modified : Longint dim wRes : Word; SetTmpGlobalInfo(GTMP_FRM_NAZEV, "Flux s.r.o."); SetTmpGlobalInfo(GTMP_FRM_ADROBEC, "Praha 5"); SetTmpGlobalInfo(GTMP_FRM_ADRULICE, "Musílkova"); SetTmpGlobalInfo(GTMP_FRM_ADRPSC, "150 00"); SetTmpGlobalInfo(GTMP_FRM_ADRCP, "13"); SetTmpGlobalInfo(GTMP_FRM_ADRPOSTA, "Praha 5"); SetTmpGlobalInfo(GTMP_FRM_OBCHJMENO,"Flux s.r.o."); SetTmpGlobalInfo(GTMP_FRM_SIDLO, "Praha"); PlatPostup_K := _Date(1,1,2009); PlatPostup_Z := 4.001; PlatTabId := P[26]; PlatStupen := P[20]; PlatTrida := P[22]; DosVzdId := P[12]; wRes := _DiaPractice(_SysYear, _ActMonth, "Flux", "Programátor", O[dbIdent], "Novák Karel", "", "4444", "Doprava", _Date(24,5,1962), _Date(1,1,2005), _ActDate, "", 0, PlatTabId, PlatTrida, PlatStupen, DosVzdId, PlatPostup_K, PlatPostup_Z, Modified); if wRes = cmOK Or Modified <> 0 Then { Byla nějaká změna } if (Modified lAnd PRZM_PEVNA_CAST_PRACE) <> 0 Then Trace("PRZM_PEVNA_CAST_PRACE"); EndIf if (Modified lAnd PRZM_PEVNA_CAST_DATUM) <> 0 Then Trace("PRZM_PEVNA_CAST_DATUM"); EndIf if (Modified lAnd PRZM_PEVNA_CAST_ZAPOCET) <> 0 Then Trace("PRZM_PEVNA_CAST_ZAPOCET"); EndIf if (Modified lAnd PRZM_PEVNA_CAST_RUCNE) <> 0 Then Trace("PRZM_PEVNA_CAST_RUCNE"); EndIf if (Modified lAnd PRZM_OPRAVA_ZAPOCET) <> 0 Then Trace("PRZM_OPRAVA_ZAPOCET"); EndIf if (Modified lAnd PRZM_OPRAVA_RUCNE) <> 0 Then Trace("PRZM_OPRAVA_RUCNE"); EndIf if (Modified lAnd PRZM_POSL_PP_DATUM) <> 0 Then Trace("PRZM_POSL_PP_DATUM"); EndIf if (Modified lAnd PRZM_POSL_PP_ZAPOCET) <> 0 Then Trace("PRZM_POSL_PP_ZAPOCET"); EndIf if (Modified lAnd PRZM_POSL_PP_STUPEN) <> 0 Then Trace("PRZM_POSL_PP_STUPEN"); EndIf if (Modified lAnd PRZM_DOSAZ_VZD) <> 0 Then Trace("PRZM_DOSAZ_VZD"); EndIf if (Modified lAnd PRZM_PLAT_TAB) <> 0 Then Trace("PRZM_PLAT_TAB"); EndIf if (Modified lAnd PRZM_TRIDA) <> 0 Then Trace("PRZM_TRIDA"); EndIf EndIf endproc