Lavoro

lunedì 04 gennaio 2010 - 14.52

micky1079 Profilo | Newbie

Ciao ho impostato questi parametri ma ho problemi:
a1 inizio lavoro
b1 fine lavoro
c1 ore lavorate
d1 ore notturne
e1 straordinario diurno
f1 straordinario notturno
non riesco ha impostare la formula ke fa capire al foglio ke io lavoro 6 ore al giorno e ke le ore in più sono tutte straordinario ma di questo straordinario deve capire ke c'è quello diurno ke va dalle ore 06.0 alle ore 22.00 e quello notturno ke inizia alle 22.01 fino alle 05.59 , come fare?

enricovirg Profilo | Newbie

bè messo giù così...è un pochino arduo non ti pare ?
cmq
io avevo sviluppato un sw per gestione presenze,timbrature,etc. e la strada che avevo percorso era quella di creare dei "profili orari"
es.
Profilo 1 = dalle 08.00 alle 17.30
Profilo 2 = dalle 14.00 alle 22.00
Profilo 3 = dalle 22.00 alle 06.00
etc.

Poi avevo una tabella con le causali:
es.
ORD = ore ordinarie
STR30 = Straordinario al 30%
STR50 = Straordinario al 50%
ASS = Assenza
PER = Permesso
etc.etc.

Poi su ogni profilo applicavo le causali in base a dei "tipi calcolo"...
es.
Profilo 2 - causale: ORD - Tipo calcolo: dalle 14.00 alle 22.00
Profilo 2 - causale: STR - Tipo calcolo: dalle 22.00 alle ...
etc.etc.

Poi
Ad ogni dipendente associavo uno o più profili orari, a seconda dei giorni/turni.
Alla fine del mese in base alle timbrature e fatti gli opportuni ARROTONDAMENTI sugli orari andavo ad elaborare il tutto...

...detto così in 4 parole...




micky1079 Profilo | Newbie

Praticamente io lavoro 6 giorni la settimana e ogni giorno dovrei fare 6 ore di lavoro sia diurne ke notturne e spesso mi capita di fare straordinario ke viene calcolato ogni fine settimana cioè è come se ogni domenica venisse fatta una somma di tutte le ore straordinarie diurne e notturne arrotondate se superano i 30 minuti in 1ora e poi il risultato viene sommato a quelli delle altre tre settimane mensili insomma un casino............e come si fà?????

enricovirg Profilo | Newbie

E' solo questione di calcoli sulle ore... io tutto sto problema non lo vedo.

micky1079 Profilo | Newbie

Si ma non so come calcolarmi gli straordinari diurni e notturni.................

enricovirg Profilo | Newbie

come ti dicevo devi crearti delle regole...
se il tuo orario ORDINARIO arriva fino alle 17.00 e tu lavori fino alle 18.32
allora
1 devi modificare gli orari reali (timbrature) sulla base degli orrotondamenti decisi dall'azienda
quindi se facciamo finta che l'azienda arrotonda alla mezz ora allora 18.32 = 18.30
gli arrotondamenti possono essere:
per eccesso
per difetto
dipende dalla policy che adotta l'azienda...

2 e poi fare la differenza tra le 18.30 e 17.00 = 1.30 di straordinario

3 se non sai come fare i calcoli...be...lascia perdere tutto, l'informatica è una branca della matematica...

ciao.

za5h Profilo | Newbie

Spiegami meglio il tuo database, e cercherò di darti una mano.

micky1079 Profilo | Newbie

allora voglio creare un database ke mi controlla tutto quello ke faccio nel mio lavoro, quindi ho fatto una tabella dove indico il mio nominativo, la data di riferimento, ora inizio lavoro, ora fine lavoro, tipo di lavoro svolto, ore tot. lavorate, ore tot. straordinario lavorate, ore straord. diurne, ore straord. notturne, ma non sò come calcolarmi le ore di lavoro svolte durante il servio, straorniario e cosi via come ho scritto, e premeto ke lavoro normalmente 6 ore al giorno sia di giorno ke di notte e spesso faccio straordinario.
Come faccio a calcolarmi queste ore, le ore notturne vanno dalle 22.00 alle 05.59 le altre sono ore diurne...........aiuto grazie

za5h Profilo | Newbie

Ciao micky1079. Ok ma fammi degli esempi degli orari di lavoro, perche avrei bisogni di capire le tue esigenze. Supponiamo che lavori normalmente dalle 08.00-14.00 che sono ore diurne normali. Queste ore mettiamo che vengono pagate euro 6/ora. Se superi le 14.00 allora scatta lo straordinario diurno, che mettiamo costa euro 7/ora. Invece il notturno, le 6 ore iniziano dalle 22.00 alle 06.00 di mattina. Che diciamo viene pagato euro 9/ora. E se fai di + verrà considerato straordinario, ma cmq diurno no? E perciò verrai pagato diciamo di nuovo euro 7/ora. Dimmi fino a qua se ho capito tutto bene? E quali orari di lavoro fai tu di solito, e anche quelli straordinari, che siano notturni o diurni? Se si ti riscrivero di nuvo, che se no diventa tutto cosi lungo, e non avrebbe senso a spiegarti una cosa che non è quella che vuoi ? .

micky1079 Profilo | Newbie

a me non interessa sapere quando prendo per le ore straordinarie e per quanto i miei orari di lavoro non hanno uno schema definito ma variano a seconda delle esigenze quindi non posso darti dei riferimenti standard ma ti posso dire ke lavoro 6 ore al giorno e tutte le ore in più sono straordinario, dalle 06.00 alle 21.59 sono ore diurne e ke dalle 22.00 alle 05.59 sono notturne e così anke per le ore di straordinario diurno e notturno....

biggiu Profilo | Junior Member

Ciao,
se ho ben capito il problema tu lavoreresti 6 ore al giorno a prescindere dagli orari; in più può capitare di eccedere con l'orario ordinario e quindi entrare nel regime di straordinario.
Se questo è quanto ti capita, la cosa mi sembra semplice :

Per ogni giorno lavorato calcoli, in base all'ora di ingresso e di uscita il totale ore lavorate.
A questo valori sottrai le 6 ore di orario ordinario.
Quello che resta è straordinario.
Basta capire come gestire le frazioni di ora e, a mio avviso, il gioco è fatto.

Puoi gestire una tabella del tipo :

data
ora ingresso
ora uscita
ore ordinarie
ore straordinarie

con chiave primaria sulla data.

Spero di esserti stato di aiuto.
Buon lavoro e buona giornata.

BigGiu

za5h Profilo | Newbie

Be si, biggiu, ha raggione. Ti fai la tabella con i seguenti campi,
data
ora ingresso
ora uscita


e poi le ore straordinarie saranno = [(ora ingresso – ora uscita) – 6].

Ma con la differenza che non hai bisogno che sulla tabella principale ti crei i campi ore ordinarie e straordinarie, perche con una query, imposti i campi ore ordinarie e straordinarie, usando per esempio per le ore straordinarie, la formula sopra. Attenzione va fatta al fatto che tu hai le ore diurno dalle 06.00 alle 22.00. allora sempre nella stessa query ti crei la formula che calcola la differenza che eccede le 22.00 fino e non maggiore di 06.00 ( per il notturno). Diciamo che devi prima impostare il problema matematicamente. Guarda, una volta risolto matematicamente, lo metti sulla carta, te lo scrivi insomma, lo dovrai applicare ai vari campi ulteriori che ti dovrai aggiungere nella query. Perche in questo caso, i campi in + che crei, sono dei pezzettini di calcolo, che ti portano al calcolo che vuoi tu. Perche a farlo con una stringa sola, è un po difficile. Spero che sei riuscito a capire qualcosa !

micky1079 Profilo | Newbie

si ma sono propio queste formule matematike che mi confondono e non mi fanno andare avanti, come faccio a far capire ad access che dalle 06.00 alle 22.00 sono ore diurne e che dalle 22.01 alle 05.59 ore notturne?

Quindi come calcolare le ore notturne però fatte nell'arco delle 6 ore?
come calcolo le ore di straordinario diurne e quelle notturne?

biggiu Profilo | Junior Member

scusa ma anche questo è decisamente semplice.

parti da questo presupposto, e cioè che devi inserire l'ora di inizio lavoro e l'ora di fine lavoro.

considera anche di avere una tabella che indica :

inizio orario diurno : 5,01
inizio orario notturno : 22,01

ora se inputi :

ora inizio lavoro = 17:00
ora fine lavoro = 24:00

determini :

ore lavorate : 24:00 - 17:00 = 7

se ora fine lavoro > inizio orario notturno e ore lavorate > 6 allora:

ore lavorate - 6 = ore di straordinario su orario notturno.

Questa è solo una traccia di come si può arrivare a determinare i tuoi straordinari e la tipologia degli stessi ( diurni,notturni)

E' ovvio che nella programmazione non c'è un solo modo di approcciarsi al problema e non esiste un'unica soluzione allo stesso.

Prova a capire quanto illustrato e vedi se ti riesce di inquadrare la soluzione.

Buon Lavoro.

BigGiu
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2017
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5