A dolgozói idő elszámolási adatok rögzítésére szolgáló funkció. A funkció segítségével megadható, hogy egy kiválasztott dolgozó egy adott napon, melyik műveleten (munkalapon), milyen időtípusban, hány percet dolgozott.
Jogosultságkód: 282300 Help context: 282300
Forrás: Frm_IdoElszam

Tábla: HIdoEls
Fő adatok:
F1. ID float NOT NULL, – Idő elszámolási tétel azonosító PK
1-ről induló inkrementális sorszám.
Alap adatok:
A1. Datum datetime NOT NULL , – Dátum <A:Last>
A2. DolKod varchar (8) NOT NULL , – Dolgozó kód <A:Last>
A munkavégző dolgozó kódja. fk: ADolTor.DolKod
A kiválasztott dolgozó egyes törzsadatait megjeleníti a program a képernyőn.
ADolTor – Dolgozó törzs
A2. DolNev Dolgozó név
A4. DolBeo Beosztás
A6. SzeKod Szervezeti egység
ASzeTor.SzeNev Szervezeti egység név
A3. MuvAzo float NOT NULL , – Művelet azonosító <A:Last>
Munkalap művelet azonosítója, amelyen a munkavégzés zajlik. fk: HMunMuv.ID
A kiválasztott művelet és a művelethez tartozó munkalap egyes adatait a program megjeleníti a képernyőn.
KMunLap – Munkalap fej adatok:
F3. MlpAzo Munkalap azonosító Pl 12001234
I4. MlpMeg Munka megnevezés
T3. KezDatN Kezdés dátuma – Tény
T4. BefDatN Befejezés dátuma – Tény
HMunMuv – Munkalap műveleti adatok:
I2. MuvSor Művelet sorszám
X1. GyaMenX Gyártandó mennyiség
= KMunLap.Mennyi * HMunMuv.GyaMen
X2. GyMeEgyX Gyártási mennyiség egység
HGyaTor(HMunMuv.GyaAzo).MeeKod
K1. GyaAzo Művelet gyártmány azonosító
HGyaTor.GyaNev Művelet gyártmány megnevezés
I4. SzeKod Szervezeti egység (Üzem)
ASzeTor.SzeNev Szervezeti egység név
I6. SzaKod Szakma kód
HSzaTor.SzaKod Szakma név
I11. ElIdo Előkészületi idő [perc]
I12. DbIdo Darab idő [perc]
X3. TervIdoX Terv idő [perc]
= KMozFej.Mennyi * HMunMuv.GyaMen * HMunMuv.DbIdo – HMunMuv.ElIdo
X4. TenyIdoX Tény idő [perc]
= Sum(HIdoEls.TenyIdo) Where HIdoEls.MuvAzo = HMunMuv.Id
A kiválasztott műveletre eddig rögzített idő.
X5. TenTerAraX Tény / Terv idő arány [%]
= 100 * TenyIdoX / TervIdoX
Amennyiben az időarány meghaladja a rendszerparaméterként megadott értéket (SAzoAda.MunLapIdoAraWarn) akkor a program az arány adatot piros színnel jeleníti meg. Ha a tény idő nagyobb mint a terv idő, akkor az idő arány villogni fog, az adotok mentésekor pedig a program figyelmeztetést ad.
A3. IdTiKod varchar (5) NOT NULL , – Idő típus kód fk: HIdTiTor.IdTiKod
Input adatok:
I1. TenyIdo float NOT NULL , – Tény idő <A:0>
Ledolgozott idő [perc] 0D
I2. VeszIdo float NULL , – Veszélyes idő <A:0>
Veszélyes helyen dolgozott idő (a tény időből). [perc] 0D
I3. IdoKer float NULL , – Időkeretes idő <A:0>
Időkeretben ledolgozott idő (a tény időből). [perc] 0D
I4. Megjeg varchar (40) NULL , – Megjegyzés
Napló adatok:
N1. Opekod varchar (20) NOT NULL , – Rögzítés napló adatok
N2. Terkod varchar (20) NOT NULL , – Terminál kód
N3. Rogdat datetime NOT NULL , – Rögzítés dátuma
Ellenőrzések az idő-elszámolási adatok mentése során
1. A művelet rajzszáma megfelelő állapotban van [Folyamatban, Kész, Ellenőrizve]
HMunMuv.IdCs -> HMunCsa.Id -> HMunCsa.AllKod In [’1’,’2’,’3’]
2. Műveletes időtípus ellenőrzés
A. HIdTiTor(IdTiKod).MuvTip = ’I’ And MuvAzo = 0
Message: Az időtípushoz műveletet kell megadni!
B. HIdTiTor(IdTiKod).MuvTip = ’’ And MuvAzo <> 0
Message: Az időtípushoz nem szabad műveletet megadni!
3. Munkaidő ellenőrzés
Ledolgozando := usunis.Ledolgozando(HIdoEls.Datum,HIdoEls.DolKod)
Ledolgozandó idő:
1. Dolgozói munkaidő definíció HDolMun
2. Munkanap áthelyezés HNapAth
3. Napi törzsidő SAzoAda
Elsőként a program azt vizsgálja meg, hogy a dolgozónak van-e az adott napra definiált egyéni ledolgozandó ideje. Ha van, akkor az a ledolgozandó idő. Ha nincs dolgozói definiált idő, akkor azt nézi meg a program, hogy van-e az adott napra vonatkozó munkanap áthelyezés. Ha van munkanap áthelyezés, akkor az áthelyezett napra vonatkozó törzsidő az érvényes, ha nincs akkor a normál napi törzsidő.
Ledolgozott := usunis.Ledolgozott(HIdoEls.Datum,HIdoEls.DolKod,HIdoEls.ID)
A dolgozó adott napon ledolgozott törzsidőbe tartozó ideje.
Ha Ledolgozott > Ledolgozando
Then Message: A ledolgozott idő nem haladhatja meg a napi ledolgozandó időt!
4 Napi összes idő ellenőrzés
Sum(TenyIdo) > SA.NapTorIdo_Day + SA.NapPluIdo
where Datum = DatumX and DolKod = DolKodX
Message: Az összes idő nem haladhatja meg a napi összes idő maximumot!
5 Heti összes idő ellenőrzés
Sum(TenyIdo) > SA.HetOszIdo
where Datum >= DatumX.HetKezd and Datum <= DatumX.HetVeg and DolKod = DolKodX
Message: A heti összes idő nem haladhatja meg a heti összes idő maximumot!
6. A művelet élő
HMunMuv.EloKod = ’I’
7. A munkalap élő
HMunMuv.MlpAzo -> KMunLap.MlpAzo -> KMunLap.EloKod = ’I’
8. A tény idő meghaladja a terv időt
TenyIdoX > TervIdoX Warning