( Mode : Integer;
[ ... ] ) : xxx
Tato funkce vrací údaje spojené s výpočtem zápočtů a platových postupů. Mění funkci podle konstanty 'Mode '.
| Mode | Další parametry | Popis |
| PRACT_ZAPOCET_K_DATU |
dtMinulyZapocet : Date; dMinulyZapocet : Real; dtNovyZapocet : Date) : Real |
Od zápočtu 'dMinulyZapocet' ve formátu R.DDD vztažený k datu 'dtMinulyZapocet' spočítá a vrací zápočet k datu 'dtNovyZapocet' opět ve formátu R.DDD. |
| PRACT_POSL_PL_POSTUP |
nPlatTabId : Longint;
dtZapocet : Date; dZapocet : Real; dim dtPlPostupDate : Date; dim dPlPostupZapocet : Real; dim nPlPostupStupen : Integer) : 0 |
Počítá předchozí platový postup od zápočtu 'dZapocet' ve formátu R.DDD vztažený k datu 'dtZapocet'. Ident použité platové tabulky přichází v parametru 'nPlatTabId'. Datum předchozího platového postupu přichází v parametru 'dtPlPostupDate', zápočet k tomuto datu ve formátu R.DDD (DDD = 000 nebo -364) se vrací v parametru 'dPlPostupZapocet' a platový stupeň v parametru 'nPlPostupStupen'. |
| PRACT_DALSI_PL_POSTUP |
nPlatTabId : Longint;
dtZapocet : Date; dZapocet : Real; dim dtPlPostupDate : Date; dim dPlPostupZapocet : Real; dim nPlPostupStupen : Integer) : 0 |
Počítá následující platový postup od zápočtu 'dZapocet' ve formátu R.DDD vztažený k datu 'dtZapocet'. Ident použité platové tabulky přichází v parametru 'nPlatTabId'. Datum následujícího platového postupu se vrací v parametru 'dtPlPostupDate', zápočet k tomuto datu ve formátu R.DDD (DDD = 000) se vrací v parametru 'dPlPostupZapocet' a platový stupeň v parametru 'nPlPostupStupen'. Jestliže bude vstupní zápočet záporný, bude platový postup stanoven na den, kdy začne platit stupeň číslo 2!
Příklady: |
| PRACT_ODECTI_ROKY_DNY |
nRoky : Integer;
nDny : Integer; dtDatum : Date) : Date |
Od data 'dtDatum' odečte roky 'nRoky', dny 'nDny' a tento datum vrací. Příklady:
|
| PRACT_DEJ_ROKY_DNY_Z_PRAXE |
dZapocet : Real;
dim nRoky : Integer; dim nDny : Integer) : 0 |
Vrací roky 'nRoky' a dny 'nDny' z praxe 'dZapocet', která je ve formátu R.DDD. Příklady: |
| PRACT_DEJ_PRAXI_Z_ROKU_DNU |
nRoky : Integer;
nDny : Integer) : Real |
Vrací praxi ve tvaru R.DDD z roků a dnů 'nRoky' a 'nDny'. Příklady: |
| PRACT_DEJ_R_S_PLPOST_Z_PRAXE |
nPlatTabId : Longint;
dZapocet : Real; dim nPlPostupRoky : Integer; dim nPlPostupStupen : Integer) : 0 |
Podle praxe 'dZapocet' (ve tvaru R.DDD) hledá a vrací roky platového postupu 'nPlPostupRoky' a příslušný platový stupeň 'nPlPostupStupen'. Hledá pomocí platové tabulky, jejíž ident příchází jako parametr 'nPlatTabId'. Příklad: |
| PRACT_DEJ_DALSI_R_S_PLPOST_ZE_ST |
nPlatTabId : Longint;
nStupen : Integer; dim nPlPostupRoky : Integer; dim nPlPostupStupen : Integer) : 0 |
Podle platového stupně 'nStupen' hledá následující předepsaný počet let pro platový postup 'nPlPostupRoky' a příslušný platový stupeň 'nPlPostupStupen' (což bude nStupen + 1). Hledá pomocí platové tabulky, jejíž ident příchází jako parametr 'nPlatTabId'. Příklad: |
| PRACT_POSUN_PRAXI_NA_R_001 |
dim dZapocet : Real;
dim dtZapocet : Date) : 0 |
Upraví praxi 'dZapocet' a její datum 'dtZapocet' tak, že je posune nahoru na hodnotu R.000 (bývalo R.001!!). Příklad: |
| PRACT_SPOCTI_PRAXI_MEZI_DATY |
dtDateOd : Date;
dtDateDo : Date; nKraceni : Integer; dim dTrvani : Real; dim dZapocet : Real) : 0 |
Spočítá trvání 'dTrvani' a zkrácený zápočet 'dZapocet' mezi daty 'dtDateOd' a 'dtDateDo'. Zápočet se krátí podle parametru 'nKraceni', což je výčet:
Příklad: |
| PRACT_SPOCTI_PRAXI_MEZI_DATY_EX |
dtDateOd : Date;
dtDateDo : Date; nCit : Integer; nJme : Integer; dim dTrvani : Real; dim dZapocet : Real) : 0 |
Spočítá trvání 'dTrvani' a zkrácený zápočet 'dZapocet' mezi daty 'dtDateOd' a 'dtDateDo'. Zápočet se krátí podle poměru nCit/nJme. Příklad: |
| PRACT_PRICTI_PRAXI |
dZapocet : Real;
dZapocet1 : Real) : Real |
Sečte zápočty 'dZapocet' a 'dZapocet1' a výsledek vrací. Příklad: |
| PRACT_DEJ_PLAT_TABULKY | dim F : File) : Integer |
V proudu 'F' vrací seznam jmen a identů platových tabulek vhodný pro výběry. Proud musí být otevřen. Proud je organizován takto:
Jménu na indexu 1 odpovídá ident na indexu 1001. Funkce vrací počet platových tabulek v seznamu. |
| PRACT_DEJ_OPRAVU_PRAXE |
nZamId : Longint;
nDosVzdId : Longint; nTrida : Integer; dim dOpravaZadana : Real; dim bOpravaRucne : Byte; dim dOpravaSpoctena : Real) : Byte |
Vrací informaci o opravě praxe pro zaměstnance s identem nZamId. Parametr nDosVzdId je identem do číselníku dosaženého vzdělání. Parametr nTrida je aktuální platová třída zaměstnance. Vracené parametry:
Funkce vrací true jestliže platí výraz: bOpravaRucne = true or dOpravaZadana = dOpravaSpoctena |
| PRACT_DEJ_NESTANOVUJ_PL_POSTUP | nZamId : Longint) : Byte | Vrací informaci o tom, jestli má zaměstnanec zablokováno stanovování platových postupů. |
Podívejte se na: Procedury a funkce - Ostatní
Příklad 1:
procedure TestPractice
dim dtPlPostupDate, dtZapocet : Date;
dim dPlPostupZapocet, dZapocet, dTrvani : Real;
dim nPlPostupStupen : Integer
dim nRoky, nDny, nStupen : Integer;
{ Počítá zápočet k datu od zápočtu a jeho dne }
Trace("PRACT_ZAPOCET_K_DATU = ", _Practice(PRACT_ZAPOCET_K_DATU, _Date(28, 2,2012), 2.001, _Date(29, 2,2012)):6:3);
{ Počítá předchozí platový postup od data a zápočtu }
_Practice(PRACT_POSL_PL_POSTUP, P[26], _Date(28, 2,2012), 2.000, dtPlPostupDate, dPlPostupZapocet, nPlPostupStupen);
Trace("PRACT_POSL_PL_POSTUP = ", "dtPlPostupDate:",dtPlPostupDate, " dPlPostupZapocet:",dPlPostupZapocet:6:3, " nPlPostupStupen:", nPlPostupStupen);
{ Počítá následný platový postup od data a zápočtu }
_Practice(PRACT_DALSI_PL_POSTUP, P[26], _Date(28, 2,2012), 2.001, 3, dtPlPostupDate, dPlPostupZapocet, nPlPostupStupen);
Trace("PRACT_DALSI_PL_POSTUP = ", "dtPlPostupDate:",dtPlPostupDate, " dPlPostupZapocet:",dPlPostupZapocet:6:3, " nPlPostupStupen:", nPlPostupStupen);
{ Upraví praxi a její datum tak, že je posune nahoru na R.000 }
dZapocet := 1.365;
dtZapocet := _Date(28,2,2012);
_Practice(PRACT_POSUN_PRAXI_NA_R_001, dZapocet, dtZapocet);
Trace("PRACT_POSUN_PRAXI_NA_R_001 = ", "Zápočet:", dZapocet:5:3, " Zápočet datum:", dtZapocet);
{ Podle platového stupně hledá následující předepsaný počet let pro platový postup }
_Practice(PRACT_DEJ_DALSI_R_S_PLPOST_ZE_ST, P[26], 4, nRoky, nStupen);
Trace("PRACT_DEJ_DALSI_R_S_PLPOST_ZE_ST = ", "Roky:", nRoky, " Stupen:", nStupen);
{ Podle praxe hledá roky platového postupu a příslušný platový stupeň }
_Practice(PRACT_DEJ_R_S_PLPOST_Z_PRAXE, P[26], 5.100, nRoky, nStupen);
Trace("PRACT_DEJ_R_S_PLPOST_Z_PRAXE = ", "Roky:", nRoky, " Stupen:", nStupen);
{ Vrací praxi ve tvaru R.DDD z roků a dnů }
Trace("PRACT_DEJ_PRAXI_Z_ROKU_DNU = ", _Practice(PRACT_DEJ_PRAXI_Z_ROKU_DNU, 4, 254):5:3);
{ Vrací roky a dny z praxe (R.DDD) }
_Practice(PRACT_DEJ_ROKY_DNY_Z_PRAXE, 4.254, nRoky, nDny);
Trace("PRACT_DEJ_ROKY_DNY_Z_PRAXE = ", "Roky:", nRoky, " Dny:", nDny);
{ Od data odečte roky, dny a tento datum vrací }
Trace("PRACT_ODECTI_ROKY_DNY = ", _Practice(PRACT_ODECTI_ROKY_DNY, 1, 1, _Date(29, 2,2012)))
{ Počítá předchozí platový postup od data a zápočtu }
Trace(_Practice(PRACT_PRICTI_PRAXI, 1.100, 2.300):6:3);
{ Počítá předchozí platový postup od data a zápočtu }
_Practice(PRACT_SPOCTI_PRAXI_MEZI_DATY, _Date(28, 2,2012), _Date(28, 2,2013), PRACT_KRAC_1_2, dTrvani, dZapocet);
Trace("PRACT_SPOCTI_PRAXI_MEZI_DATY = ", "dTrvani:",dTrvani:6:3, " dZapocet:",dZapocet:6:3);
endproc { TestPractice }
Příklad 2:
procedure DejPlatoveTabulky
dim F : File;
dim Idx : Longint;
SRewrite(F, "", true);
_Practice(PRACT_DEJ_PLAT_TABULKY, F);
if(_SFirst(F, Idx))then
repeat
Trace(_SGet(F, Idx)," ",_SGet(F, Idx+1000));
until _SNext(F, Idx) = false or Idx >= 1000;
endif
endproc { DejPlatoveTabulky }
Příklad 3:
procedure DejOpravuPraxe
dim DosVzdId : Longint;
dim Trida : Integer;
dim OpravaZadana : Real;
dim OpravaRucne : Byte;
dim OpravaSpoctena : Real;
dim Result : Byte;
DosVzdId := P[12];
Trida := 8;
Result := _Practice(PRACT_DEJ_OPRAVU_PRAXE, O[dbIdent], DosVzdId, Trida, OpravaZadana, OpravaRucne, OpravaSpoctena);
Trace("OpravaZadana:",OpravaZadana:6:3, " OpravaSpoctena:",OpravaSpoctena:6:3, " OpravaRucne:", OpravaRucne, " Result:", Result);
endproc { DejOpravuPraxe }