Saisonales Call Routing

Comments

4 comments

  • Avatar
    Tom Wellige

    Hallo Hennning,

    eine komplett fertige Lösung habe ich nicht. aber einen Ansatz.

    Im Regel Assistenten als auch im Grafischen Skript Editor ist wie Du richtig beschreibst die Zeitraum Überprüfung starr implementiert. Im Regel Assistenten ist da auch nichts dran zu ändern, im Grafischen Skript Editor kann man aber die Zeitraum Überprüfung selber in die Hand nehmen mit ein ganz klein wenig VBSkript. Das was dazu notwendig ist, wird hier erklärt:

    Um jetzt Deine Anforderung ins Spiel zu bringen, müsstest Du bei dem Start- und Enddatum einfach nur das aktuelle Jahr setzen bevor Du die Zeitraum ÜBerprüfung machst.

    Basierend auf dem Beispiel aus dem obigen Blockartikel könnte das z.B. so aussehen:

    In einen "Skript Code einfügen" Block den Du vor die Überprüfung setzt, packst Du folgenden Code:

    sStartDate = Left(sStartDate, 6) & Year(Now)
    sEndDate =  Left(sEndDate, 6) & Year(Now)
    UseExit = 0

    Du ersetzt einfach das Jahr in den angebenen Daten durch das aktuelle Jahr. 

    Sag Bescheid, ob Dir das so schon weiter hilft, oder Du noch Unterstützung brauchst.

    Viele Grüße, Tom.

     

    1
    Comment actions Permalink
  • Avatar
    Henning

    Hallo Tom

    Sorry es hat etwas gedauert und ich bin auch mit dem Routing noch nicht final fertig aber der Script-Code dafür funktioniert so in meiner Entwicklungsumgebung.

     

    Er sieht so aus:

    Public Function IstSaisonZeit(ByVal AktuellesDatum As Date) As Boolean
    Dim PruefDatum As Long
    Dim AktuellesJahr As Integer
    Dim Saisonbeginn As Long
    Dim SaisonEnde As Long

    PruefDatum = 0
    AktuellesJahr = 0
    Saisonbeginn = 0
    SaisonEnde = 0

    PruefDatum = CLng(AktuellesDatum)
    AktuellesJahr = Year(AktuellesDatum)
    Saisonbeginn = CLng(CDate("25.09." & AktuellesJahr))
    SaisonEnde = CLng(CDate("27.09." & AktuellesJahr))

    If PruefDatum > Saisonbeginn And PruefDatum < SaisonEnde Then
        IstSaisonZeit= True
        UseExit = 1
    Else
        IstSaisonZeit= False
        UseExit = 0
    End If

    End Function

     

    Zum Inhalt:

    Die gewünschten Datumsangaben, bzw. werden der Funktion übergeben. In der Funktion werden sie in fortlaufende Zahlen umgewandelt und in einer If Auswertung abgefragt. Je nach Wahrheitswert wird dann ein unterschiedlicher Ausgang (0 / 1) angesteuert und das dahinter liegende CallRouting ausgelöst.

    Das ist zumindest die Idee.

     

    Aber wie gesagt ich muss es im tast. Routing (Wirkbetrieb) noch testen

     

    Henning

    0
    Comment actions Permalink
  • Avatar
    Henning

    Hallo Tom


    Ich habe den Code getestet und er funktioniert leider nicht.
    Zur Vorgehensweise:
    Ich habe die Function im Start-Block unter Parameter definiert. Dieser Funktion erwartet als Startparameter das aktuelle Datum und gibt als Ergebnis 0 oder 1 zurück. Diese Werte können dann als UseExit in einem Script-Code-Einfügen-Block ausgewertet werden. So zumindest meine Idee.
    Im folgenden Script-Code-Einfügen Block wird die Funktion wie folgt aufgerufen:
    UseExit = IstSaisonZeit(curedate(now))
    Über die Registerkarte Verbindungen wird dann der Rückgabewert 0, bzw. 1 ausgewertet und dann das jeweilige Callrouting dahinter aktiviert.
    Wenn man das Callrouting aktiviert funktioniert es leider nicht. Der testzeitraum liegt dabei ausßerhalb der Saisonzeit.
    Wo liegt mein Fehler??
    Dankeschön vorab für deine Unterstützung.
     
    Henning

    Als Anlage Screenshots:

     

     

    0
    Comment actions Permalink
  • Avatar
    Tom Wellige

    Hallo Henning,

    ich würde Datumsvergleiche immer mit DateDiff machen. Deine Variante habe ich ehrlich gesagt noch niemals probiert.

    Ebenso würde ich Dir empfehlen, Deine Funktion mit ein wenig Tracing zu versehen, so dass Du ihren Verlauf und die Ergenisse zu denen sie kommt im Server Trace nachvervolgen kannst. Mehr dazu findest Du hier:

    https://www.swyxforum.com/blogs/entry/37-9-dont-be-shy-be-chatty/

    Und dann würde ich Dir in Fall Deiner Funktion auch empfehlen, statt des "Script Code einfügen" Blocks, einen "Variable auswerten" Block zu nehmen. Dazu müsstest Du Deine Funktion allerdings einen boolschen Werte (true oder false) zurück geben lassen. Im "Variable Auswerten" Block musst Du Deine Funktion nur einfach aufrufen, und nicht extra erst noch einen weiteren Ausgang sichtbar schalten. Ist etwas schneller und einfacher gemacht. Mehr dazu findest Du hier:

    https://www.swyxforum.com/vbscript-function-collection/introduction/introduction-r1/

     

    0
    Comment actions Permalink

Please sign in to leave a comment.