|
|
| Řádek 1: |
Řádek 1: |
| '''Dovolená v hodinách (analýza úprav)''' - Analýza zpracování dovolené na zotavenou v hodinách.
| |
| <!-- Zpracoval: Ing. Michal Dolanský, KS-Program s.r.o.
| |
| Dne: 23.6.2014
| |
| pro firmu AWT: -->
| |
|
| |
|
| == Zadání ==
| |
| Dovolená na zotavenou (dále jen dovolená) se aktuálně v aplikaci KS mzdy zpracovává '''ve dnech'''. To znamená, že veškeré složky dovolené (nárok, čerpání, krácení, atd.), jsou vypočítávány, zpracovávány, ukládány a zobrazeny pouze ve dnech.
| |
| Vznikl požadavek, zda by bylo možné zpracovávat dovolenou '''v hodinách'''.
| |
|
| |
| == Návrh řešení ==
| |
| === Vstupní podmínky navrhovaného řešení ===
| |
| Dovolená se bude zpracovávat v hodinách '''u všech zaměstnanců''' ve firmě. Nebude možné zpracovávat dovolenou u některých zaměstnanců ve dnech a u některých v hodinách (sumární údaje ve výstupních sestavách by pak nedávaly smysl). Mezi zpracováním dovolené ve dnech a v hodinách nebude možné libovolně přepínat. Při implementaci se zvolí jeden režim a v něm se bude dovolená zpracovávat. S ohledem na možnou různou délku směn v rozvržení pracovní doby zaměstnance, nelze jednoznačně převádět dny na hodiny a naopak.
| |
|
| |
| === Parametrické nastavení ===
| |
| V aplikaci přibude nový rozšiřující parametr
| |
| : '''[[dov_jednotka (sk.2)]]'''. Hodnotou tohoto parametru bude
| |
| * '''Den''' nebo
| |
| * '''Hodina'''.
| |
|
| |
| Výchozí hodnotou parametru bude ''Den''. Hodnotou tohoto parametru se bude řídit zpracování dovolené. Pro zjednodušení nastavení dovolené by bylo vhodné vytvořit ještě jeden nový rozšiřující parametr
| |
| : '''[[dov_zn_vychozi (sk.2)]''']. Hodnotou parametru bude výše základního nároku na dovolenou ve dnech. Výchozí hodnotou parametru bude 20.
| |
| Dosud je výchozí hodnota základního nároku na dovolenou stanovena pevně na 20 dnů. Tuto hodnotu je možné navyšovat rozšiřujícím parametrem '''navys_dov'''. Nově bude výchozí hodnota základního nároku stanovena přímo jen jedním rozšiřujícím parametrem.
| |
|
| |
| Bude se muset upravit algoritmus pro stanovení základního nároku. U stávajících zákazníků, kteří budou mít v parametru navys_dov hodnotu vetší než 0, by se měla do nového parametru '''dov_zn_vychozi''' automaticky vygenerovat hodnota 20 + '''navys_dov'''.
| |
|
| |
| == Databázové položky ==
| |
| Pro případ zpracování dovolené v hodinách se využije stejných databázových položek, jako pro zpracování dovolené ve dnech. Bude však potřeba zvýšit přesnost databázových položek pro uchování hodin z '''decimalu(3,1) na decimal(5,2)'''.
| |
| Bude se jednat o následující databázové položky v tabulkách prac_pom a pom_zal:
| |
| * dov_predmin
| |
| * zbyv_rd_min_rok
| |
| * rd_letos
| |
| * dov_dodatk_r
| |
| * dov_dodatk
| |
| * dov_cerpana
| |
| * dov_kracena
| |
|
| |
| == Výpočty složek dovolené ==
| |
| Bude potřeba zvýšit přesnost proměnných ve zpracování dovolené, ve kterých se budou ukládat složky dovolené v hodinách. Nyní jsou stejně jako databázové položky omezeny pouze na jedno desetinné místo.
| |
| Vypočtené složky dovolené v hodinách bude potřeba '''zaokrouhlit''' předepsaným způsobem. Protože je zaokrouhlení dovolené definováno pouze ve dnech '''s přesností na půldny''' (viz. ZP §216, odst. 4), bude potřeba vypočtenou část dovolené v hodinách: <br>
| |
| 1. převést přes hodinový úvazek na dny <br>
| |
| 2. provést zaokrouhlení ve dnech <br>
| |
| 3. převést přes hodinový úvazek zpět na hodiny <br>
| |
|
| |
| Celkově úpravy zasáhnou do desítek dílčích výpočtů. U některých výpočtů se změní i počet předávaných parametrů. Proto bude potřeba upravit volání těchto výpočtů napříč aplikací.
| |
|
| |
| * '''Základní nárok'''
| |
| Hodnota základního nároku zůstane i nadále ve dnech. Výměra dovolené se totiž stanovuje ve dnech (příp. v týdnech), viz. ZP §213. Ze základního nároku se vypočte celoroční nárok na dovolenou v hodinách jako:
| |
| celoroční nárok = základní nárok * hodinový úvazek
| |
|
| |
| * '''Nárok letos'''
| |
| Hodnotou bude skutečný nárok na dovolenou v hodinách v aktuálním roce. Bude zde dovolená za kalendářní rok (případně její poměrná část) nebo dovolená za odpracované dny. V případě poměrné části nároku se vypočte příslušný počet dvanáctin z celoročního nároku. Výsledek se zaokrouhlí (viz. Výše).
| |
|
| |
| * '''Čerpaná dovolená'''
| |
| Do čerpané dovolené se budou přičítat hodiny (místo dnů) ze mzdových položek určených k čerpání dovolené.
| |
|
| |
| * '''Krácená dovolená'''
| |
| Hodnota bude v hodinách.
| |
| : V případě krácení za omluvené absence se vypočte příslušný počet dvanáctin z celoročního nároku v hodinách. Výsledek se zaokrouhlí (viz. Výše).
| |
| : V případě krácení za neomluvené absence se vypočte jako:
| |
| :: počet dnů neomluvené absence * počet dnů krácení za 1 den neomluvené absence * hodinový úvazek
| |
|
| |
| * '''Dodatková dovolená'''
| |
| Celoroční nárok se bude pořizovat přímo v hodinách. Ve výpočtu poměrní části nároku bude potřeby zohlednit nové zaokrouhlení na hodiny.
| |
|
| |
| * '''Zůstatek z minulého roku'''
| |
| Hodnota se bude převádět stejným způsoben (jako v případě dnů) ze zůstatku na konci minulého roku.
| |
|
| |
| * '''Změna hodinového úvazku'''
| |
| Změna úvazku nemá vliv na výměru dovolené ve dnech, ale má vliv na výměru dovolené v hodinách. Při změně hodinového úvazku se znovu vypočítá nárok letos dle nového hodinového úvazku.
| |
| Proto se budou muset přepočítat i zůstatek z minulého roku, čerpání a krácení dovolené tak, aby odpovídali novému hodinovému úvazku:
| |
| : nová hodnota = stará hodnota * (nový hodinový úvazek /starý hodinový úvazek)
| |
|
| |
| == Úprava uživatelského rozhraní ==
| |
| Pole, ve kterých se zobrazují složky dovolené v aplikaci, počítají jen s jedním desetinným místem. Tato pole bude potřeba upravit, aby mohla zobrazit 2 desetinná místa. Bude potřeba upravit:
| |
| * Okno pro editaci dovolené v agendě Pracovní poměry.
| |
| * Sestavy pro dovolenou (v menu: Sestavy /Personální sestavy z mezd / Dovolená).
| |
| * Zobrazení dovolené ve vyúčtování zaměstnance.
| |
| * Zobrazení dovolené na výplatním lístku.
| |
|
| |
| == Další související úpravy ==
| |
| Bude potřeba upravit i několik další částí aplikace, aby správně fungovaly v režimu zpracování dovolené v hodinách.
| |
| * Jednorázové funkce pro hromadný přepočet dovolené.
| |
| * Ve vyúčtování zaměstnance se bude muset upravit automatické proplácení nevyčerpané dovolené při výstupu zaměstnance.
| |
| * V měsíční uzávěrce se bude muset upravit přenos dovolené do dalšího mzdového období.
| |
|
| |
| == Rekapitulace úprav ==
| |
| * Nový parametr dov_jednotka a jeho ošetření ve zpracováni dovolené
| |
| * Úprava databázové struktury
| |
| * Úprava výpočtů složek dovolené
| |
| * Úprava uživatelského rozhraní
| |
| * Úprava jednorázových funkcí
| |
| * Úprava vyúčtování zaměstnance
| |
| * Úprava měsíční uzávěrky
| |
| * Úprava dokumentace (příručky)
| |
| <!-- Analýza 4 dny
| |
| Nový parametr dov_jednotka a jeho ošetření ve zpracováni dovolené 1 den
| |
| Úprava databázové struktury 0,5 dne
| |
| Úprava výpočtů složek dovolené 7 dnů
| |
| Úprava uživatelského rozhraní 2 dny
| |
| Úprava jednorázových funkcí 2 dny
| |
| Úprava vyúčtování zaměstnance 1 den
| |
| Úprava měsíční uzávěrky 1 den
| |
| Úprava dokumentace (příručky) 1 den
| |
| Celkem 19,5 dne
| |
| -->
| |
|
| |
| == Odkazy ==
| |
| * [[Dovolená v hodinách]]
| |