Jump to content

CallRouting Datumsbereich (überWeihnachten)


Marsn91

Recommended Posts

Hallo, ich bin neu hier im Forum. Ich habe bereits das FeiertagsScript umsetzen können. Besten Dank an die Ersteller dafür!

 

Nun ist es bei uns so, dass wir jedes Jahr über Weihnachten ( ab 23.12 ) bis Januar (nach der 2. Januar Woche) wieder mit arbeiten anfangen. Nun ist mein Problem: Wie bekomm ich das in ein Script?

Wenn die Bedingung erfüllt ist, soll einfach der AB rangehen. Das habe ich schon hinbekommen. Konkret geht es um die Bedingung selbst, und diese eben nicht jedes Jahr anpassen zu müssen, das wird dann bestimmt eh vergessen :D

Beste Grüße,

Markus 

Link to comment
Share on other sites


Hallo Markus,

 

das Problem hier ist, dass mindestens das Enddatum des Zeitraums variable ist, je nach dem, wann die 3. Woche anfängt. Den Tag müsste man erst ermitteln, damit man dann die Abfrage des Zeitraums richtig hinbekommt.

 

Sehe ich das richtig, dass es bei Euch immer mit der 3. Woche anfängt? Also angenommen der 1. Januar fällt auf einen Mittwoch, dann wäre der erste Arbeitstag Montag der 20. Januar. Stimmt das so?

 

Link to comment
Share on other sites


Kopier mal den folgenden VBSkript Code in den Start Block Deines Call Routings.

 

Function GetFirstWorkingDayOfCurrentYear

	PBXScript.OutputTrace "---------> GetFirstWorkingDayOfCurrentYear"

	Dim nReturn
	Dim vDay
	Dim nWeekday

	vDay     = CDate(Year(Now) & "-01-15")
	nWeekday = Weekday(vDay, 2) 'vbMonday

	PBXScript.OutputTrace "vDay = " & vDay
	PBXScript.OutputTrace "nWeekday = " & nWeekday

	While nWeekday <> 1 ' <> Monday

		vDay     = DateAdd("d", 1, vDay)
		nWeekday = Weekday(vDay, 2) 'vbMonday

		PBXScript.OutputTrace "vDay = " & vDay
		PBXScript.OutputTrace "nWeekday = " & nWeekday

	Wend

	nReturn = Day(vDay)
	GetFirstWorkingDayOfCurrentYear = nReturn

	PBXScript.OutputTrace "nReturn = " & nReturn
	PBXScript.OutputTrace "<--------- GetFirstWorkingDayOfCurrentYear"

End Function


Function IsWinterVacation

	PBXScript.OutputTrace "---------> IsWinterVacation"

	Dim bReturn
	bReturn = False

	PBXScript.OutputTrace "Today = " & Now

	' check for 23.12. and following
	If Month(Now) = 12 Then
		If Day(Now) >= 23 Then
			bReturn = True
			PBXScript.OutputTrace "Today is 23.12. or later."
		End If
	End If

	' check for first working Monday in January
	If Month(Now) = 1 Then
		If Day(Now) < GetFirstWorkingDayOfCurrentYear Then
			bReturn = True
			PBXScript.OutputTrace "Today is before the first working day of new year."
		End If
	End If

	If Not bReturn Then
		PBXScript.OutputTrace "Today is outside of winter vacation."
	End If

	IsWinterVacation = bReturn

	PBXScript.OutputTrace "bReturn = " & bReturn
	PBXScript.OutputTrace "<--------- IsWinterVacation"

End Function

 

Anschliessend kannst Du die Funktion IsWinterVacation z.B. in einem Variable auswerten Block direkt aufrufen, um zu prüfen, ob gerade Urlaub ist oder nicht:

 

Capture1.PNG

 

Capture2.PNG

 

 

Link to comment
Share on other sites


Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use and have taken note of our Privacy Policy.
We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.