Pomůcky - sestavy: Porovnání verzí

Z Prirucky
(Nová stránka: '''Sestavy''' Sestavy: Předpokládaný výdej za období - kontrolují se Přednastavená perioda ve dnech, resp. Perioda nároku ve dnech tak, jak je zadána v Popisu pracovního ...)
 
 
(Není zobrazeno 14 mezilehlých verzí od 2 dalších uživatelů.)
Řádek 1: Řádek 1:
'''Sestavy'''
'''Sestavy'''


Sestavy: Předpokládaný výdej za období - kontrolují se Přednastavená perioda ve dnech, resp. Perioda nároku ve dnech tak, jak je zadána v Popisu pracovního místa u dané pomůcky na pracovním místě.  
== Předpokládaný výdej za období ==
# Zaměstnanec musí mít nárok na pomůcku  ([[Pomůcky - velikosti zaměstnanců]]).
# Před zadaným ''datem od'' systém hledá poslední datum výdeje pomůcky. K nalezenému datu připočte periodu nároku na pomůcku (jednou, dvakrát, třikrát, atd.). <small> Kontroluje se přednastavená perioda ve dnech, resp. perioda nároku ve dnech tak, jak je zadána v Popisu pracovního místa u dané pomůcky na pracovním místě. </small> Pokud tento datum spadá do období definovaného uživatelem (datum od - datum do), je řádek zobrazen v sestavě.
# Pokud není nalezen výdej pomůcky <small>a přitom na mi zaměstnanec má nárok</small>, pak je řádek zobrazen v sestavě, navíc s indikací '''?''' ve sloupci ''rz''.
# Indikace '''x''' ve sloupci ''rz'' značí, že u pomůcky se definují velikosti, ale konkrétní zaměstnanec je nemá vyplněny.


[[Image: PIS-pracovni-pomucky-sestava-predpokladany-vydej.png|700px]]
[[Image: PIS-pracovni-pomucky-sestava-predpokladany-vydej.png|700px]]


Sestavy: Sestava výdejek za období.
* '''''jen označené''''' - sestava jen pro vybraného (vybrané) zaměstnance
* '''''členění'''''
** ''divize''
** ''pomůcka (součty za divize)''
** ''pomůcka (součty za sk.stř.)''
** ''pomůcka (součty za střed.)''
** ''skup.stř.''
** ''středisko''
** ''os. číslo'' [[Image: S-PM011-cleneni-os-cislo.png|70px]] <!-- HelpDesk ID:34542 - Tomáš V., 44 týden 2016 -->
** ''příjmení, jméno'' <!-- HelpDesk ID:34542 - Tomáš V., 44 týden 2016 -->


[[Image: PIS-pracovni-pomucky-sestava-vydej-za-obdobi.png|700px]]
== Sestava výdejek za období ==
[[Image: PIS-pracovni-pomucky-sestava-vydej-za-obdobi.png|300px|right]]


Možná členění sestavy:
Možná členění sestavy:
Řádek 15: Řádek 29:
* středisko; pomůcka
* středisko; pomůcka
* žádné (tj. po zaměstnancích)
* žádné (tj. po zaměstnancích)
Výběr středisek/skupin/divizí <br>
Vytváření sestavy lze také omezit jen na vybranou jednotku (vybrané jednotky), tj. střediska, skupiny středisek, divize.
== Sestava výdejek za období (rozšířená) ==
[[Image: PIS-pracovni-pomucky-sestava-vydej-za-obdobi-rozsirena.png|300px|right]]
V této sestavě lze zobrazit seznam vydaných pomůcek za zvolené
období včetně doplňkových informací:
* model
* značka
* výrobní číslo
* inventární číslo
* poznámka.
== Přehled za zaměstnance ==
Postup:
: na záložce ''Seznam'' vybrat požadovaného zaměstnance
: přepnout na tlačítko ''Sestava''
: zvolit jednu ze dvou výše uvedených sestav
: zatrhnout pole '''Jen označené'''
== Jsou vydané pomůcky nárokové? ==
V případě nastavení parametru je možno provádět i výdej pomůcek bez nároku. Následující sestava zobrazuje portfolio vydaných pomůcek u zaměstnance a ukazuje, zda je nároková, tj. zda je pomůcka v popisu aktuálního pracovního místa zaměstnance nebo zda je přidána v záložce ''zam.-velikosti'' jako individuální nárok zaměstnance.
[[Image: pracovni-pomucky-sestava-jsou-vydane-pomucky-narokove.png|400px]]
* cis_pomucky - číslo pomůcky, která byla někdy zaměstnanci vydána
* pomucka_ppm - pokud je v popisu pracovního místa, zobrazí se totéž číslo pomůcky
* pomucka_velzam - pokud je individuálně přidána jako nárok zaměstnanci, zobrazí se totéž číslo pomůcky
Pokud by všechny vydané pomůcky měly být nárokové, pak součet ve sloupci ''cis_pomucky'' by měl být roven součtu ze sloupců ''pomucka_ppm'' a ''pomucka_velzam'' (kontrolní součty možno provést např. po zkopírování v MS Excel).
Definice pro [[Generátor sestav II]]:
select A.os_cislo, A.cislo_pom, A.cis_pomucky,
(select C.hodnota from prac_mist_atrib C, prac_pom B where C.hodnota = A.cis_pomucky and C.cis_atributu = 67 and
C.id_pracmist = B.id_pracmist and B.os_cislo = A.os_cislo and B.cislo_pom = A.cislo_pom) as pomucka_ppm,
(select D.cis_pomucky from pomu_vel_zam D where D.cis_pomucky = A.cis_pomucky and
D.os_cislo = A.os_cislo and D.cislo_pom = A.cislo_pom and D.z_pm = 'n') as pomucka_velzam
from pomu_zam A
group by
A.os_cislo, A.cislo_pom, A.cis_pomucky
order by
A.os_cislo, A.cislo_pom, A.cis_pomucky;
== Nárokové pracovní pomůcky ==
Sestava určená pro [[Generátor sestav II]]. Čerpá informace o nárokových pracovních pomůckách
* z popisu pracovního místa
* z individuálních požadavků
Pozn. Z důvodu složitosti scriptu má sestava následující nedostatek. Sestava jako nárokovou označí i takovou pracovní pomůcku, která je v popisu pracovního místa, ale v pracovních pomůckách u vybraného zaměstnance byla označena (odtrhnuto) že pro něj není nárokovou. <small>id 29212 </small>
'''[[DB tabulky (Pracovní pomůcky)]]'''
<small>
select A.os_cislo,
A.prijmeni,
A.jmeno,
A.titul,
A.titul_za,
B.cislo_pom,
B.prac_str,
B.datum_nastupu,
B.datum_ukonc,
C.cis_pracmist,
C.naz_pracmist,
'ppm' as zdroj,
D1.hodnota as cis,
E.nazev,
cast (D2.hodnota as decimal (10,3)) as narok,
case
E.jednotka
when 1 then 'ks'
when 2 then 'pár'
end as jedn,
cast(D3.hodnota as smallint) as perioda,
(select hod_pol from pomu_cis_detail G1, pomu_vel_zam H1
where
G1.id_cis = H1.id_cis1 and
G1.id_pol = H1.id_pol1 and
H1.os_cislo = A.os_cislo and
H1.cislo_pom = B.cislo_pom and
H1.cis_pomucky = D1.hodnota) as vel1,
(select hod_pol from pomu_cis_detail G2, pomu_vel_zam H2
where
G2.id_cis = H2.id_cis2 and
G2.id_pol = H2.id_pol2 and
H2.os_cislo = A.os_cislo and
H2.cislo_pom = B.cislo_pom and
H2.cis_pomucky = D1.hodnota) as vel2,
(select max(dat_vyd) from pomu_zam V where
V.os_cislo = A.os_cislo and
V.cislo_pom = B.cislo_pom and
V.cis_pomucky = D1.hodnota and
V.dat_vrac is null and
V.prev_na_os_cislo is null and
V.dat_stor is null) as dat_posl_vyd,
cast (dateadd (day,
cast (D3.hodnota as smallint),
(select max(dat_vyd) from pomu_zam V where
V.os_cislo = A.os_cislo and
V.cislo_pom = B.cislo_pom and
V.cis_pomucky = D1.hodnota and
V.dat_vrac is null and
V.prev_na_os_cislo is null and
V.dat_stor is null)
)
as date)
as dat_nasl_vyd
from pracovnici A, prac_pom B, prac_mist C, prac_mist_atrib D1, prac_mist_atrib D2, prac_mist_atrib D3, pomu E
where A.os_cislo = B.os_cislo and
B.id_pracmist = C.id_pracmist and
D1.id_pracmist = B.id_pracmist and
D1.cis_atributu = 67 and
(D1.platnost_do is null or D1.platnost_do >= %DATUMOD%) and
D2.id_pracmist = B.id_pracmist and
D2.cis_atributu = 68 and
D2.id_provazani = D1.id and
D3.id_pracmist = B.id_pracmist and
D3.cis_atributu = 69 and
D3.id_provazani = D1.id and
D1.hodnota = E.cis_pomucky
union
select A.os_cislo,
A.prijmeni,
A.jmeno,
A.titul,
A.titul_za,
B.cislo_pom,
B.prac_str,
B.datum_nastupu,
B.datum_ukonc,
C.cis_pracmist,
C.naz_pracmist,
'indiv' as zdroj,
H.cis_pomucky,
E.nazev,
H.pocet as narok,
case
E.jednotka
when 1 then 'ks'
when 2 then 'pár'
end as jedn,
H.perioda as perioda,
(select hod_pol from pomu_cis_detail G1, pomu_vel_zam H1
where
G1.id_cis = H1.id_cis1 and
G1.id_pol = H1.id_pol1 and
H1.os_cislo = A.os_cislo and
H1.cislo_pom = B.cislo_pom and
H1.cis_pomucky = H.cis_pomucky) as vel1,
(select hod_pol from pomu_cis_detail G2, pomu_vel_zam H2
where
G2.id_cis = H2.id_cis2 and
G2.id_pol = H2.id_pol2 and
H2.os_cislo = A.os_cislo and
H2.cislo_pom = B.cislo_pom and
H2.cis_pomucky = H.cis_pomucky) as vel2,
(select max(dat_vyd) from pomu_zam V where
V.os_cislo = A.os_cislo and
V.cislo_pom = B.cislo_pom and
V.cis_pomucky = H.cis_pomucky and
V.dat_vrac is null and
V.prev_na_os_cislo is null and
V.dat_stor is null) as dat_posl_vyd,
cast (dateadd (day,
H.perioda,
(select max(dat_vyd) from pomu_zam V where
V.os_cislo = A.os_cislo and
V.cislo_pom = B.cislo_pom and
V.cis_pomucky = H.cis_pomucky and
V.dat_vrac is null and
V.prev_na_os_cislo is null and
V.dat_stor is null)
)
as date)
as dat_nasl_vyd
from pracovnici A, prac_pom B, prac_mist C, pomu E, pomu_vel_zam H
where A.os_cislo = B.os_cislo and
B.id_pracmist = C.id_pracmist and
H.os_cislo = A.os_cislo and
H.cislo_pom = B.cislo_pom and
H.pouzit = 'a' and
H.z_pm =  'n' and
H.cis_pomucky = E.cis_pomucky
order by A.os_cislo, B.cislo_pom
</small>
== Odkazy ==
* [[Pracovní pomůcky]]

Aktuální verze z 30. 11. 2016, 12:23

Sestavy

Předpokládaný výdej za období

  1. Zaměstnanec musí mít nárok na pomůcku (Pomůcky - velikosti zaměstnanců).
  2. Před zadaným datem od systém hledá poslední datum výdeje pomůcky. K nalezenému datu připočte periodu nároku na pomůcku (jednou, dvakrát, třikrát, atd.). Kontroluje se přednastavená perioda ve dnech, resp. perioda nároku ve dnech tak, jak je zadána v Popisu pracovního místa u dané pomůcky na pracovním místě. Pokud tento datum spadá do období definovaného uživatelem (datum od - datum do), je řádek zobrazen v sestavě.
  3. Pokud není nalezen výdej pomůcky a přitom na mi zaměstnanec má nárok, pak je řádek zobrazen v sestavě, navíc s indikací ? ve sloupci rz.
  4. Indikace x ve sloupci rz značí, že u pomůcky se definují velikosti, ale konkrétní zaměstnanec je nemá vyplněny.

PIS-pracovni-pomucky-sestava-predpokladany-vydej.png

  • jen označené - sestava jen pro vybraného (vybrané) zaměstnance
  • členění
    • divize
    • pomůcka (součty za divize)
    • pomůcka (součty za sk.stř.)
    • pomůcka (součty za střed.)
    • skup.stř.
    • středisko
    • os. číslo S-PM011-cleneni-os-cislo.png
    • příjmení, jméno

Sestava výdejek za období

PIS-pracovni-pomucky-sestava-vydej-za-obdobi.png

Možná členění sestavy:

  • pomůcka
  • pomůcka; středisko
  • středisko
  • středisko; pomůcka
  • žádné (tj. po zaměstnancích)

Výběr středisek/skupin/divizí
Vytváření sestavy lze také omezit jen na vybranou jednotku (vybrané jednotky), tj. střediska, skupiny středisek, divize.

Sestava výdejek za období (rozšířená)

PIS-pracovni-pomucky-sestava-vydej-za-obdobi-rozsirena.png

V této sestavě lze zobrazit seznam vydaných pomůcek za zvolené období včetně doplňkových informací:

  • model
  • značka
  • výrobní číslo
  • inventární číslo
  • poznámka.

Přehled za zaměstnance

Postup:

na záložce Seznam vybrat požadovaného zaměstnance
přepnout na tlačítko Sestava
zvolit jednu ze dvou výše uvedených sestav
zatrhnout pole Jen označené

Jsou vydané pomůcky nárokové?

V případě nastavení parametru je možno provádět i výdej pomůcek bez nároku. Následující sestava zobrazuje portfolio vydaných pomůcek u zaměstnance a ukazuje, zda je nároková, tj. zda je pomůcka v popisu aktuálního pracovního místa zaměstnance nebo zda je přidána v záložce zam.-velikosti jako individuální nárok zaměstnance.

Pracovni-pomucky-sestava-jsou-vydane-pomucky-narokove.png

  • cis_pomucky - číslo pomůcky, která byla někdy zaměstnanci vydána
  • pomucka_ppm - pokud je v popisu pracovního místa, zobrazí se totéž číslo pomůcky
  • pomucka_velzam - pokud je individuálně přidána jako nárok zaměstnanci, zobrazí se totéž číslo pomůcky

Pokud by všechny vydané pomůcky měly být nárokové, pak součet ve sloupci cis_pomucky by měl být roven součtu ze sloupců pomucka_ppm a pomucka_velzam (kontrolní součty možno provést např. po zkopírování v MS Excel).

Definice pro Generátor sestav II:

select A.os_cislo, A.cislo_pom, A.cis_pomucky,
(select C.hodnota from prac_mist_atrib C, prac_pom B where C.hodnota = A.cis_pomucky and C.cis_atributu = 67 and
C.id_pracmist = B.id_pracmist and B.os_cislo = A.os_cislo and B.cislo_pom = A.cislo_pom) as pomucka_ppm,

(select D.cis_pomucky from pomu_vel_zam D where D.cis_pomucky = A.cis_pomucky and
D.os_cislo = A.os_cislo and D.cislo_pom = A.cislo_pom and D.z_pm = 'n') as pomucka_velzam

from pomu_zam A
group by 
A.os_cislo, A.cislo_pom, A.cis_pomucky

order by
A.os_cislo, A.cislo_pom, A.cis_pomucky;

Nárokové pracovní pomůcky

Sestava určená pro Generátor sestav II. Čerpá informace o nárokových pracovních pomůckách

  • z popisu pracovního místa
  • z individuálních požadavků

Pozn. Z důvodu složitosti scriptu má sestava následující nedostatek. Sestava jako nárokovou označí i takovou pracovní pomůcku, která je v popisu pracovního místa, ale v pracovních pomůckách u vybraného zaměstnance byla označena (odtrhnuto) že pro něj není nárokovou. id 29212

DB tabulky (Pracovní pomůcky)

select A.os_cislo, A.prijmeni, A.jmeno, A.titul, A.titul_za,

B.cislo_pom, B.prac_str, B.datum_nastupu, B.datum_ukonc,

C.cis_pracmist, C.naz_pracmist,

'ppm' as zdroj,

D1.hodnota as cis, E.nazev, cast (D2.hodnota as decimal (10,3)) as narok,

case E.jednotka when 1 then 'ks' when 2 then 'pár' end as jedn,

cast(D3.hodnota as smallint) as perioda,

(select hod_pol from pomu_cis_detail G1, pomu_vel_zam H1 where G1.id_cis = H1.id_cis1 and G1.id_pol = H1.id_pol1 and H1.os_cislo = A.os_cislo and H1.cislo_pom = B.cislo_pom and H1.cis_pomucky = D1.hodnota) as vel1,

(select hod_pol from pomu_cis_detail G2, pomu_vel_zam H2 where G2.id_cis = H2.id_cis2 and G2.id_pol = H2.id_pol2 and H2.os_cislo = A.os_cislo and H2.cislo_pom = B.cislo_pom and H2.cis_pomucky = D1.hodnota) as vel2,

(select max(dat_vyd) from pomu_zam V where V.os_cislo = A.os_cislo and V.cislo_pom = B.cislo_pom and V.cis_pomucky = D1.hodnota and V.dat_vrac is null and V.prev_na_os_cislo is null and V.dat_stor is null) as dat_posl_vyd,

cast (dateadd (day, cast (D3.hodnota as smallint), (select max(dat_vyd) from pomu_zam V where V.os_cislo = A.os_cislo and V.cislo_pom = B.cislo_pom and V.cis_pomucky = D1.hodnota and V.dat_vrac is null and V.prev_na_os_cislo is null and V.dat_stor is null) ) as date) as dat_nasl_vyd

from pracovnici A, prac_pom B, prac_mist C, prac_mist_atrib D1, prac_mist_atrib D2, prac_mist_atrib D3, pomu E where A.os_cislo = B.os_cislo and B.id_pracmist = C.id_pracmist and

D1.id_pracmist = B.id_pracmist and D1.cis_atributu = 67 and (D1.platnost_do is null or D1.platnost_do >= %DATUMOD%) and

D2.id_pracmist = B.id_pracmist and D2.cis_atributu = 68 and D2.id_provazani = D1.id and

D3.id_pracmist = B.id_pracmist and D3.cis_atributu = 69 and D3.id_provazani = D1.id and

D1.hodnota = E.cis_pomucky


union


select A.os_cislo, A.prijmeni, A.jmeno, A.titul, A.titul_za,

B.cislo_pom, B.prac_str, B.datum_nastupu, B.datum_ukonc,

C.cis_pracmist, C.naz_pracmist,

'indiv' as zdroj,

H.cis_pomucky, E.nazev,

H.pocet as narok,

case E.jednotka when 1 then 'ks' when 2 then 'pár' end as jedn,

H.perioda as perioda,

(select hod_pol from pomu_cis_detail G1, pomu_vel_zam H1 where G1.id_cis = H1.id_cis1 and G1.id_pol = H1.id_pol1 and H1.os_cislo = A.os_cislo and H1.cislo_pom = B.cislo_pom and H1.cis_pomucky = H.cis_pomucky) as vel1,

(select hod_pol from pomu_cis_detail G2, pomu_vel_zam H2 where G2.id_cis = H2.id_cis2 and G2.id_pol = H2.id_pol2 and H2.os_cislo = A.os_cislo and H2.cislo_pom = B.cislo_pom and H2.cis_pomucky = H.cis_pomucky) as vel2,

(select max(dat_vyd) from pomu_zam V where V.os_cislo = A.os_cislo and V.cislo_pom = B.cislo_pom and V.cis_pomucky = H.cis_pomucky and V.dat_vrac is null and V.prev_na_os_cislo is null and V.dat_stor is null) as dat_posl_vyd,

cast (dateadd (day, H.perioda, (select max(dat_vyd) from pomu_zam V where V.os_cislo = A.os_cislo and V.cislo_pom = B.cislo_pom and V.cis_pomucky = H.cis_pomucky and V.dat_vrac is null and V.prev_na_os_cislo is null and V.dat_stor is null) ) as date) as dat_nasl_vyd

from pracovnici A, prac_pom B, prac_mist C, pomu E, pomu_vel_zam H where A.os_cislo = B.os_cislo and B.id_pracmist = C.id_pracmist and

H.os_cislo = A.os_cislo and H.cislo_pom = B.cislo_pom and H.pouzit = 'a' and H.z_pm = 'n' and H.cis_pomucky = E.cis_pomucky

order by A.os_cislo, B.cislo_pom

Odkazy