_DiaPractice

(   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:

PRZAK_VSE V dialogu nebude možno měnit nic.
PRZAK_DOSAZ_VZD Nebude možno měnit dosažené vzdělání.
PRZAK_PLAT_TAB Nebude možno měnit platovou tabulku.
PRZAK_TRIDA Nebude možno měnit třídu.
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:

PRZM_PEVNA_CAST_PRACE Změnil se seznam prací (bílé řádky) a již byl i uložen.
PRZM_PEVNA_CAST_DATUM Změnil se datum zápočtu pevné části - již byl i uložen.
PRZM_PEVNA_CAST_ZAPOCET Změnil se zápočet pevné části - již byl i uložen.
PRZM_PEVNA_CAST_RUCNE Změnil se příznak - pevná část ručně - již byl i uložen.
PRZM_OPRAVA_ZAPOCET Změnil se zápočet opravy - již byl i uložen.
PRZM_OPRAVA_RUCNE Změnil se příznak - oprava ručně - již byl i uložen.
PRZM_POSL_PP_DATUM Změnil se datum platového postupu 'PlatPostup_K'
PRZM_POSL_PP_ZAPOCET Změnil se zápočet platového postupu 'PlatPostup_Z'
PRZM_POSL_PP_STUPEN Změnil se platový stupeň 'PlatStupen'
PRZM_DOSAZ_VZD Změnil se ident nejvyššího dosaženého vzdělání 'DosVzdId'
PRZM_PLAT_TAB Změnil se ident platové tabulky 'PlatTabId'
PRZM_TRIDA Změnila se platová třída 'PlatTrida'

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