Jump to content
  • 0

Planning over middernacht heen?


marcelboot

Question

Posted (edited)

Bestaat er ergens op deze aardkloot een toepassing, die uren kan verwerken, die over middernacht hen gaan? Ik zit me suf te piekeren en vind nog geen oplossing.

Heeft iemand zoiets al eens gemaakt of ergens gezien???

Eigenlijk zoek ik dus een urenregistratie, die over twee dagen kan lopen.

Edited by marcelboot

12 answers to this question

Recommended Posts

  • 0
Posted

Eerlijk gezegd zie ik het probleem niet. Een tijdregistratie bestaat uit een tijdstip plus een datum daarmee is middernacht niets anders dan een moment waarop de datum veranderd en het tijdstip weer bij nul begint. Net zoiets als tot 10 tellen dus. Anderzijds is anderhalve dag niets anders dan 36 uur.

  • 0
Posted

Ik zal het iets uitbreiden. Ik maak dagstaten en vul dan begin en eindtijd in. het systeem rekent het aantal uren uit. Simpel.

Wat nu als ik uren tot na middernacht invoer? Dan kan ik niet meer gewoon optellen bij de uren voor die dag!!

Hier zoek ik dus een oplossing voor.

  • 0
Posted

Ik heb iets dergelijks opgelost voor de nachtdienst, waarbij ik eerst controleer of de eindtijd voor de begintijd ligt (= nachtdienst) en dan tel ik een dag bij de eindtijd.

Als je de tijdsregistratie over een langere periode moet, dan moet je ook de datum meenemen.

  • 0
Posted

Dank voor het meedenken, maar ik kan hier nog niet verder mee. Timestamp heeft geen zin, want het wordt allemaal achteraf ingevuld en dan kun je dat niet gebruiken.

Het gaat alleen om de eindtijd, die ik wil laten registreren die dus over middernacht heengaat. Ik laat nu maar 28:00 uur invullen, als het 4 uur in de morgen is. Tot ik een betere oplossing weet.

  • 0
Posted

Mijn suggestie om 24 uur op te tellen bij de eindtijd als die voor de begintijd ligt werkt dan toch?  als iemand om 16:00 uur begint tot 04:00 dan is 04:00 < 16:00 en tel je er 24:00 uur bij op en kom je op 28:00 uur.

 

  • 0
Posted

Moet dat geen 12.00 uur zijn? :-)

Anders geformuleerd (ik denk dat je hetzelfde bedoelt..): indien T1 < T2, dan T2 - T1; indien T1 > T2, dan wordt de datum overschreden, en bereken je T2 - T1 + 24.

4 - 16 + 24 = 12

De timestamp benadering kan handig zijn als einddatum niet per se de volgende dag is, maar mogelijk nog later... Timestamp reken je uit door combinatie datum en tijd.

Timestamps zijn ook handig als er meerdere tijdsberekeningen uitgevoerd moet worden. Bijvoorbeeld bij verschillende tarieven per tijdsvak. 

  • 0
Posted

Ik heb ooit eens een factuurprogrammaatje gemaakt voor een loonwerker, werkte ook na middernacht wel eens door.

Gebruikte formulie:

Case(FactuurEind > FactuurStart;
((FactuurEind - FactuurStart)/60-FactuurSchaft)/60;
((Time ( 24;0;0 ) - FactuurStart + FactuurEind)/60-FactuurSchaft)/60
)

Schafttijd werd niet gefactureerd, dus dat ging er vanaf.

Er zijn vast mooiere oplossingen, maar met mijn beperkte kennis was dit te maken en werkt het tot heden goed.

  • 0
Posted

Ook dit is een mooie oplossing hoor, maar ik heb het mezelf wat lastig gemaakt door het feit, dat er in een subtabel meerdere records worden aangemaakt voor 1 werkbon. Allerlei laad- en losadressen (rittenstaten) worden ingevuld en daar staat telkens een aankomst en vertrektijd bij. het gaat mij dus alleen om de eerste waarde van laadplaats  laatste waarde in de rittenstaten bij vertrektijd losplaats (Max(Vertrektijd) dus) en die gebruik ik om het totaal aantal uren voor die dag te berekenen. Lastig klusje dus.

  • 0
Posted

Kun je me dat uitleggen, want die vat ik niet helemaal. Overdagritten gaan prima, maar die nacht is het probleem.

Voorbeeld:

start rit laadadres1: 22:00 uur  losadres1 01:00 uur

laadadres2 01:30uur  losadres2 03:00 uur

laadadres3 03:00uur losadres4 04:30 uur einde rit

Welke formule maak je als je de uren wilt uitrekenen?? 

  • 0
Posted

Ik ben er uit inmiddels.

Uitgaande van daguren tussen 06 uur en 18 uur kom ik tot de volgende formule. Gewoon voor jullie info

Case ( Start rit ≥ Eind rit     and Eind rit  ≤  Dagurenstart;""; Start rit ≥ Eind rit     and Eind rit   ≥   Dagurenstart;(Eind rit-Dagurenstart)/3600; Start rit ≥ Dagurenstart and Eind rit ≤ Dagureneind;((Eind rit-Start rit)/3600)-(Pauze/3600); Start rit ≤ Dagurenstart and Eind rit ≤ Dagureneind;((Eind rit-Dagurenstart)/3600)-(Pauze/3600); Start rit ≤ Dagurenstart and Eind rit ≥ Dagureneind;((Dagureneind-Dagurenstart)/3600)-NA-(Pauze/3600); Start rit ≥ Dagurenstart and Eind rit ≥ Dagureneind;((Dagureneind-Start rit)/3600)-NA-(Pauze/3600); )

De nachturen had ik al weten te formuleren.

Nogmaals dank voor het meedenken.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...