Individuální kalendář: Porovnání verzí
| Řádek 20: | Řádek 20: | ||
* Vyplnění kalendáře již není kontrolováno u vystoupivších zaměstnanců. <small>Doposud bylo nutno v takovém případě převést zaměstnance na běžný kalendář.</small> | * Vyplnění kalendáře již není kontrolováno u vystoupivších zaměstnanců. <small>Doposud bylo nutno v takovém případě převést zaměstnance na běžný kalendář.</small> | ||
* Informační hláška o nevyplněném kalendáři byla doplněna o informaci o osobním čísle a čísle poměru zaměstnance, kde je tento použit. | * Informační hláška o nevyplněném kalendáři byla doplněna o informaci o osobním čísle a čísle poměru zaměstnance, kde je tento použit. | ||
'''Sestavy''' <br> | |||
[[Kontrola_odprac._doby_indiv._kal.]] | |||
[[Image:C-rozvrh-indiv kal-sql.png|300px]] | |||
<small> | |||
Informix | |||
select indiv_kal.cis_rozvrhu, indiv_kal.os_cislo, cislo_pom, | |||
prijmeni, jmeno, titul, | |||
(select count(*) from indiv_kal_dny b where indiv_kal.cis_rozvrhu = b.cis_rozvrhu and | |||
(pocet_hodin is not null and pocet_hodin <> 0) and b.kal_den >= '01.01.2012' and b.kal_den <= '31.12.2012') as poc, | |||
(select sum (pocet_hodin) from indiv_kal_dny c where indiv_kal.cis_rozvrhu = c.cis_rozvrhu and | |||
c.kal_den >= '01.01.2012' and c.kal_den <= '31.12.2012') as sum_hodin, | |||
(select sum (pocet_hodin) from indiv_kal_dny c where indiv_kal.cis_rozvrhu = c.cis_rozvrhu and | |||
c.kal_den >= '01.01.2012' and c.kal_den <= '31.12.2012')/(select count(*) from indiv_kal_dny b where indiv_kal.cis_rozvrhu = b.cis_rozvrhu and | |||
(pocet_hodin is not null and pocet_hodin <> 0) and b.kal_den >= '01.01.2012' and b.kal_den <= '31.12.2012') as prumer | |||
from | |||
indiv_kal, pracovnici where indiv_kal.os_cislo = pracovnici.os_cislo | |||
MS SQL | |||
select indiv_kal.cis_rozvrhu, indiv_kal.os_cislo, cislo_pom, | |||
prijmeni, jmeno, titul, | |||
(select count(*) from indiv_kal_dny b where indiv_kal.cis_rozvrhu = b.cis_rozvrhu and | |||
(pocet_hodin is not null and pocet_hodin <> 0) and b.kal_den >= '2012-01-01' and b.kal_den <= '2012-12-31') as poc, | |||
(select sum (pocet_hodin) from indiv_kal_dny c where indiv_kal.cis_rozvrhu = c.cis_rozvrhu and | |||
c.kal_den >= '2012-01-01' and c.kal_den <= '2012-12-31') as sum_hodin, | |||
(select sum (pocet_hodin) from indiv_kal_dny c where indiv_kal.cis_rozvrhu = c.cis_rozvrhu and | |||
c.kal_den >= '2012-01-01' and c.kal_den <= '2012-12-31')/(select count(*) from indiv_kal_dny b where indiv_kal.cis_rozvrhu = b.cis_rozvrhu and | |||
(pocet_hodin is not null and pocet_hodin <> 0) and b.kal_den >= '2012-01-01' and b.kal_den <= '2012-12-31') as prumer | |||
from | |||
indiv_kal, pracovnici where indiv_kal.os_cislo = pracovnici.os_cislo | |||
</small> | |||
Verze z 23. 11. 2012, 10:12
- Mzdové položky
- Účtování
- Kódy účtování
- Kódy účtování pro střediska
- Rozšířené kódy účtování
- Kódy účtování zdravotních pojišťoven
- Banky
- Kalendáře
- Úvod
- Plánovací kalendář
- Týdenní rozvrhy
- Cyklické rozvrhy
- Měsíční rozvrhy
- Individuální kalendář
- Konta pracovní doby
- Ostatní
Individuální plánovací kalendář se zadává zaměstnanci v agendě Pracovní poměr tím, že se do pole „typ kalendáře“ zvolí hodnota „9 – Individuální kalendář“. Poté se v poli Rozvrh zpřístupní tlačítko „Rozpis dnů“.
Rozpis dnů se zadává jen pro aktuální období (v následujícím období musíte opět definovat směny). Pomůckou je předvyplnění rozpisu dnů podle vybraného cyklického kalendáře – následně provedete již jen korekce od cyklického kalendáře.
Data o zaměstnancích a čísle jejich individuálních kalendářů jsou uložena v tabulce indiv_kal. Data o směnách se ukládají do tabulky indiv_kal_dny (cis_rozvrhu, kal_den, smena, pocet_hodin, zac_sm). Sloupec „cis_rozvrhu“ se plní automaticky – čísluje se od 1 v pořadí dle zadaného rozvrhu ten daný měsíc. Toto číslo se pak ukládá v tabulce odpovídající agendě pracovního poměru (prac_pom).
Nástup zaměstnance v průběhu měsíce
Aby se správně počítala odpracovaná doba u zaměstnanců, kteří nastoupili v průběhu měsíce, je potřeba zadat individuální kalendář vždy na celý kalendářní měsíc. V případě zadání pracovních směn až od data nástupu systém bere naplánovaný počet hodin jako celkovou hodnotu připadající na kalendářní měsíc a nedojde k pokrácení mzdy.
Svátek
Náhrada za svátek se u individuálního kalendáře standardně negeneruje. Pokud je kód pro náhradu za svátek (např. 531) importován např. z docházky, pak je zahrnut i do mzdy/platu.
Kontrola individuálních kalendářů a kont pracovní doby V Měsíční uzávěrce byly provedeny tyto menší změny v kontrole naplnění individuálních kalendářů a Kont pracovní doby (typy kalendáře 8 a 9) v pracovních poměrech:
- Vyplnění kalendáře již není kontrolováno u vystoupivších zaměstnanců. Doposud bylo nutno v takovém případě převést zaměstnance na běžný kalendář.
- Informační hláška o nevyplněném kalendáři byla doplněna o informaci o osobním čísle a čísle poměru zaměstnance, kde je tento použit.
Sestavy
Kontrola_odprac._doby_indiv._kal.
Informix
select indiv_kal.cis_rozvrhu, indiv_kal.os_cislo, cislo_pom, prijmeni, jmeno, titul, (select count(*) from indiv_kal_dny b where indiv_kal.cis_rozvrhu = b.cis_rozvrhu and (pocet_hodin is not null and pocet_hodin <> 0) and b.kal_den >= '01.01.2012' and b.kal_den <= '31.12.2012') as poc,
(select sum (pocet_hodin) from indiv_kal_dny c where indiv_kal.cis_rozvrhu = c.cis_rozvrhu and c.kal_den >= '01.01.2012' and c.kal_den <= '31.12.2012') as sum_hodin,
(select sum (pocet_hodin) from indiv_kal_dny c where indiv_kal.cis_rozvrhu = c.cis_rozvrhu and c.kal_den >= '01.01.2012' and c.kal_den <= '31.12.2012')/(select count(*) from indiv_kal_dny b where indiv_kal.cis_rozvrhu = b.cis_rozvrhu and (pocet_hodin is not null and pocet_hodin <> 0) and b.kal_den >= '01.01.2012' and b.kal_den <= '31.12.2012') as prumer
from indiv_kal, pracovnici where indiv_kal.os_cislo = pracovnici.os_cislo
MS SQL
select indiv_kal.cis_rozvrhu, indiv_kal.os_cislo, cislo_pom, prijmeni, jmeno, titul, (select count(*) from indiv_kal_dny b where indiv_kal.cis_rozvrhu = b.cis_rozvrhu and (pocet_hodin is not null and pocet_hodin <> 0) and b.kal_den >= '2012-01-01' and b.kal_den <= '2012-12-31') as poc,
(select sum (pocet_hodin) from indiv_kal_dny c where indiv_kal.cis_rozvrhu = c.cis_rozvrhu and c.kal_den >= '2012-01-01' and c.kal_den <= '2012-12-31') as sum_hodin,
(select sum (pocet_hodin) from indiv_kal_dny c where indiv_kal.cis_rozvrhu = c.cis_rozvrhu and c.kal_den >= '2012-01-01' and c.kal_den <= '2012-12-31')/(select count(*) from indiv_kal_dny b where indiv_kal.cis_rozvrhu = b.cis_rozvrhu and (pocet_hodin is not null and pocet_hodin <> 0) and b.kal_den >= '2012-01-01' and b.kal_den <= '2012-12-31') as prumer from indiv_kal, pracovnici where indiv_kal.os_cislo = pracovnici.os_cislo
Automatický import dat do individuálního kalendáře
Lze provádět i import dat do individuálního kalendáře. Import je prováděn v rámci importu dat z docházkového systému. Předtím je potřeba nastavit rozšiřující parametr dch_kod_pfondu (sk.9) – zadá se číslo, pod kterým bude identifikován tento individuální kalendář v položce „kód mzdové položky“.
Data importovaná z docházkového systému obsahují:
- osobní číslo
- Kód mzdové položky – číslo dle parametru výše
- Datum od – tímto je identifikován den
- Hodiny – počet pracovních hodin dne
Je možno importovat i data za celý rok jednorázově (dopředu, na začátku roku), a pak v konkrétním měsíci importovat data pouze daného měsíce. Tím dojde k přepsání původních dat (jednoho měsíce).
Další poznámky:
- Přenos dat za minulá období je možný (ale striktně jej nedoporučujeme), systém na toto upozorní.
- Nově importované hodnoty přepisují staré.
- Tzn. například pokud přenos obsahuje den, na který již byla dříve vyplněna směna, nová hodnota přepíše starou.
- Včetně případu, kdy původně byla na tento den plánována směna, ale nyní již není plánována (datum není obsažen v datech). Postup je takový, že systém zjistí z nového přenosu rozsah období od - do (minimální datum a maximální datum), a původní data z tohoto období od-do vymaže a následně nahraje data nová.
- Jestliže je zapnuto načítání dávek, a uživatel před importem zadá číslo již existující dávky, dojde k promazání dat (dle předchozího bodu) všech zaměstnanců dotyčné dávky. Seznam dávek je uveden v okně při načítání dat z docházkového systému. Pokud je dávek více, je vhodné si je nechat vypsat následujícím SQL příkazem (menu:Systém/SQL prompt, vložit příkaz a stisknout "Provést"): select distinct davka from indiv_kal order by davka;
