Dch dopl dnyabs (sk.9): Porovnání verzí

Z Prirucky
 
Řádek 14: Řádek 14:
| '''n - Ne''' <br>
| '''n - Ne''' <br>
a - Ano-podle úvazku <br>
a - Ano-podle úvazku <br>
p - Podle plánované délky směny
p - Podle plánované délky směny <br>
o - Dny i hodiny podle úvazku
|-
|-
! scope="row"| Popis
! scope="row"| Popis
Řádek 26: Řádek 27:
<small> Pozn. Dny pro uvedenou funkcionalitu mohou nabývat hodnoty '''0 nebo nevyplněno''' (null). </small>
<small> Pozn. Dny pro uvedenou funkcionalitu mohou nabývat hodnoty '''0 nebo nevyplněno''' (null). </small>


== Ano-podle úvazku ==
== a - Ano-podle úvazku ==
Výpočet dnů probíhá na základě hodinového úvazku zaměstnance, tj. položky [[Skutečný úvazek]]. Vhodné jen tehdy, pokud délka směn je konstantní.
Výpočet dnů probíhá na základě hodinového úvazku zaměstnance, tj. položky [[Skutečný úvazek]]. Vhodné jen tehdy, pokud délka směn je konstantní.


== Podle plánované délky směny ==
== p - Podle plánované délky směny ==
Vhodný i pro případ, kdy kolísá délka směn (počet plánovaných hodin) pracovního kalendáře zaměstnance.
Vhodný i pro případ, kdy kolísá délka směn (počet plánovaných hodin) pracovního kalendáře zaměstnance.


Řádek 49: Řádek 50:
: 2. Určení '''podílu vykázaného počtu hodin průměrnou délkou směny''' dle bodu (1). <br>
: 2. Určení '''podílu vykázaného počtu hodin průměrnou délkou směny''' dle bodu (1). <br>
: 3. V případě dovolené – kódu 521 – zaokrouhlení nahoru na celé půldny.
: 3. V případě dovolené – kódu 521 – zaokrouhlení nahoru na celé půldny.
== o - Dny i hodiny podle úvazku ==
Doplňování chybějící hodnoty, buď v poli dny, nebo hodiny. Pro přepočet se použije hodnota [[Skutečný úvazek]]. Příklad:
''[[Skutečný úvazek]] = 8 hod''
* ''data z docházky: hodnota dny = 1, hodiny chybí --> při importu bude doplněno: hodiny = 8''
* ''data z docházky: hodiny = 4, dny chybí --> při importu bude doplněno: dny = 0,5.''


== Historické řešení ==
== Historické řešení ==

Aktuální verze z 30. 7. 2018, 10:11

dch_dopl_dnyabs (sk.9) je parametr nastavující doplňování dnů z hodin při importu z docházky.

Funkcionalita

Kód dch_dopl_dnyabs
Název Určuje, zda se mají doplňovat dny v případě, že se rovnají nule.
Rozsah n - Ne

a - Ano-podle úvazku
p - Podle plánované délky směny
o - Dny i hodiny podle úvazku

Popis Určuje, zda se při přenosu z docházky mají u absencí doplňovat dny v případě, že se rovnají nule. Výpočet dnů probíhá na základě hodinového úvazku. Možno použít jen v případě, že zaměstnaneci pracují na běžném kalendáři a délka směny odpovídá hodinovému úvazku.

Výchozí stav: docházkový systém pošle ke kódu mzdové položky informaci o počtu hodin, ale nikoliv o počtu dnů. V některých případech je ovšem informace o počtu dnů žádoucí, někdy vysloveně nutná (tak např. pro dovolenou dle t.č. stávající legislativy, kdy nároky se sledují ve dnech, nikoliv v hodinách; nebo pro odpracovanou dobu - pro účely nápočtů odpracovaných dnů pro dovolenou či další statistiky.)

Po přepnutí parametru bude aplikace doplňovat chybějící dny podle určitého algoritmu (algoritmů).

Pozn. Dny pro uvedenou funkcionalitu mohou nabývat hodnoty 0 nebo nevyplněno (null).

a - Ano-podle úvazku

Výpočet dnů probíhá na základě hodinového úvazku zaměstnance, tj. položky Skutečný úvazek. Vhodné jen tehdy, pokud délka směn je konstantní.

p - Podle plánované délky směny

Vhodný i pro případ, kdy kolísá délka směn (počet plánovaných hodin) pracovního kalendáře zaměstnance.

POZOR: Je potřeba si uvědomit, že obecně úloha nemá správné řešení!

1. Výpočet se děje na základě kalendáře zaměstnance v aplikaci KS (nikoliv v docházkovém systému - nicméně oba by měly být totožné). 2. Pokud bude zajištěn předchozí bod, pak ke správnému výsledku (co se týče dovolené - dny a půldny) se dojde v případě, kdy

jedním záznamem přichází celé dny (např. od 8.11.2017 - do 9.11.2017 - 22 hod)
a jiným záznamem půldny (např. od 10.11.2017 - do 10.11.2017 - 5,5 hod)

Příklad nemožnosti správného určení: V obecném případě se může jednat např. o následující rozvržení: plán směn 12-14.11.2017.

Plán 8-8-8 hod, čerpáno 20 hod odpovídá 2,5 dne.
Plán 4-8-12 hod, čerpáno první směnu půlden dovolené a dva celé znamená čerpání 22 hod, zatímco čerpání prvních dvou směn celých a poslední půl představuje 18 hod.

Algoritmus

1. Zjištění průměrné délky směny části kalendáře ohraničeného datem_od a datem_do (součet plánovaných hodin/součet plánovaných směn).
2. Určení podílu vykázaného počtu hodin průměrnou délkou směny dle bodu (1).
3. V případě dovolené – kódu 521 – zaokrouhlení nahoru na celé půldny.

o - Dny i hodiny podle úvazku

Doplňování chybějící hodnoty, buď v poli dny, nebo hodiny. Pro přepočet se použije hodnota Skutečný úvazek. Příklad:

Skutečný úvazek = 8 hod

  • data z docházky: hodnota dny = 1, hodiny chybí --> při importu bude doplněno: hodiny = 8
  • data z docházky: hodiny = 4, dny chybí --> při importu bude doplněno: dny = 0,5.

Historické řešení

V době, kdy ještě neexistoval tento parametr, bylo možno využívat doplnění pomocí SQL příkazu

pro aktuálně zpracovávané období a výběr kódů se zabezpečením, aby nedošlo k dělení 0 - použitelné pro MS SQL:

update odmeny set dny = odprac_hod /
(select hod_uvazek from prac_pom A where
A.os_cislo = odmeny.os_cislo and
A.cislo_pom = odmeny.cislo_pom)
where vyp_castka = -1 and
(dny is null or dny = 0) and
ltrim(rtrim(cast(os_cislo as char)))+ ltrim(rtrim(cast(cislo_pom as char))) in
(select 
ltrim(rtrim(cast(os_cislo as char)))+ ltrim(rtrim(cast(cislo_pom as char))) from
prac_pom B where
B.hod_uvazek > 0) and
datum = (select datum_prvni from par_map) and
(kod <= 168 or kod in(521, 522));

Odkazy