Vybrané položky zaměstnanců za čtvrtletí po měsících (sestava)
Z Prirucky
Vybrané položky zaměstnanců za čtvrtletí po měsících je sestava pro Generátor sestav II.
Požadavek
Pro určitý účel (dohadné položky na bonusy) je potřeba vyhodnotit údaje za čtvrtletí, kdy určité položky (tarif, fond pracovní doby, OČR a nemoc, aj.) je žádoucí zobrazit za každý měsíc samostatně.
(hd 66528)
Definice
- Sestava načte první období určené uživatelem v poli Od. V sestavě zobrazí u vybraných položek data za toto období (měsíc) a dále za měsíc následující (+1) a další následující (+2). Všechna období musí být v rámci 1 kalendářního roku.
- Takto se zjišťuje: výše tarifu a fond pracovní doby (v hodinách).
- V příkladu níže:
- jsou použity dva uživatelské pojmy, které byly založeny v číselníku Pojmy (číselník). Uživatel určuje jejich název (prefix je pevně dán systémem), zde: UŽIV:Dohad_pol_1, UŽIV:Dohad_pol_2. Do těchto pojmů uživatel zatrhne ty mzdové položky, které se mají v součtu zahrnovat. V příkladu se pak načítají "hodiny" ze zpracovaných mezd, obdobně by mohly být načítány "dny" nebo "částka".
select A.os_cislo, A.prijmeni, A.jmeno, B.cislo_pom, B.druh_pom_j, B.prac_str, B.prac_kateg, (select tarif from pom_mes PM where PM.os_cislo = B.os_cislo and PM.cislo_pom = B.cislo_pom and year(PM.datum) = year(%DATUMOD%) and month(PM.datum) = month(%DATUMOD%)) as tar_1, (select tarif from pom_mes PM where PM.os_cislo = B.os_cislo and PM.cislo_pom = B.cislo_pom and year(PM.datum) = year(%DATUMOD%) and month(PM.datum) = 1+month(%DATUMOD%)) as tar_2, (select tarif from pom_mes PM where PM.os_cislo = B.os_cislo and PM.cislo_pom = B.cislo_pom and year(PM.datum) = year(%DATUMOD%) and month(PM.datum) = 2+month(%DATUMOD%)) as tar_3, (select fond from pom_mes PM where PM.os_cislo = B.os_cislo and PM.cislo_pom = B.cislo_pom and year(PM.datum) = year(%DATUMOD%) and month(PM.datum) = month(%DATUMOD%)) as fond_1, (select fond from pom_mes PM where PM.os_cislo = B.os_cislo and PM.cislo_pom = B.cislo_pom and year(PM.datum) = year(%DATUMOD%) and month(PM.datum) = 1+month(%DATUMOD%)) as fond_2, (select fond from pom_mes PM where PM.os_cislo = B.os_cislo and PM.cislo_pom = B.cislo_pom and year(PM.datum) = year(%DATUMOD%) and month(PM.datum) = 2+month(%DATUMOD%)) as fond_3, (select sum(hodiny) from pichacky P where P.os_cislo = B.os_cislo and P.cislo_pom = B.cislo_pom and P.kod in (select kod from cis_pojmy where nazev = 'UŽIV:Dohad_pol_1') and year(P.datum) = year(%DATUMOD%) and month(P.datum) = month(%DATUMOD%)) as pol1_1, (select sum(hodiny) from pichacky P where P.os_cislo = B.os_cislo and P.cislo_pom = B.cislo_pom and P.kod in (select kod from cis_pojmy where nazev = 'UŽIV:Dohad_pol_1') and year(P.datum) = year(%DATUMOD%) and month(P.datum) = 1+month(%DATUMOD%)) as pol1_2, (select sum(hodiny) from pichacky P where P.os_cislo = B.os_cislo and P.cislo_pom = B.cislo_pom and P.kod in (select kod from cis_pojmy where nazev = 'UŽIV:Dohad_pol_1') and year(P.datum) = year(%DATUMOD%) and month(P.datum) = 2+month(%DATUMOD%)) as pol1_3, (select sum(hodiny) from pichacky P where P.os_cislo = B.os_cislo and P.cislo_pom = B.cislo_pom and P.kod in (select kod from cis_pojmy where nazev = 'UŽIV:Dohad_pol_2') and year(P.datum) = year(%DATUMOD%) and month(P.datum) = month(%DATUMOD%)) as pol2_1, (select sum(hodiny) from pichacky P where P.os_cislo = B.os_cislo and P.cislo_pom = B.cislo_pom and P.kod in (select kod from cis_pojmy where nazev = 'UŽIV:Dohad_pol_2') and year(P.datum) = year(%DATUMOD%) and month(P.datum) = 1+month(%DATUMOD%)) as pol2_2, (select sum(hodiny) from pichacky P where P.os_cislo = B.os_cislo and P.cislo_pom = B.cislo_pom and P.kod in (select kod from cis_pojmy where nazev = 'UŽIV:Dohad_pol_2') and year(P.datum) = year(%DATUMOD%) and month(P.datum) = 2+month(%DATUMOD%)) as pol2_3 from pracovnici A, prac_pom B where A.os_cislo = B.os_cislo