Jump to content
  • 0

Berekenen toeslag adh van een tabel


arpijper

Question

Posted

Kan iemand mij helpen met de volgende vraag.

Als een werknemer om 8 uur start met werken en om 16:30 stopt met werken, zou ik graag de gewerkte uren uitgesplitst naar de 24 uur van de klok willen zien.

 

Ik bedoel dus:

Velden (24x) / RESULTAAT

24-1

1-2

2-3

3-4

4-5

5-6

6-7

7-8

8-9 1

9-10 1

10-11 1

11-12 1

12-13 1

13-14 1

14-15 1

15-16 1

16-17 0,5

17-18

18-19

19-20

20-21

21-22

22-23

23-24

 

Wij werken echter ook in ploegen waarbij bijvoorbeeld gestart wordt om 23:00 en gewerkt wordt tot 7:00 (dus van de ene dag naar de volgende dag)

 

De tijdstippen en werkdag relateer ik aan een andere tabel, waarin het beleid, lees toeslag, staat vermeld voor dat tijdstip of dienst welke ik dan dus vermenigvuldig met een van de 24 velden.

2 answers to this question

Recommended Posts

  • 0
Posted

Elk van deze 24 velden wordt een berekend veld waarin je begin- en eindtijd gebruikt om te bepalen wat de inhoud moet zijn.

Je probleem met tijden over een daggrens heen kan je oplossen door te kijken of de eindtijd kleiner is dan de begintijd.

 

Het wordt iets als: (resultaat tijd)

Let (
[
xVeldBegin =  ;
xVeldEind =  ;
xCheckUurStart =  //bv GetAsTime ( "12:00:00" )
xCheckUurStop = xCheckUurStart + 3599 // 3600 seconden is 1 uur, dus we blijven net binnen het uur
xEindtijd = If ( xVeldEind < xVeldBegin ; GetAsTime ( "23:59:59" ) ; 
xBegintijd = If ( xVeldEind < xVeldBegin ; GetAsTime ( "00:00:00" ) ; 
xStartVoorBegin = xBegintijd <= xCheckUurStart ;
xStoptNaEind = xEindtijd > xCheckUurStop
] ; 

Case (
xStartVoorBegin and xStoptNaEind ; 1 ; // Het hele uur is gewerkt
xStartVoorBegin ; xEindtijd - xCheckUurStart ; // Vanaf de start is gewerkt tot de opgegeven eindtijd
xStoptNaEind ; xCheckUurStop - xBegintijd + 1 ; // In dit uur is begonnen met het werk, plus de ene seconde die we in de check hadden weggelaten
not xStartVoorBegin and not xStoptNaEind ; xEindtijd - xBegintijd ; // Gestart en gestopt binnen dit uur
"" ) 

)

 

Let op!

Niet gecontroleerd in FM. Dus een typefout zit er misschien nog wel in.

Ik heb nu geen gelegenheid het in een FM te hangen, maar je snapt de opzet hoop ik..

 

rmw

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...