Pom17: Porovnání verzí
Z Prirucky
(Stránka vyprázdněna) |
|||
| Řádek 1: | Řádek 1: | ||
'''Rozdíly proti časovému fondu - historie''' (sestava) - je sestava určená pro [[Generátor sestav II]]. | |||
[[Image: Rozdily-proti-casovemu-fondu-historie.png|590px]] | |||
Jedná se pouze o informativní sestavu, která je částečným ekvivalentem sestavy [[Rozdíly proti časovému fondu]] s tím, že umožňuje také volbu historických období (zmíněná t.č. pouze aktuální období). | |||
Rozdíly/nepřesnosti: | |||
* Sestava '''zobrazuje jen hlavní pracovní poměry''' (druh pracovního poměru = 1). | |||
* Sestava '''nemusí uvádět správné výsledky v případě některých kalendářů''' (běžný kalendář, zaměstnanec se zkráceným úvazkem). <small>To souvisí s hodnotou v poli pom_mes.fond. </small> | |||
Sestava je určená '''''pro MS SQL'''''. '''''Pro Informix''''' je funkční v případě, že výraz (funkce) '''''"isnull" je nahrazen výrazem (funkcí) "NVL"'''''. | |||
<small> | |||
select POM.os_cislo, PRAC.prijmeni, PRAC.jmeno, POM.cislo_pom, POM.druh_pom, | |||
POM.prac_str, POM.prac_kateg, POM.datum, | |||
POM.fond, | |||
( | |||
isnull ( | |||
(select sum (P.hodiny) from pichacky P where | |||
POM.os_cislo = P.os_cislo and POM.cislo_pom = P.cislo_pom and | |||
P.datum = POM.datum and | |||
((P.kod >= 111 and P.kod <= 169) or (P.kod >= 510 and P.kod <= 589) or (P.kod >= 800 and P.kod <= 899)) | |||
) | |||
, 0) | |||
- | |||
isnull ( | |||
(select sum (P2.hodiny) from pichacky P2 where | |||
POM.os_cislo = P2.os_cislo and POM.cislo_pom = P2.cislo_pom and | |||
P2.datum = POM.datum and | |||
((P2.kod >= 210 and P2.kod <= 215) or (P2.kod >= 2800 and P2.kod <= 2900)) | |||
) | |||
, 0) | |||
) as skutecnost, | |||
( | |||
POM.fond | |||
- | |||
( | |||
isnull ( | |||
(select sum (P.hodiny) from pichacky P where | |||
POM.os_cislo = P.os_cislo and POM.cislo_pom = P.cislo_pom and | |||
P.datum = POM.datum and | |||
((P.kod >= 111 and P.kod <= 169) or (P.kod >= 510 and P.kod <= 589) or (P.kod >= 800 and P.kod <= 899)) | |||
) | |||
, 0) | |||
- | |||
isnull ( | |||
(select sum (P2.hodiny) from pichacky P2 where | |||
POM.os_cislo = P2.os_cislo and POM.cislo_pom = P2.cislo_pom and | |||
P2.datum = POM.datum and | |||
((P2.kod >= 210 and P2.kod <= 215) or (P2.kod >= 2800 and P2.kod <= 2900)) | |||
) | |||
, 0) | |||
) | |||
) as rozdil | |||
from pom_mes POM, pracovnici PRAC | |||
where POM.os_cislo = PRAC.os_cislo and | |||
POM.druh_pom_j = 1 and | |||
POM.datum >= %DATUMOD% and POM.datum <= %DATUMDO% | |||
</small> | |||
== Odkazy == | |||
* [[Rozdíly proti časovému fondu]] | |||
Verze z 19. 10. 2016, 15:24
Rozdíly proti časovému fondu - historie (sestava) - je sestava určená pro Generátor sestav II.
Jedná se pouze o informativní sestavu, která je částečným ekvivalentem sestavy Rozdíly proti časovému fondu s tím, že umožňuje také volbu historických období (zmíněná t.č. pouze aktuální období).
Rozdíly/nepřesnosti:
- Sestava zobrazuje jen hlavní pracovní poměry (druh pracovního poměru = 1).
- Sestava nemusí uvádět správné výsledky v případě některých kalendářů (běžný kalendář, zaměstnanec se zkráceným úvazkem). To souvisí s hodnotou v poli pom_mes.fond.
Sestava je určená pro MS SQL. Pro Informix je funkční v případě, že výraz (funkce) "isnull" je nahrazen výrazem (funkcí) "NVL".
select POM.os_cislo, PRAC.prijmeni, PRAC.jmeno, POM.cislo_pom, POM.druh_pom, POM.prac_str, POM.prac_kateg, POM.datum, POM.fond, ( isnull ( (select sum (P.hodiny) from pichacky P where POM.os_cislo = P.os_cislo and POM.cislo_pom = P.cislo_pom and P.datum = POM.datum and ((P.kod >= 111 and P.kod <= 169) or (P.kod >= 510 and P.kod <= 589) or (P.kod >= 800 and P.kod <= 899)) ) , 0) - isnull ( (select sum (P2.hodiny) from pichacky P2 where POM.os_cislo = P2.os_cislo and POM.cislo_pom = P2.cislo_pom and P2.datum = POM.datum and ((P2.kod >= 210 and P2.kod <= 215) or (P2.kod >= 2800 and P2.kod <= 2900)) ) , 0) ) as skutecnost, ( POM.fond - ( isnull ( (select sum (P.hodiny) from pichacky P where POM.os_cislo = P.os_cislo and POM.cislo_pom = P.cislo_pom and P.datum = POM.datum and ((P.kod >= 111 and P.kod <= 169) or (P.kod >= 510 and P.kod <= 589) or (P.kod >= 800 and P.kod <= 899)) ) , 0) - isnull ( (select sum (P2.hodiny) from pichacky P2 where POM.os_cislo = P2.os_cislo and POM.cislo_pom = P2.cislo_pom and P2.datum = POM.datum and ((P2.kod >= 210 and P2.kod <= 215) or (P2.kod >= 2800 and P2.kod <= 2900)) ) , 0) ) ) as rozdil from pom_mes POM, pracovnici PRAC where POM.os_cislo = PRAC.os_cislo and POM.druh_pom_j = 1 and POM.datum >= %DATUMOD% and POM.datum <= %DATUMDO%