Pom25: Porovnání verzí
Z Prirucky
| Řádek 26: | Řádek 26: | ||
[[Image: Pomery-projekty-mzdove-polozky-prirazeni-sestava-sql-priklad-filtru.png|370px]] | [[Image: Pomery-projekty-mzdove-polozky-prirazeni-sestava-sql-priklad-filtru.png|370px]] | ||
== Kontrola na 100% == | |||
Kontrolní příkaz pro zjištění, zda součet procent u zaměstnance a daného kódu dává 100%. V příkazu je potřeba změnit období dle potřeby. | |||
[[Image: Pomery-projekty-mzdove-polozky-kontrola-na-sto-procent.png|150px]] | |||
<small> | |||
select os_cislo, cislo_pom, kod, sum(procento) from projekty_pomery | |||
where (obdobi_do is null or obdobi_do > '2017-03-31') | |||
group by os_cislo, cislo_pom, kod | |||
order by sum(procento) asc | |||
</small> | |||
== Záznamy pravděpodobně nebylo potřeba měnit == | |||
Sestava zobrazující záznamy se shodnými hodnotami - zaměstnanec - číslo poměru - projekt - kód - procento. | |||
[[Image: Pomery-projekty-mzdove-polozky-zaznamy-pravdepodobne-nebylo-potreba-menit.png|450px]] | |||
<small> | |||
select A.os_cislo, A.prijmeni, A.jmeno, B.cislo_pom, B.druh_pom_j, B.datum_nastupu, B.datum_ukonc, | |||
P.projekt, P.kod, P.procento, P.obdobi_od, P.obdobi_do | |||
from pracovnici A, prac_pom B, projekty_pomery P | |||
where A.os_cislo = B.os_cislo and | |||
B.os_cislo = P.os_cislo and | |||
B.cislo_pom = P.cislo_pom and | |||
(ltrim(rtrim(cast(P.os_cislo as char))) | |||
+ ltrim(rtrim(cast(P.cislo_pom as char))) | |||
+ ltrim(rtrim(cast(P.projekt as char))) | |||
+ ltrim(rtrim(cast(P.kod as char))) | |||
+ ltrim(rtrim(cast(P.procento as char))) | |||
) in | |||
( | |||
select | |||
ltrim(rtrim(cast(PP.os_cislo as char))) | |||
+ ltrim(rtrim(cast(PP.cislo_pom as char))) | |||
+ ltrim(rtrim(cast(PP.projekt as char))) | |||
+ ltrim(rtrim(cast(PP.kod as char))) | |||
+ ltrim(rtrim(cast(PP.procento as char))) | |||
from projekty_pomery PP | |||
group by PP.os_cislo, PP.cislo_pom, PP.projekt, PP.kod, PP.procento | |||
having count(*) > 1 | |||
) | |||
order by A.os_cislo, B.cislo_pom, P.projekt, P.kod, P.obdobi_od | |||
</small> | |||
== Odkazy == | == Odkazy == | ||
* [[Rozpad hodnot mzdové položky na projekty dle procent]] | * [[Rozpad hodnot mzdové položky na projekty dle procent]] | ||
Verze z 21. 4. 2017, 14:26
Rozpad hodnot mzdové položky na projekty dle procent (sestavy) - kontrolní sestavy pro zákaznickou úpravu:
Přehled přiřazení
Sestava pro Generátor sestav II. Zobrazuje jen zaměstnance, kteří mají nějaký záznam v agendě (nikoliv všechny zaměstnance).
select A.os_cislo, A.prijmeni, A.jmeno, B.cislo_pom, B.druh_pom_j, P.projekt, STRED.nazev, P.kod, C.vyznam, P.procento, P.obdobi_od, P.obdobi_do from pracovnici A, prac_pom B, projekty_pomery P, stred STRED, ciselnik C where A.os_cislo = B.os_cislo and B.os_cislo = P.os_cislo and B.cislo_pom = P.cislo_pom and P.projekt = STRED.str and P.kod = C.kod order by A.os_cislo, B.cislo_pom, P.kod, P.projekt
Příklad filtru nad touto sestavou (jen aktivní zaměstnanci a jen "aktivní" záznamy)
Kontrola na 100%
Kontrolní příkaz pro zjištění, zda součet procent u zaměstnance a daného kódu dává 100%. V příkazu je potřeba změnit období dle potřeby.
select os_cislo, cislo_pom, kod, sum(procento) from projekty_pomery where (obdobi_do is null or obdobi_do > '2017-03-31') group by os_cislo, cislo_pom, kod order by sum(procento) asc
Záznamy pravděpodobně nebylo potřeba měnit
Sestava zobrazující záznamy se shodnými hodnotami - zaměstnanec - číslo poměru - projekt - kód - procento.
select A.os_cislo, A.prijmeni, A.jmeno, B.cislo_pom, B.druh_pom_j, B.datum_nastupu, B.datum_ukonc, P.projekt, P.kod, P.procento, P.obdobi_od, P.obdobi_do from pracovnici A, prac_pom B, projekty_pomery P where A.os_cislo = B.os_cislo and B.os_cislo = P.os_cislo and B.cislo_pom = P.cislo_pom and (ltrim(rtrim(cast(P.os_cislo as char))) + ltrim(rtrim(cast(P.cislo_pom as char))) + ltrim(rtrim(cast(P.projekt as char))) + ltrim(rtrim(cast(P.kod as char))) + ltrim(rtrim(cast(P.procento as char))) ) in ( select ltrim(rtrim(cast(PP.os_cislo as char))) + ltrim(rtrim(cast(PP.cislo_pom as char))) + ltrim(rtrim(cast(PP.projekt as char))) + ltrim(rtrim(cast(PP.kod as char))) + ltrim(rtrim(cast(PP.procento as char))) from projekty_pomery PP group by PP.os_cislo, PP.cislo_pom, PP.projekt, PP.kod, PP.procento having count(*) > 1 ) order by A.os_cislo, B.cislo_pom, P.projekt, P.kod, P.obdobi_od