Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    Problema sul calcolo degli straordinari

    ho creato una pagina per tenere sotto controllo gli orari di lavoro e ora non riesco a calcolare gli straordinari totali, premetto che tutti i giorni faccio 8 ore tranne il sabato 4 ore e mezza, qualk1 mi può aiutare?

    ecco il codice:

    codice:
    if Not rs.EOF then
    dalle1=rs("dalle1")
    alle1=rs("alle1")
    dalle2=rs("dalle2")
    alle2=rs("alle2")
    data=rs("data")
    
    
    giornoDellaSettimana = WeekDayName(datePart("w", data))
    
    
    DiffAmattina = DateDiff("n", dalle1, alle1)
    DiffAmattinatot=DiffAmattinatot+DiffAmattina
    
    
    
    DiffApomeriggio = DateDiff("n", dalle2, alle2)
    
     
     if giornoDellaSettimana ="sabato" then
     
    'straordinari
      ora=60*oresabato
      minuti = DiffAmattina - minutisabato
    
    
    
    'totale
      DiffApomeriggiotot=DiffApomeriggiotot
      totale_giorno = (DiffAmattina)\60 & ":" & (DiffAmattina) mod 60
      
     
     else
     
      'straordinari
      ora=60*orealgiorno
      minuti = (DiffAmattina + DiffApomeriggio) - minutigiorno
    
      
      
      
    'totale 
      DiffApomeriggiotot=DiffApomeriggiotot+DiffApomeriggio
      totale_giorno = (DiffAmattina + DiffApomeriggio)\60 & ":" & (DiffAmattina + DiffApomeriggio) mod 60
    
     
      
     end if
     
    
     
      totale_giorni = (DiffAmattinatot + DiffApomeriggiotot)\60 & ":" & (DiffAmattinatot + DiffApomeriggiotot) mod 60
     
     
     
      'straordinari
     
     'lo script calcola gli strardinari ma è da sistemare in quanto mi stampa 118:80 ore invece di 119:20 ore come è giusto che sia
     
     straordinari = minuti - ora
     ore =  straordinari\60
     oretot=oretot+ore
     
     minutiefettivi =  (straordinari - (ore*60)) MOD 60
     
     minutiefettivitot=minutiefettivitot+minutiefettivi
     totalestraordinari = ore & ":" & minutiefettivi
     totalestraordinaritot = oretot & ":" & minutiefettivitot
    penso che sia una mia svista e che non sia difficile, qualk1 può aiutarmi?

  2. #2
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Senza entrare nel merito dei calcoli, 118:80 equivale a 119:20 visto che un'ora ha 60 minuti al massimo e non può arrivare a 80...

    Roby

  3. #3
    Infatti è quello da sistemare...
    Vorrei che non stampasse 118:80,ma 119:20 che è + corretto..
    Col totale giorni ci sono riuscito, ma non riesco a modificare quella formula per adattarla al calcolo degli straordinari..

  4. #4
    Per il momento ho risolto così

    codice:
     'straordinari
     
    
     straordinari = minuti - ora
     ore =  straordinari\60
     minutiefettivi =  (straordinari - (ore*60)) MOD 60
     totalestraordinari = ore & ":" & minutiefettivi
     
     
     
     oretot=oretot+ore
    minutiefettivitot=minutiefettivitot+minutiefettivi
    
    if minutiefettivitot >=60 then
    minutiefettivitot=minutiefettivitot - 60
    oretot=oretot +1
    end if
     
     totalestraordinaritot = oretot & ":" & minutiefettivitot
    è una soluzione non molto professionale, ma sembra funzionare correttamente...
    se qualk1 ha qualche idea per ottimizzare al meglio il codice posti pure..

    Grazie per il vosto aiuto!!!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.