Search  
Friday, May 25, 2012 ..:: Forum ::.. Register  Login
 Forum Minimize
Pentru a putea posta mesaje trebuie să vă înregistraţi.
Notă: Mesajele cu conţinut jignitor sau ilegal (inclusiv cereri de soft piratat) nu sunt acceptate şi vor fi şterse imediat .

Pentru a primi raspunsuri rapide si corecte, scrieti in mesaj ce intentionati sa faceti, ce mesaj de eroare primiti, in ce context si in urma caror actiuni. De asemenea, mentionati versiunea de FoxPro in care lucrati!
Dacă nu specificați versiunea, se consideră VFP 9.0 SP2.

SearchForum Home
  Visual FoxPro  Client/Server  Calculare ore t...
 Calculare ore totale munca
 
 3/10/2009 3:15:51 PM
User is offlinechucki21
152 posts
5th


Calculare ore totale munca
 (Romania) Modified By chucki21  on 3/10/2009 4:28:05 PM)
Buna ziua,

Ma chinui de ceva vreme cu calcularea orelor suplimentare pentru angajati ...
datap='8:00:00'
datas='16:30:00'
Se cere sa calculez  ore lucrate, in conditiile in care de la 8:00 la 16:30 se considera a fi 8 ore de munca deoarece 30 min sunt pauza.
Eu am facut asa:
select (datediff(mi,datap,datas)-30)/60 OreTotale, abs(datediff(mi,datap,datas)-(datediff(hh,datap,datas)*60)-30) MinTotale from tabela
Mereu am probleme la campul  MinTotale deoarece daca datas='18:15:00' rezultatul iese anapoda.
Ajutati-ma va rog mult cu calcularea orelor totale de munca.

Multumesc mult de tot

p.s select datap,datas,(datediff(mi,datap,datas)-30)/60  OreTotale,
(datediff(mi,datap,datas)-30)-(((datediff(mi,datap,datas)-30)/60)*60) MinTotale
from tabela

am incercat si asa dar din pacate acum, nu am cum verifica daca ma puteti ajuta
 3/10/2009 4:16:54 PM
User is offlineDaniel Buduru
2335 posts
1st




Re: Calculare ore totale munca
 (N/A) Modified By Daniel Buduru  on 3/10/2009 5:18:47 PM)
declare @datap as time = '08:00:00'
declare @datas as time = '18:15:00'
declare @pauza as int =30

select floor(tminute/60) as OreTotale, tminute%60 as MinTotale
from (select (DATEDIFF(mi,@datap,@datas)-@pauza) as tminute) aa  

Daca lucrezi doar cu campuri de tip time, nu datetime, trebuie verificata si trecerea peste ora 0.

Ar trebui facute ceva verificari asupra timpului de lucru din zi inainte de a scadea pauza ...
Poate fi o situatie in care cineva lucreaza, sa zicem, doar primele 3 ore dintr-o zi sau ultimele 3 din alta zi, si nu intra in pauza. In aceasta situatie nu ar trebui sa i se retina cele 30 min.  Ar trebui sa primesti formula de calcul a orelor lucrate de la compartimentul de resort al firmei ...


Daniel Buduru
 3/11/2009 8:29:09 AM
User is offlinechucki21
152 posts
5th


Re: Calculare ore totale munca
 (Romania)
multumesc frumos pt. ajutor
  Visual FoxPro  Client/Server  Calculare ore t...

Search  Forum Home         

 Google Ads Minimize

    

Copyright 2002-2010 Profox   Terms Of Use  Privacy Statement