Pom15: Porovnání verzí

Z Prirucky
Řádek 4: Řádek 4:
== Logický návrh ==
== Logický návrh ==


* <u>'''Číselník ukazatelů'''</u> - ukazatel je '''identifikován''' svým '''kódem''', má '''název''' a další atributy.
* <u>'''Číselník ukazatelů'''</u> - ukazatel je '''''identifikován''''' svým '''''kódem''''', má '''''název''''' a další atributy.
* <u>'''Plnění'''</u> - pro dané období ('''kalendářní měsíc''' roku) je pro každý použitý ukazatel stanovena '''plánovaná hodnota''' a vyhodnocována '''dosažená hodnota'''. Z těchto dvou hodnot je možno stanovit plnění v %. Pro další práci je vyčíslováno tzv. upravené plnění, jehož výpočet je mj. závislý na dalších atributech ukazatele v číselníku.
* <u>'''Plnění'''</u> - pro dané období - '''''kalendářní měsíc''''' roku - je pro každý použitý ukazatel stanovena '''''plánovaná hodnota''''' a vyhodnocována '''''dosažená hodnota'''''. Z těchto dvou hodnot je možno stanovit plnění v %. Pro další práci je vyčíslováno tzv. upravené plnění, jehož výpočet je mj. závislý na dalších atributech ukazatele v číselníku.
* <u>'''Zaměstnanci'''</u> - zaměstnanec může mít stanoven podíl na vybraných ukazatelích, obvykle do určitého maximálního počtu (např. 5), a ke každému ukazateli má zaměstnanec stanovenu '''váhu'''. Součet vah u zaměstnance je (interním pravidlem, není nutné) koncipován na výsledek 100%.
* <u>'''Zaměstnanci'''</u> - zaměstnanec může mít stanoven podíl na vybraných ukazatelích, obvykle do určitého maximálního počtu (např. 5), a ke každému ukazateli má zaměstnanec stanovenu '''''váhu'''''. Součet vah u zaměstnance je (interním pravidlem, není nutné) koncipován na výsledek 100%.


== Zpracování ==
== Zpracování ==
Řádek 21: Řádek 21:
   součet 1..n (podíl * upravené plnění)
   součet 1..n (podíl * upravené plnění)


Pozn. z tab. plneni se čte a pro výpočet použije hodnota ''upraveno''.
Pozn. z tab. ''plneni'' se čte a pro výpočet použije hodnota ''upraveno''.
 
Příklad


{|border="1" cellpadding="3" cellspacing="0"
{|border="1" cellpadding="3" cellspacing="0"
Řádek 36: Řádek 34:
|Mezivýsledek (Kč)
|Mezivýsledek (Kč)
|-
|-
|127||Ekonomické výsledky střediska||<center>45</center>||<center>4 500</center>||<center>121.78541</center>||<center>40.40343</center>||<center>5 480.34</center>
|1271||Ekonomické výsledky střediska||<center>45</center>||<center>4 500</center>||<center>121.78541</center>||<center>40.40343</center>||<center>5 480.34</center>
|-
|-
|348||Náklady střediska||<center>25</center>||<center>2 500</center>||<center>105.54213</center>||<center>26.38553</center>||<center>2 638.55</center>
|3485||Náklady střediska||<center>25</center>||<center>2 500</center>||<center>105.54213</center>||<center>26.38553</center>||<center>2 638.55</center>
|-
|-
|278||Dodržení limitu vnitřních ztrát||<center>30</center>||<center>3 000</center>||<center>94.45632</center>||<center>37.33689</center>||<center>2 833.69</center>
|2780||Dodržení limitu vnitřních ztrát||<center>30</center>||<center>3 000</center>||<center>94.45632</center>||<center>37.33689</center>||<center>2 833.69</center>
|-
|-
| || ||<center>'''100'''</center>||<center>10 000</center>|| ||<center>'''104.12585'''</center>||<center>'''10 952.58'''</center>
| || ||<center>'''100'''</center>||<center>10 000</center>|| ||<center>'''104.12585'''</center>||<center>'''10 952.58'''</center>
|}
|}
==== Úprava na odpracovanou dobu ====
Po tomto výpočtu ještě může následovat úprava částky na odpracovanou dobu, kterou zajistí patřičné [[Mzdové položky - číslo algoritmu|číslo algoritmu]], a to jak u zaměstnance odměňovaného hodinovou mzdou tak měsíční mzdou.
''Osobní hodnocení přiznané'': [[Osobní příplatek]] <br>
''Mzdové položky'': 171, 175 s číslem algoritmu např. 13.


== Zaměstnanci ==
== Zaměstnanci ==
Řádek 59: Řádek 63:


'''''Pravidla'''''
'''''Pravidla'''''
* '''Zadávání v aktuálním období'''
* <u>'''Zadávání v aktuálním období'''</u>
Při zadávání v aktuálním období '''systém''' u zadaného záznamu '''vyplní platnost od''' prvním dnem aktuálního období.
Při zadávání v aktuálním období '''''systém''''' u zadaného záznamu '''''vyplní platnost od''''' prvním dnem aktuálního období.


 
* <u>'''Zadávání do budoucnosti'''</u>
* '''Zadávání do budoucnosti'''
Zadávání s budoucí platností je možno následovně: <br>
Zadávání s budoucí platností je možno následovně: <br>
1) '''Nastavením budoucího období a zadáním záznamu(ů)'''. Bude nastavena platnost od prvního dne nastaveného budoucího období. <br>
1) '''''Nastavením budoucího období a zadáním záznamu(ů)'''''. Bude nastavena platnost od prvního dne nastaveného budoucího období. <br>
2) Zadáním s nastavením v aktuálním období. Systém vyplní platnost od datem prvního dne nastaveného aktuálního období. Poté ručně změnit datum od. Systém na změnu upozorní kontrolní hláškou, ale dovolí záznam uložit.
2) Zadáním s nastavením v aktuálním období. Systém vyplní platnost od datem prvního dne nastaveného aktuálního období. Poté ručně změnit datum od. Systém na změnu upozorní kontrolní hláškou, ale dovolí záznam uložit.


 
* <u>'''Ukončování platnosti vs. mazání'''</u>
* '''Ukončování platnosti vs. mazání'''
'''''Zásadně je doporučeno používat ukončování platnosti'''''. Mazání záznamu je doporučeno jen v případě chyby při zadání, a to jen v aktuálním období.  
'''Zásadně je doporučeno používat ukončování platnosti'''. Mazání záznamu je doporučeno jen v případě chyby při zadání, a to jen v aktuálním období.  
<small>Příklad chybného postupu. Záznam byl použit při výpočtech v minulých obdobích. V aktuálním období jej uživatel smaže. Tato situace aktuálně není ošetřena, takže mazáním záznam definitivně zmizí z tabulky (historie). Správně měl uživatel vyplnit platnost do (posledním dnem minulého období). </small>
<small>Příklad chybného postupu. Záznam byl použit při výpočtech v minulých obdobích. V aktuálním období jej uživatel smaže. Tato situace aktuálně není ošetřena, takže mazáním záznam definitivně zmizí z tabulky (historie). Správně měl uživatel vyplnit platnost do (posledním dnem minulého období). </small>


 
* <u>'''Mazání v minulém období'''</u>
* '''Mazání v minulém období'''
Systém '''''odmítne''''' smazání záznamu, pokud je nastaveno minulé období.
Systém '''odmítne''' smazání záznamu, pokud je nastaveno minulé období.
[[Image: Regukaz-zam-nelze-mazat-do-minula.png|70px]]
[[Image: Regukaz-zam-nelze-mazat-do-minula.png|70px]]


=== Číslo poměru ===
=== Číslo poměru ===
Systém zpracuje i takové záznamy, u nichž není určeno ''číslo poměru'' v db tabulce ''registr_zam''. Při výpočtu výslednou částku uloží na pracovní poměr, který zjistí vyhledávací funkcí (aktivní pracovní poměr; pokud je takových více, má přednost hlavní pracovní poměr, atpod.).
<small>
Systém zpracuje i takové záznamy, u nichž není určeno ''číslo poměru'' v db tabulce ''registr_zam''. Při výpočtu výslednou částku uloží na pracovní poměr, který zjistí vyhledávací funkcí (aktivní pracovní poměr; pokud je takových více, má přednost hlavní pracovní poměr, atpod.). Tento stav nastane jen zadáním mimo uživatelskou agendu (např. prvotním naplněním pomocí sql příkazů).
V budoucnu by tento stav vadil při následující situaci: zaměstnanec ukončil hlavní pracovní poměr, později znovu nastoupí na hlavní pracovní poměr (už je to jiné ''číslo poměru''). Pokud nebude vyplněna ''platnost do'' u ukazatelů z prvního pracovního poměru, pak budou ukazatele použity automaticky i pro druhý pracovní poměr. </small>


Tento stav nastane jen zadáním mimo uživatelskou agendu (např. prvotním naplněním pomocí sql příkazů).
* '''''Jednorázové automatické doplnění čísla poměru'''''
 
V budoucnu tento stav může vadit při následující situaci: zaměstnanec ukončil hlavní pracovní poměr, později znovu nastoupí na hlavní pracovní poměr (už je to jiné ''číslo poměru''). Pokud nebude vyplněna ''platnost do'' u ukazatelů z prvního pracovního poměru, pak budou ukazatele použity automaticky i pro druhý pracovní poměr.
 
* '''''Automatické doplnění čísla poměru'''''
Při vstupu do agendy, záložky ''Seznam zaměstnanců'' systém provede kontrolu, zda je vyplněn údaj o ''čísle poměru'', a pokud ne, pak je do db tabulky automaticky doplní.
Při vstupu do agendy, záložky ''Seznam zaměstnanců'' systém provede kontrolu, zda je vyplněn údaj o ''čísle poměru'', a pokud ne, pak je do db tabulky automaticky doplní.


Řádek 101: Řádek 100:
</small>
</small>
-->
-->
=== Platí od - Platí do ===
Záznam je zpracován do výpočtu, '''''pokud''''' spadne '''''alespoň jedním dnem''''' své platnosti do zpracovávaného období. Doporučeno je tedy zadávání:
: platnost od - 1. den měsíce
: platnost do - poslední den měsíce
== Ostatní ==
* '''Ukazatelé ve zkušební době'''
Dle konkrétních podmínek může mít firma stanoveno například následující: ukazatelé jsou stanoveny až po určité době od nástupu (po zkušební době) a do té doby zaměstnanec obdrží plnou částku (plnění na 100%). Nastavení se pak děje následovně:
: Do číselníku je zadán jeden ukazatel s názvem např. "Ve zkušební době 100%".
: Tento ukazatel je zadán zaměstnanci (pouze jeden) s podílem 100% a s omezením platnosti do (do zkušební doby).
: Ukazatel je každý měsíc vyhodnocen ve výši 100%.
: Zaměstnanci jsou zadány ukazatelé s budoucí platností (po zkušební době).
* '''Individuální ukazatele'''
Pokud existují ukazatele s platností jen pro jednoho zaměstnance, mohou být do číselníku zadány např. tak, že číslo ukazatele koresponduje s osobním číslem zaměstnance (např. 90000 + os.číslo zaměstnance 4-místné).
== Sestavy ==
== Sestavy ==
Sestavy pro [[Generátor sestav II]].
Sestavy pro [[Generátor sestav II]].
Řádek 147: Řádek 163:


== Odkazy ==
== Odkazy ==
* [[Zákaznické speciality]]

Verze z 1. 3. 2016, 12:13

Registr ukazatelů je zákaznická specialita pro výpočet osobního hodnocení závislého na měsíčních výsledcích plnění tzv. ukazatelů.

Registr ukazatelu logicky navrh.png

Logický návrh

  • Číselník ukazatelů - ukazatel je identifikován svým kódem, má název a další atributy.
  • Plnění - pro dané období - kalendářní měsíc roku - je pro každý použitý ukazatel stanovena plánovaná hodnota a vyhodnocována dosažená hodnota. Z těchto dvou hodnot je možno stanovit plnění v %. Pro další práci je vyčíslováno tzv. upravené plnění, jehož výpočet je mj. závislý na dalších atributech ukazatele v číselníku.
  • Zaměstnanci - zaměstnanec může mít stanoven podíl na vybraných ukazatelích, obvykle do určitého maximálního počtu (např. 5), a ke každému ukazateli má zaměstnanec stanovenu váhu. Součet vah u zaměstnance je (interním pravidlem, není nutné) koncipován na výsledek 100%.

Zpracování

Registr ukazatelu db tabulky.png

Tabulky

Konkrétní zpracování vyústilo do podoby, v níž níže uvedené databázové tabulky jsou obsaženy v databázi aplikaci.

  • cis_ukazatele - systém data z tabulky pouze čte; o zápis se stará strana uživatele.
  • plneni - systém data z tabulky pouze čte; o zápis se stará strana uživatele.
  • registr_zam - aktuálně data naplněna jednorázově a opravy/úpravy/přidávání je zabezpečeno jinými způsoby (sql). Do budoucna může být zpracována uživatelská obsluha těchto dat v aplikaci.

Výpočet osobního hodnocení

osobní hodnocení (vypočtené) = 
 osobní hodnocení (přiznané) * 
  součet 1..n (podíl * upravené plnění)

Pozn. z tab. plneni se čte a pro výpočet použije hodnota upraveno.

Příklad výpočtu zaměstnance s přiznaným os.hodnocením ve výši 10 000 Kč
Kód ukaz. Název ukazatele Podíl u zaměstnance (%) Hypotetická částka (při 100% plnění) Výsl.plnění (%) Mezivýsledek (%) Mezivýsledek (Kč)
1271 Ekonomické výsledky střediska
45
4 500
121.78541
40.40343
5 480.34
3485 Náklady střediska
25
2 500
105.54213
26.38553
2 638.55
2780 Dodržení limitu vnitřních ztrát
30
3 000
94.45632
37.33689
2 833.69
100
10 000
104.12585
10 952.58

Úprava na odpracovanou dobu

Po tomto výpočtu ještě může následovat úprava částky na odpracovanou dobu, kterou zajistí patřičné číslo algoritmu, a to jak u zaměstnance odměňovaného hodinovou mzdou tak měsíční mzdou.

Osobní hodnocení přiznané: Osobní příplatek
Mzdové položky: 171, 175 s číslem algoritmu např. 13.

Zaměstnanci

Menu: Evidence > Zákaznické speciality / Registr ukazatelů / Spustit

Seznam

Seznam zaměstnanců umožňuje vybrat (vyhledat) konkrétního zaměstnance.

Regukaz-zam-seznam.png

Registr ukazatelů

Pro vybraného zaměstnance je možno editovat záznamy o podílu ukazatelů. K dispozici je sestava za všechny zaměstnance.

Regukaz-zam-regukaz-pohled.png Regukaz-zam-regukaz-sestava.png

Pravidla

  • Zadávání v aktuálním období

Při zadávání v aktuálním období systém u zadaného záznamu vyplní platnost od prvním dnem aktuálního období.

  • Zadávání do budoucnosti

Zadávání s budoucí platností je možno následovně:
1) Nastavením budoucího období a zadáním záznamu(ů). Bude nastavena platnost od prvního dne nastaveného budoucího období.
2) Zadáním s nastavením v aktuálním období. Systém vyplní platnost od datem prvního dne nastaveného aktuálního období. Poté ručně změnit datum od. Systém na změnu upozorní kontrolní hláškou, ale dovolí záznam uložit.

  • Ukončování platnosti vs. mazání

Zásadně je doporučeno používat ukončování platnosti. Mazání záznamu je doporučeno jen v případě chyby při zadání, a to jen v aktuálním období. Příklad chybného postupu. Záznam byl použit při výpočtech v minulých obdobích. V aktuálním období jej uživatel smaže. Tato situace aktuálně není ošetřena, takže mazáním záznam definitivně zmizí z tabulky (historie). Správně měl uživatel vyplnit platnost do (posledním dnem minulého období).

  • Mazání v minulém období

Systém odmítne smazání záznamu, pokud je nastaveno minulé období. Regukaz-zam-nelze-mazat-do-minula.png

Číslo poměru

Systém zpracuje i takové záznamy, u nichž není určeno číslo poměru v db tabulce registr_zam. Při výpočtu výslednou částku uloží na pracovní poměr, který zjistí vyhledávací funkcí (aktivní pracovní poměr; pokud je takových více, má přednost hlavní pracovní poměr, atpod.). Tento stav nastane jen zadáním mimo uživatelskou agendu (např. prvotním naplněním pomocí sql příkazů). V budoucnu by tento stav vadil při následující situaci: zaměstnanec ukončil hlavní pracovní poměr, později znovu nastoupí na hlavní pracovní poměr (už je to jiné číslo poměru). Pokud nebude vyplněna platnost do u ukazatelů z prvního pracovního poměru, pak budou ukazatele použity automaticky i pro druhý pracovní poměr.

  • Jednorázové automatické doplnění čísla poměru

Při vstupu do agendy, záložky Seznam zaměstnanců systém provede kontrolu, zda je vyplněn údaj o čísle poměru, a pokud ne, pak je do db tabulky automaticky doplní.

Regukaz-zam-seznam-doplneni-cisla-pomeru.png Regukaz-zam-seznam-doplneni-cisla-pomeru-hotovo.png


Platí od - Platí do

Záznam je zpracován do výpočtu, pokud spadne alespoň jedním dnem své platnosti do zpracovávaného období. Doporučeno je tedy zadávání:

platnost od - 1. den měsíce
platnost do - poslední den měsíce

Ostatní

  • Ukazatelé ve zkušební době

Dle konkrétních podmínek může mít firma stanoveno například následující: ukazatelé jsou stanoveny až po určité době od nástupu (po zkušební době) a do té doby zaměstnanec obdrží plnou částku (plnění na 100%). Nastavení se pak děje následovně:

Do číselníku je zadán jeden ukazatel s názvem např. "Ve zkušební době 100%".
Tento ukazatel je zadán zaměstnanci (pouze jeden) s podílem 100% a s omezením platnosti do (do zkušební doby).
Ukazatel je každý měsíc vyhodnocen ve výši 100%.
Zaměstnanci jsou zadány ukazatelé s budoucí platností (po zkušební době).
  • Individuální ukazatele

Pokud existují ukazatele s platností jen pro jednoho zaměstnance, mohou být do číselníku zadány např. tak, že číslo ukazatele koresponduje s osobním číslem zaměstnance (např. 90000 + os.číslo zaměstnance 4-místné).

Sestavy

Sestavy pro Generátor sestav II.

Reg ukaz zam gen sest.png

Pozn. Hodnota Celkem je zjišťována jako celek k zaměstnanci - bez ohledu na číslo poměru (v případě více poměrů se sčítá), jen s ohledem na platnosti od - do.

select A.os_cislo, B.prijmeni, B.jmeno, A.cislo_pom, A.kod, A.podil, A.plati_od, A.plati_do, 
 (select sum(podil) from registr_zam C where C.os_cislo = A.os_cislo and
   (C.plati_od is null or C.plati_do <= %DATUMDO%) and
   (C.plati_do is null or C.plati_do >= %DATUMOD%)
  ) as celkem, 
D.nazev
from registr_zam A left outer join cis_ukazatele D on A.kod = D.kod,
pracovnici B
where
A.os_cislo = B.os_cislo and
(A.plati_od is null or A.plati_do <= %DATUMDO%) and
(A.plati_do is null or A.plati_do >= %DATUMOD%);


Reg ukaz plneni gen sest.png

select A.kod, A.upraveno, B.nazev from plneni A, cis_ukazatele B
where A.kod = B.kod and A.obdobi = %DATUMOD%;

Reg ukaz mes plneni gen sestav.png

select A.os_cislo, B.prijmeni, B.jmeno, A.cislo_pom, 
A.kod, A.podil, A.plati_od, A.plati_do,
  (select sum(podil) from registr_zam C where C.os_cislo = A.os_cislo and
     (C.plati_od is null or C.plati_do <= %DATUMDO%) and
     (C.plati_do is null or C.plati_do >= %DATUMOD%)
   ) as celkem, 
E.upraveno
from registr_zam A left outer join plneni E on A.kod = E.kod, pracovnici B
where
A.os_cislo = B.os_cislo and
(A.plati_od is null or A.plati_do <= %DATUMDO%) and
(A.plati_do is null or A.plati_do >= %DATUMOD%) and
E.obdobi = %DATUMOD%;

Odkazy