Pom19: Porovnání verzí
(Stránka vyprázdněna) |
|||
| Řádek 1: | Řádek 1: | ||
'''Počet zpracovaných osobních čísel''' je sestava určená pro [[Generátor sestav II]]. Využívá se například v případě [[víceIČ]] databází jako přehled o tom, kolik zaměstnanců prošlo zpracováním mezd v jednotlivých podnicích. | |||
== Počty osobních čísel == | |||
Období: to, které zadá uživatel v poli "datum od" <br> | |||
Vyhodnocení: počítají se ta osobní čísla, která prošla zpracováním mezd tak, že mají alespoň jednu položku v agendě [[Zpracování brutto]]. Pokud by měl jenom mzdovou položku 501, takový se nepočítá. <br> | |||
Určeno pro MS SQL | |||
<small> | |||
select osoby.id_podniku, <br> | |||
nazev, <br> | |||
count(distinct os_cislo) <br> | |||
from osoby, osoby_typ, pichacky <br> | |||
where osoby.id_osoby = osoby_typ.id_osoby <br> | |||
and osoby_typ.typ in ('sh', 'vl') <br> | |||
and osoby.id_podniku = pichacky.id_podniku <br> | |||
and datum = %DATUMOD% <br> | |||
and kod <> 501 <br> | |||
and pichacky.os_cislo <> 0 <br> | |||
group by osoby.id_podniku, nazev <br> | |||
order by osoby.id_podniku <br> | |||
</small> | |||
<!-- Dřívější definice - není funkční nad MS SQL, jenom nad Informix. Přepracoval P.Zbránek dne 1.10.2014. Vavíc ve spolupráci P.M. a Z.V. doplněna podmínka, že os_cislo <> 0, protože jinak výsledek byl chybný vždy o 1 navíc (v tab. pichacky jsou společné záznamy pro os_cislo = 0. | |||
<small> | |||
select id_podniku, <br> | |||
(select nazev from osoby where id_podniku = pichacky.id_podniku and id_osoby in (select id_osoby from osoby_typ where typ in ('vl', 'sh'))) as nazev, <br> | |||
count(distinct os_cislo) <br> | |||
from pichacky where datum = | |||
%DATUMOD% and kod <> 501 group by 1, 2 order by id_podniku; | |||
</small> | |||
--> | |||
== Počty osobních čísel i čísel poměrů == | |||
''Dotaz: Bylo by možné, aby kromě počtu zaměstnanců byl uveden i počet pracovních poměrů? Pokud by všichni zaměstnanci měli jeden pracovní poměr, tak by se počet zaměstnanců a počet pracovních poměrů shodoval. Ale pokud má někdo více pracovních poměrů, tak abychom i o tomto měli přehled.'' | |||
<!-- Žůrek: EKONA --> | |||
<small> | |||
select osoby.id_podniku, <br> | |||
nazev, <br> | |||
count(distinct os_cislo) as poc_os, <br> | |||
count(distinct (cast(os_cislo as char) + cast (cislo_pom as char))) as poc_os_pom <br> | |||
from osoby, osoby_typ, pichacky <br> | |||
where osoby.id_osoby = osoby_typ.id_osoby <br> | |||
and osoby_typ.typ in ('sh', 'vl') <br> | |||
and osoby.id_podniku = pichacky.id_podniku <br> | |||
and datum = %DATUMOD% <br> | |||
and kod <> 501 <br> | |||
and pichacky.os_cislo <> 0 <br> | |||
group by osoby.id_podniku, nazev | |||
order by osoby.id_podniku | |||
</small> | |||
== Odkazy == | |||
Verze z 15. 9. 2015, 10:43
Počet zpracovaných osobních čísel je sestava určená pro Generátor sestav II. Využívá se například v případě víceIČ databází jako přehled o tom, kolik zaměstnanců prošlo zpracováním mezd v jednotlivých podnicích.
Počty osobních čísel
Období: to, které zadá uživatel v poli "datum od"
Vyhodnocení: počítají se ta osobní čísla, která prošla zpracováním mezd tak, že mají alespoň jednu položku v agendě Zpracování brutto. Pokud by měl jenom mzdovou položku 501, takový se nepočítá.
Určeno pro MS SQL
select osoby.id_podniku,
nazev,
count(distinct os_cislo)
from osoby, osoby_typ, pichacky
where osoby.id_osoby = osoby_typ.id_osoby
and osoby_typ.typ in ('sh', 'vl')
and osoby.id_podniku = pichacky.id_podniku
and datum = %DATUMOD%
and kod <> 501
and pichacky.os_cislo <> 0
group by osoby.id_podniku, nazev
order by osoby.id_podniku
Počty osobních čísel i čísel poměrů
Dotaz: Bylo by možné, aby kromě počtu zaměstnanců byl uveden i počet pracovních poměrů? Pokud by všichni zaměstnanci měli jeden pracovní poměr, tak by se počet zaměstnanců a počet pracovních poměrů shodoval. Ale pokud má někdo více pracovních poměrů, tak abychom i o tomto měli přehled.
select osoby.id_podniku,
nazev,
count(distinct os_cislo) as poc_os,
count(distinct (cast(os_cislo as char) + cast (cislo_pom as char))) as poc_os_pom
from osoby, osoby_typ, pichacky
where osoby.id_osoby = osoby_typ.id_osoby
and osoby_typ.typ in ('sh', 'vl')
and osoby.id_podniku = pichacky.id_podniku
and datum = %DATUMOD%
and kod <> 501
and pichacky.os_cislo <> 0
group by osoby.id_podniku, nazev
order by osoby.id_podniku