Kontroly (Pořizování směn)
Průměr pro p.p.účely výrazně odlišný od minulého kvartálu
Zaměstnanci s s rozdílem aktuálního průměru pro p.p.účely a průměru minulého měsíce větším než stanovená hranice (20 Kč).
V této sestavě aplikovat filtr (možno uložit):
(prum_dov - min_prum_dov) > 20 or (prum_dov - min_prum_dov) < -20
Z pořízených směn
select A.os_cislo, A.prijmeni, A.jmeno, B.cislo_pom, B.datum_nastupu, B.datum_ukonc, ' ', C.id, C.id_smen_pol, D.smena, D.popis, C.dny, C.hodiny, C.castka, C.den, C.id_vazby, ' ', H.typ, H.id_pracmist, J.cis_pracmist, J.naz_pracmist, H.str, H.id_zak, ' ', G.cislo, G.nazev, ' ', H.id_profese, K.cis_pracmist as cis_prof, K.naz_pracmist as nazev_prof, H.typ_mzdy, H.mzd_stup, H.tarif, H.id_prem, ' ', F.stupen, F.kod_prem, F.sazba, F.kraceni, ' ', H.pozn, H.dat_od, H.dat_do, H.aut_gen, H.pripl_sone, H.pripl_svat from pracovnici A, prac_pom B, smenovnice C, smen_kody D, smen_mzd_pol E, prof_vazba H, prac_mist J, prac_mist K, cis_premie F right outer join prof_vazba HH on F.id = HH.id_prem, cis_zakazky G right outer join prof_vazba HHH on G.id = HHH.id_zak where A.os_cislo = B.os_cislo and B.os_cislo = C.os_cislo and B.os_cislo = H.os_cislo and B.cislo_pom = C.cislo_pom and B.cislo_pom = H.cislo_pom and C.id_smen_pol = E.id and D.id = E.id_smeny and C.id_vazby = H.id and B.id_pracmist = J.id_pracmist and H.id_profese = K.id_pracmist and H.id = HH.id and H.id = HHH.id and C.den >= %DATUMOD% and C.den <= %DATUMDO% order by A.os_cislo, B.cislo_pom, C.den
Vychází se z dat pořízených v agendě Pořizování směn, tj. sestava nenačítá všechny zaměstnance, ale jen ty, kteří mají ve zvoleném období záznam v agendě Pořizování směn (db smenovnice).
Směny před nástupem nebo po ukončení (filtr)
den < datum_nastupu or den > datum_ukonc
Nesprávný počet hodin u dovolené (filtr)
Jsou vyjmenovány hodnoty, které se mohou vyskytovat.
smena = 'D' and hodiny not in (7.50, 8.00, 11.00)
Počty použitých vazeb
Uvádí všechny vazby z agendy Profese-vazby a k nim udává počet výskytů za uživatelem vybrané období. Může sloužit jako kontrola toho, zda některé vazby již nejsou zastaralé (nepoužívají se).
select H.id, H.os_cislo, A.prijmeni, A.jmeno, B.datum_nastupu, B.datum_ukonc, H.cislo_pom, H.typ, (select count(*) from smenovnice C where C.id_vazby = H.id and C.den >= %DATUMOD% and C.den <= %DATUMDO%) as počet from prof_vazba H, pracovnici A, prac_pom B where H.os_cislo = A.os_cislo and H.os_cislo = B.os_cislo and H.cislo_pom = B.cislo_pom order by os_cislo, typ
Pořízené hodiny na přidělených profesích
Načítají se profese, které má zaměstnanec přidělen v agendě Profese-vazby, a ke každé takové profesi použité v agendě Pořizování směn se určí součet hodin (za všechny docházkové kódy).
Slouží jako kontrola počtu "odpracovaných" hodin zaměstnance na přidělených profesích.
select H.os_cislo, A.prijmeni, A.jmeno, H.cislo_pom, H.id_profese, J.cis_pracmist as cis_prof, J.naz_pracmist as naz_prof, sum(C.hodiny) as hod_poriz_smen from prof_vazba H left outer join smenovnice C on H.id = C.id_vazby, pracovnici A, prac_mist J where H.os_cislo = A.os_cislo and H.id_profese = J.id_pracmist and C.den >= %DATUMOD% and C.den <= %DATUMDO% group by H.os_cislo, A.prijmeni, A.jmeno, H.cislo_pom, H.id_profese, J.cis_pracmist, J.naz_pracmist order by H.os_cislo, H.cislo_pom, H.id_profese
Více kmenových vazeb k pracovnímu poměru
Chyba může vzniknout např. v důsledku chybného prvotního importu dat.
select os_cislo, cislo_pom, typ, count(*) from prof_vazba where typ = 'k' and (dat_od is null or dat_od <= (select min(datum_prvni) from par_map)) and (dat_do is null or dat_do >= (select min(datum_prvni) from par_map)) group by os_cislo, cislo_pom, typ having count(*) > 1
Rozdíly tarifu mezi pracovním poměrem a profese-vazba
select A.os_cislo, A.prijmeni, A.jmeno, B.cislo_pom, F.mzd_stup, F.typ_mzdy, B.tarif as tarif_pp, F.tarif as tarif_vazba, (B.tarif - F.tarif) as rozdil, F.typ, F.dat_od, F.dat_do from pracovnici A, prac_pom B right outer join prof_vazba F on B.os_cislo = F.os_cislo and B.cislo_pom = F.cislo_pom where A.os_cislo = B.os_cislo and F.typ = 'k' and (F.dat_od is null or F.dat_od <= (select datum_prvni from par_map where id_podniku = A.id_podniku)) and (F.dat_do is null or F.dat_do >= (select datum_prvni from par_map where id_podniku = A.id_podniku)) and (B.tarif - F.tarif) <>0 order by A.os_cislo
Nevyplněné zakázky pro účetnictví
select pracovnici.os_cislo, prijmeni, jmeno, pichacky.cislo_pom, pichacky.prac_str, kod, c_dokladu, pichacky.dat_od, pichacky.dat_do, dny, hodiny, sazba, castka, prizn_aut, pichacky.prac_kateg, datum, pichacky.id_podniku, typ_vazby2, id_vazby2, typ_vazby, id_vazby, prof_vazba.id_zak, prac_pom.rez_zakazka
from pracovnici, prac_pom, pichacky left outer join prof_vazba on prof_vazba.os_cislo = pichacky.os_cislo and prof_vazba.cislo_pom = pichacky.cislo_pom and prof_vazba.typ = 'k'and (prof_vazba.dat_do is null or prof_vazba.dat_do >= '2015-01-01') where pracovnici.os_cislo = pichacky.os_cislo and pichacky.os_cislo = prac_pom.os_cislo and pichacky.cislo_pom = prac_pom.cislo_pom and id_vazby is null and id_vazby2 is null and prof_vazba.id_zak is null and prac_pom.rez_zakazka is null and kod < 900 and pichacky.datum = '2015-01-01' order by os_cislo, cislo_pom
V příkazu je použito konkrétní období '2015-01-01', pokud bude nahrazeno %DATUMOD%, může být použito pro Generátor sestav II. Kontrolují se 4 úrovně: id_vazby2, pak id_vazby, pak kmenový záznam v agendě "Profese-vazba", nakonec režijní zakázka v agendě Pracovní poměr.
Kontroly existence
select os_cislo, cislo_pom, kod, id_vazby, datum from pichacky A where id_vazby is not null and id_vazby not in (select id_vazby from prof_vazba B where B.os_cislo = A.os_cislo and B.cislo_pom = A.cislo_pom and (B.dat_od is null or B.dat_od <= A.datum) and (B.dat_do is null or B.dat_do >= A.datum));
select id, os_cislo, cislo_pom, id_vazby, id_smen_pol, hodiny, den from smenovnice A where id_vazby not in (select id_vazby from prof_vazba B where B.os_cislo = A.os_cislo and B.cislo_pom = A.cislo_pom and (B.dat_od is null or B.dat_od <= A.den) and (B.dat_do is null or B.dat_do >= A.den));
- Uváděná vazba v agendě Zpracování brutto (pichacky) buď neexistuje v agendě Profese-vazba, nebo není platná (datum od, datum do).
- Uváděná vazba v agendě Pořizování směn (smenovnice) buď neexistuje v agendě Profese-vazba, nebo není platná (datum od, datum do).