Most Valued User Stefan Fuchs Posted January 8, 2021 Most Valued User #1 Share Posted January 8, 2021 Hallo, ich versuche gerade ein Callrouting für einen Kunden zu bauen. Habt ihr da vielleicht schon mal etwas ähnliches gebaut? Es soll eine CSV oder ähnliches eingelesen werden in der dann der Bereitschaftstag am besten mit Uhrzeit und dann das Weiterleitungsziel (Mobilfunkrufnummer) eingetragen wird. Im SQL habe ich eine neue Datenbank erstellt und der Import in diese funktioniert bereits. Leider bekomme das VBScript nicht zusammen 😞 Im Startblock befindet sich (wurde wohl so schon mal bei einem anderen Kunden verwendet - kann dort aber leider nicht mehr nachsehen...) ' FileOpen iomode Values Const fsoForReading = 1 Const fsoForWriting = 2 Const fsoForAppending = 8 ' CursorTypeEnum Values Const adOpenForwardOnly = 0 Const adOpenKeyset = 1 Const adOpenDynamic = 2 Const adOpenStatic = 3 ' LockTypeEnum Values Const adLockReadOnly = 1 Const adLockPessimistic = 2 Const adLockOptimistic = 3 Const adLockBatchOptimistic = 4 ' CommandTypeEnum Values Const adCmdUnknown = &H0008 Const adCmdText = &H0001 Const adCmdTable = &H0002 Const adCmdStoredProc = &H0004 Dim vTelefon Dim name_bb function KnownCallerId ( callerID ) Dim bReturn bReturn = false Dim sDsn sDsn = _ "Provider=sqloledb;" & _ "Data Source=SWYX\SQLEXPRESS;" & _ "Initial Catalog=Bereitschaft;" & _ "User Id=XXX;" & _ "Password=XXXX" ' open connection to database Dim db Set db = CreateObject("ADODB.Connection") db.Open sDsn ' open recordset Dim sSQL Dim rs sSQL = "select * from Bereit_Plan where bereit_datum = convert(datetime,convert(char(10),getdate(),104))" Set rs = CreateObject("ADODB.Recordset") rs.Open sSQL, db, adOpenDynamic, adLockOptimistic, adCmdText ' if there are records in recordset, this caller seems to be known bReturn = not rs.EOF If bReturn = TRUE Then name_bb = rs.fields("bereit_nummer").value vTelefon = rs.fields("bereit_nummer").value End If rs.Close Set rs = Nothing db.Close Set db = Nothing 'bReturn = FALSE KnownCallerId = bReturn end function Danach werte ich die Variable aus bei Wahr wird si durchgestellt an vTelefon Link to comment Share on other sites More sharing options...
Most Valued User Stefan Fuchs Posted January 8, 2021 Author Most Valued User #2 Share Posted January 8, 2021 oh habe es wohl an falscher Stelle eröffnet bitte verschieben Link to comment Share on other sites More sharing options...
Tom Wellige Posted January 8, 2021 #3 Share Posted January 8, 2021 Hallo Stefan, 2 Dinge sind mir aufgefallen: Deine beiden Variablen enthalten immer den gleichen Wert. Ist das gewollt so? Ist in Deiner Tabelle "Bereit_Plan" das Feld "bereit_datum" kein DateTime Feld? Oder warum konvertierst Du dort so umständlich? Wenn es ein DateTime Feld ist, kann Du direkt mit getDate() vergleichen. Darüber hinaus stellt sich die Frage, was Du mit "leider bekomme ich das VBscript nicht zusammen" meinst? Wird ein Ruf sofort beendet? Was steht im Server Trace? Wie Du das Server Trace aus Call Routing Sicht lesen kannst, findest Du hier. Etliche weitere Beispiele (inkl. des originalen Codes Deiner verwendeten Funktion) findest Du hier verlinkt. Link to comment Share on other sites More sharing options...
Most Valued User Stefan Fuchs Posted January 8, 2021 Author Most Valued User #4 Share Posted January 8, 2021 Hallo Tom, der Testanruf wird nach etwa 20 Sek beendet. In den CDR sehe ich dann ein CallRoutingFailed. Hatte versucht es (wie ich es bei dir in der Schulung gelernt habe) per OutputTrace zu ergänzen aber dann bricht der Anruf sofort ab und geht an eine Backuprufnummer welche beim Provider hinterlegt ist. Muss mir das ganze nochmal genau ansehen. Link to comment Share on other sites More sharing options...
Tom Wellige Posted January 8, 2021 #5 Share Posted January 8, 2021 1) das sieht für mich aus wie ein Timeout bei der Datenbank Verbindung. Eine eindeutige Fehlermeldung solltes Du im Server Trace finden. 2) bist Du sicher, dass Du PBXScript.OutputTrace richtig verwendet hast? Aber auch hier solltest Du eine eindeutige Fehlermeldung im Server Trace finden. Link to comment Share on other sites More sharing options...
Most Valued User Stefan Fuchs Posted January 17, 2021 Author Most Valued User #6 Share Posted January 17, 2021 Komme hier irgendwie nicht weiter. Bekkomme auch nichts ins Trace. In der Ereignisanzeige finde ich einen Kompilierungsfehler A callrouting script has been terminated or could not be executed due to a script error. Script: callrouting.vbs (User, Zentrale) Error: Kompilierungsfehler in Microsoft VBScript, Syntaxfehler, 800a03ea Das Gespräch wird dann sofort zum beim Provider definierten Backup geleitet. ' CursorTypeEnum Values Const adOpenForwardOnly = 0 Const adOpenKeyset = 1 Const adOpenDynamic = 2 Const adOpenStatic = 3 ' LockTypeEnum Values Const adLockReadOnly = 1 Const adLockPessimistic = 2 Const adLockOptimistic = 3 Const adLockBatchOptimistic = 4 ' CommandTypeEnum Values Const adCmdUnknown = &H0008 Const adCmdText = &H0001 Const adCmdTable = &H0002 Const adCmdStoredProc = &H0004 Function FindStandbyContact ( sNumber ) PBXScript.OutputTrace "---------> FindStandbyContact" On Error Resume Next Dim nReturn nReturn = 1 Dim sDsn sDsn = "Provider=sqloledb;" & _ "Data Source=SERVER\SQLEXPRESS;" & _ "Initial Catalog=Bereitschaft;" & _ '"Integrated Security=SSPI" PBXScript.OutputTrace sDsn ' open connection to database Dim db Set db = CreateObject("ADODB.Connection") db.Open sDsn if Err <> 0 then PBXScript.OutputTrace "Error opening database!" PBXScript.OutputTrace Err & ": " & Err.Description nReturn = 2 else PBXScript.OutputTrace "Successfully opened database" ' open recordset Dim sSQL Dim rs sSQL = "SELECT * from Bereit_Plan where bereit_datum = getDate()" PBXScript.OutputTrace sSQL Set rs = CreateObject("ADODB.Recordset") rs.Open sSQL, db, adOpenDynamic, adLockOptimistic, adCmdText if Err <> 0 then PBXScript.OutputTrace "Error checking database!" PBXScript.OutputTrace Err & ": " & Err.Description nReturn = 2 else PBXScript.OutputTrace "Successfully checked database" if not rs.EOF then PBXScript.OutputTrace "rs(number) else PBXScript.OutputTrace "No number found" end if Set rs nothing db.Close end if Set db = nothing PBXScript.OutputTrace "nReturn = " & nReturn PBXScript.OutputTrace "<--------- FindStandbyContact" FindStandbyContact = nReturn End Function Link to comment Share on other sites More sharing options...
Most Valued User ittk Posted January 18, 2021 Most Valued User #7 Share Posted January 18, 2021 @Stefan FuchsWelches Backup denn? Wie, womit, woher? Und wo wird das Backup geschaltet? Link to comment Share on other sites More sharing options...
Most Valued User Stefan Fuchs Posted January 18, 2021 Author Most Valued User #8 Share Posted January 18, 2021 Hallo, ist ein Deutsche Telefon Trunk. Dort ist dann eine Backup-Rufnummer hinterlegt wenn Trunk nicht verfügbar oder Fehler. Der Trunk ist aber verfügbar denn wenn ich die ECR-Regel deaktiviere funktioniert der Ruf. Der Ruf kommt rein sehe ich auch in den CDRs "CallRoutingFailed" Link to comment Share on other sites More sharing options...
Most Valued User srom Posted January 18, 2021 Most Valued User #9 Share Posted January 18, 2021 Ja dann ist es ein CallRoutingFehler...dann schaust du mal ins Server-Trace nach dem CallRoutingFailed, dort lässt sich das in der Regel recht gut ablesen was der Fehler ist. Link to comment Share on other sites More sharing options...
Most Valued User Stefan Fuchs Posted January 18, 2021 Author Most Valued User #10 Share Posted January 18, 2021 Hallo, genaueres finde ich hier leider auch nicht Line 35432: 17 22:40:45.523 002408 Info SrvScrAPI 05DB81F0 00000025 SScriptHost::Initialize () loaded 'callrouting.vbs (User, Zentrale)' with 621890 bytes in 0.118s Line 35433: 17 22:40:45.533 0033d4 *Err SrvScrAPI 0742FE60 00000025 SPBXScriptSite::OnScriptError () Line 35443: 17 22:40:45.534 0033d4 *Err SrvScrAPI 05D801E8 00000025 SH::ScriptEngineThread::Main () failed, errorUnknown error 0x80020101 Line 35444: 17 22:40:45.534 002408 *Err SrvScrAPI 05DB81F0 00000025 SScriptHost::Initialize (Zentrale) failed, error Unknown error 0x80020101 Line 35445: 17 22:40:45.534 002408 *Err SrvPBXCtl 073A58D0 00000025 SScrServer::InitScript () script host init failed with 1 for U:1 Zentrale Line 35446: 17 22:40:45.534 0033d4 Info SrvPBXCtl 073A58D0 00000025 SScrServer::OnScriptFinished () Line 35447: 17 22:40:45.534 0033d4 Inf2 SrvPBXCtl 073A58D0 00000025 SScrServer::EventScriptFinished () Line 35448: 17 22:40:45.535 0033d4 Info SrvScrAPI 05D801E8 00000025 SH::ScriptEngineThread::Main () stopped script engine Link to comment Share on other sites More sharing options...
Most Valued User Varmenni Posted January 19, 2021 Most Valued User #11 Share Posted January 19, 2021 On 1/17/2021 at 9:46 PM, Stefan Fuchs said: Const adCmdUnknown = H0008 Const adCmdText = H0001 Aren't you missung the & there? Link to comment Share on other sites More sharing options...
Most Valued User Stefan Fuchs Posted January 22, 2021 Author Most Valued User #12 Share Posted January 22, 2021 On 1/17/2021 at 10:46 PM, Stefan Fuchs said: Aktuell ist dieses eingetragen: ' CursorTypeEnum Values Const adOpenForwardOnly = 0 Const adOpenKeyset = 1 Const adOpenDynamic = 2 Const adOpenStatic = 3 ' LockTypeEnum Values Const adLockReadOnly = 1 Const adLockPessimistic = 2 Const adLockOptimistic = 3 Const adLockBatchOptimistic = 4 ' CommandTypeEnum Values Const adCmdUnknown = &H0008 Const adCmdText = &H0001 Const adCmdTable = &H0002 Const adCmdStoredProc = &H0004 Function FindStandbyContact ( sNumber ) PBXScript.OutputTrace "---------> FindStandbyContact" On Error Resume Next Dim nReturn nReturn = 1 Dim sDsn sDsn = "Provider=sqloledb;" & _ "Data Source=SERVER\SQLEXPRESS;" & _ "Initial Catalog=Bereitschaft;" & _ '"Integrated Security=SSPI" PBXScript.OutputTrace sDsn ' open connection to database Dim db Set db = CreateObject("ADODB.Connection") db.Open sDsn if Err <> 0 then PBXScript.OutputTrace "Error opening database!" PBXScript.OutputTrace Err & ": " & Err.Description nReturn = 2 else PBXScript.OutputTrace "Successfully opened database" ' open recordset Dim sSQL Dim rs sSQL = "SELECT * from Bereit_Plan where bereit_datum = getDate()" PBXScript.OutputTrace sSQL Set rs = CreateObject("ADODB.Recordset") rs.Open sSQL, db, adOpenDynamic, adLockOptimistic, adCmdText if Err <> 0 then PBXScript.OutputTrace "Error checking database!" PBXScript.OutputTrace Err & ": " & Err.Description nReturn = 2 else PBXScript.OutputTrace "Successfully checked database" if not rs.EOF then PBXScript.OutputTrace "rs(number) else PBXScript.OutputTrace "No number found" end if Set rs nothing db.Close end if Set db = nothing PBXScript.OutputTrace "nReturn = " & nReturn PBXScript.OutputTrace "<--------- FindStandbyContact" FindStandbyContact = nReturn End Function Aber leider funktioniert es nicht. Link to comment Share on other sites More sharing options...
Tom Wellige Posted January 23, 2021 #13 Share Posted January 23, 2021 if not rs.EOF then PBXScript.OutputTrace "rs(number) else PBXScript.OutputTrace "No number found" end if Beim ersten OutputTrace öffnest Du einen String mit einem Anführungszeichen, schliesst ihn aber nicht. Das führt zum Kompilierungsfehler. Link to comment Share on other sites More sharing options...
Most Valued User Stefan Fuchs Posted January 23, 2021 Author Most Valued User #14 Share Posted January 23, 2021 Hallo Tom, theoretisch müsste er doch so auch etwas ins Trace schreiben, oder? Function FindStandbyContact ( sNumber ) PBXScript.OutputTrace "---------> Hello!!!" End Function Das passiert auch schon nicht. Befindet sich das Output PBXScript.OutputTrace außerhalb der function geht es. Link to comment Share on other sites More sharing options...
Tom Wellige Posted January 24, 2021 #15 Share Posted January 24, 2021 Hallo Stefan, mir scheint da ist irgendetwas an dem Zentrale Benutzer kaputt den Du benutzt. Leg Dir doch mal einen neuen Benutzer an, und bring das Call Routing bei dem an den Start. Link to comment Share on other sites More sharing options...
Most Valued User Stefan Fuchs Posted January 24, 2021 Author Most Valued User #16 Share Posted January 24, 2021 Hallo Tom, habe das CR mal einem anderen User zugewiesen, leider mit dem gleichen Ergebnis. Das richtige CR Skript bringt in der Ereignisanzeige folgende Meldung und der Ruf wird wie oben erwähnt umgeleitet. A callrouting script has been terminated or could not be executed due to a script error. Script: callrouting.vbs (User, Max Muster) Error: Kompilierungsfehler in Microsoft VBScript, '=' erwartet, 800a03f3 Mit einem einfachen PBXScript.OutputTrace "LETS GO !!!--------->" Function FindStandbyContact ( sNumber ) PBXScript.OutputTrace "---------> Hello!!!" End Function finde ich im Trace zwar das LETS GO aber das Hello taucht nicht auf. Der Ruf bricht aber auch nicht ab. Link to comment Share on other sites More sharing options...
Tom Wellige Posted January 24, 2021 #17 Share Posted January 24, 2021 Häng hier doch bitte einfach mal die .rse Datei dran. Dann schaue ich mir das mal an. Link to comment Share on other sites More sharing options...
Most Valued User Stefan Fuchs Posted January 25, 2021 Author Most Valued User #18 Share Posted January 25, 2021 Bereitschaft_kdd.rse Link to comment Share on other sites More sharing options...
Tom Wellige Posted January 27, 2021 #19 Share Posted January 27, 2021 Die beiden markierten Stellen haben in Deinem Code gefehlt: Und du musst Deine Funktion im "Variable auswerten" Block auch auffrufen und nicht einfach eine nicht vorhande Variable dort hinein schreiben: Hier das gefixte Skript: Bereitschaft_kdd_fixed.rse 1 Link to comment Share on other sites More sharing options...
Most Valued User Stefan Fuchs Posted March 18, 2021 Author Most Valued User #20 Share Posted March 18, 2021 Hallo zusammen, ich habe es nun soweit am laufen. Habe aber leider wieder auf ein altes Skript zurückgegriffen. Weil ich das andere irgendwie nicht richtig hinbekommen habe. Es gibt nun also 2 Tabellen. Handynummer & Name und Name & Datum ' FileOpen iomode Values Const fsoForReading = 1 Const fsoForWriting = 2 Const fsoForAppending = 8 ' CursorTypeEnum Values Const adOpenForwardOnly = 0 Const adOpenKeyset = 1 Const adOpenDynamic = 2 Const adOpenStatic = 3 ' LockTypeEnum Values Const adLockReadOnly = 1 Const adLockPessimistic = 2 Const adLockOptimistic = 3 Const adLockBatchOptimistic = 4 ' CommandTypeEnum Values Const adCmdUnknown = &H0008 Const adCmdText = &H0001 Const adCmdTable = &H0002 Const adCmdStoredProc = &H0004 Dim vTelefon Dim vTelefonFreitag Dim name_bereit Dim pinName ' Dim Pin Set today = getdate PBXScript.OutputTrace "---------> KnownCallerId" function KnownCallerId ( callerID ) Dim bReturn bReturn = false ' Dim name_bb Dim sDsn sDsn = "Provider=sqloledb;" & _ "Data Source=SRVSWYX\SQLEXPRESS;" & _ "Initial Catalog=Bereitschaft;" & _ "User Id=XXX;" & _ "Password=XXX" ' open connection to database Dim db Set db = CreateObject("ADODB.Connection") db.Open sDsn PBXScript.OutputTrace sDsn ' open recordset Dim sSQL Dim rs 'Bereitschaft sSQL = "select * from bereit_plan3 where bereit_datum = convert(datetime,convert(char(10),getdate(),104))" Set rs = CreateObject("ADODB.Recordset") rs.Open sSQL, db, adOpenDynamic, adLockOptimistic, adCmdText PBXScript.OutputTrace sSQL ' if there are records in recordset, this caller seems to be known bReturn = not rs.EOF If bReturn = TRUE Then name_bereit = rs.fields("bereit_name").value PBXScript.OutputTrace "name_bereit =" & name_bereit End If rs.Close sSQL = "select * from bereit_nummern where bereit_name = '" & name_bereit & "'" Set rs = CreateObject("ADODB.Recordset") rs.Open sSQL, db, adOpenDynamic, adLockOptimistic, adCmdText PBXScript.OutputTrace sSQL ' if there are records in recordset, this caller seems to be known bReturn = not rs.EOF If bReturn = TRUE Then vTelefon = rs.fields("bereit_nummer").value PBXScript.OutputTrace "vTelefon =" & vTelefon End If PBXScript.OutputTrace "<--------- KnownCallerId" end function Da ich hier nur auf Tage prüfe bräuchte ich nochmal eure Hilfe. Wie kann ich abfragen ob der Wert zwischen 2 Werten liegt? Also wenn der Wert für die Bereitschaft auf 18.03.2021 17:30 steht der nächste dann 19.03.2021 17:30 muss geprüft werden ob man sich zwischen diesen Werten befindet. Link to comment Share on other sites More sharing options...
Tom Wellige Posted March 19, 2021 #21 Share Posted March 19, 2021 Wenn Du das Datum in der Datenbank als DateTime Datentyp speicherst und nicht als String (char(10)), dann ist eine Abfrage ganz einfach: select * from bereit_plan3 where bereit_datum between '2021-03-01' and '2021-03-10' Link to comment Share on other sites More sharing options...
Most Valued User Stefan Fuchs Posted March 22, 2021 Author Most Valued User #22 Share Posted March 22, 2021 Hallo Tom, vielen Dank. Also in der Datenbank steht dann 18.03.2021 17:30 dann vergleiche ich es mit einem getDate und einem (DateAdd "d" , 1 , "getDate") ??? select * from bereit_plan3 where bereit_datum between "getDate()" and (DateAdd "d" , 1 , "getDate()") bzw. setze mir die erst in eine Variable? select * from bereit_plan3 where bereit_datum between "today" and "tomorrow" Link to comment Share on other sites More sharing options...
Tom Wellige Posted March 22, 2021 #23 Share Posted March 22, 2021 Ich kenne jetzt Deine Anwendung nicht im Detail, aber würde es nicht mehr Sinn machen, pro Mitarbeiter in der Bereitschaftstabelle einen Start und einen Endzitpunkt zu setzen? Damit würde dann etwas in dieser Art heraus kommen: select * from bereit_plan3 where getDate() between bereit_start and bereit_end Link to comment Share on other sites More sharing options...
Most Valued User Stefan Fuchs Posted May 4, 2022 Author Most Valued User #24 Share Posted May 4, 2022 Hallo Tom, ich müsste das Thema hier mal erweitern. Habe von einem Kunden nun die Anforderung das es 2 Personen gibt welche Rufbereitschaft am gleichen Tag haben. Somit habe ich nun in meinem bereit_plan 4 Spalten (bereit_start; bereit_ende; bereit_name1; bereit_nummer2) Der erste Schritt funktioniert aber die Auswertung von bereit_name funktioniert nicht. ADODB.Recordset, Ein Objekt, das dem angeforderten Namen oder dem Ordinalverweis entspricht, kann nicht gefunden werden., 800a0cc1 ' FileOpen iomode Values Const fsoForReading = 1 Const fsoForWriting = 2 Const fsoForAppending = 8 ' CursorTypeEnum Values Const adOpenForwardOnly = 0 Const adOpenKeyset = 1 Const adOpenDynamic = 2 Const adOpenStatic = 3 ' LockTypeEnum Values Const adLockReadOnly = 1 Const adLockPessimistic = 2 Const adLockOptimistic = 3 Const adLockBatchOptimistic = 4 ' CommandTypeEnum Values Const adCmdUnknown = &H0008 Const adCmdText = &H0001 Const adCmdTable = &H0002 Const adCmdStoredProc = &H0004 Dim vTelefon1 Dim vTelefon2 Dim name_bereit1 Dim name_bereit2 Dim pinName ' Dim Pin PBXScript.OutputTrace "---------> KnownCallerId" function KnownCallerId ( callerID ) Dim bReturn bReturn = false ' Dim name_bb Dim sDsn sDsn = "Provider=sqloledb;" & _ "Data Source=XXXX\SQLEXPRESS;" & _ "Initial Catalog=Bereitschaft;" & _ "User Id=Bereitschaft;" & _ "Password=XXXXX" ' open connection to database Dim db Set db = CreateObject("ADODB.Connection") db.Open sDsn PBXScript.OutputTrace sDsn ' open recordset Dim sSQL Dim rs Dim rs1 'Bereitschaft sSQL = "select * from bereit_plan1 where getDate() between bereit_start and bereit_ende" Set rs = CreateObject("ADODB.Recordset") rs.Open sSQL, db, adOpenDynamic, adLockOptimistic, adCmdText PBXScript.OutputTrace sSQL ' if there are records in recordset, this caller seems to be known bReturn = not rs.EOF If bReturn = TRUE Then name_bereit1 = rs.fields("bereit_name1").value name_bereit2 = rs.fields("bereit_name2").value PBXScript.OutputTrace "name_bereit1 =" & name_bereit1 PBXScript.OutputTrace "name_bereit2 =" & name_bereit2 End If rs.close sSQL = "select * from bereit_nummern where bereit_name = '" & name_bereit1 & "'" Set rs = CreateObject("ADODB.Recordset") rs.Open sSQL, db, adOpenDynamic, adLockOptimistic, adCmdText PBXScript.OutputTrace sSQL bReturn=false ' if there are records in recordset, this caller seems to be known bReturn = not rs.EOF If bReturn = TRUE Then vTelefon1 = rs.fields("bereit_nummer1").value PBXScript.OutputTrace "vTelefon1 =" & vTelefon1 end if rs.close sSQL = "select * from bereit_nummern where bereit_name = '" & name_bereit2 & "'" Set rs = CreateObject("ADODB.Recordset") rs.Open sSQL, db, adOpenDynamic, adLockOptimistic, adCmdText PBXScript.OutputTrace sSQL ' if there are records in recordset, this caller seems to be known bReturn = not rs.EOF If bReturn = TRUE Then vTelefon2 = rs.fields("bereit_nummer2").value PBXScript.OutputTrace "vTelefon2 =" & vTelefon2 End If rs.close PBXScript.OutputTrace "<--------- KnownCallerId" end function Quote 04 12:40:46.035 0031b0 Info SrvScript 07D42BB0 000007b0 SPBXScriptVbs::OutputTrace () ---------> KnownCallerId 04 12:40:46.035 0031b0 Info SrvScript 07D42BB0 000007b0 SPBXScriptVbs::OutputTrace () CRMVersion: 13.10.0.15 04 12:40:46.035 0031b0 Info SrvPBXCtl 07C2B5B0 000007b0 SScrServer::UserGetUTCBiasReq () returning 120 minutes 04 12:40:46.035 0031b0 Info SrvScript 07D42BB0 000007b0 SPBXScriptVbs::OutputTrace () Template.vbs version: 10.20.0.7, Functions.vbs version: 8.0.0.3, CRM version: 13.10.0.15 04 12:40:46.035 0031b0 Info SrvScrAPI 07C2B5B0 000007b0 SScrServer::UserGetRIEnabledReq () returning 0 04 12:40:46.035 0031b0 Info SrvScrAPI 07C2B5B0 000007b0 SScrServer::UserGetRISvrnameReq () returning 04 12:40:46.035 0031b0 Info SrvScrAPI 07C2B5B0 000007b0 SScrServer::UserGetRIUsernameReq () returning 04 12:40:46.035 0031b0 Info SrvScrAPI 07C2B5B0 000007b0 SScrServer::UserGetRIPasswordReq () returning *** 04 12:40:46.035 0031b0 Info SrvScrAPI 07C2B5B0 000007b0 SScrServer::UserGetRIFolderReq () returning INBOX 04 12:40:46.035 0031b0 Info SrvScrAPI 07C2B5B0 000007b0 SScrServer::UserGetRIUseSSLReq () returning 0 04 12:40:46.035 0031b0 Info SrvScrAPI 07C2B5B0 000007b0 SScrServer::UserGetRIUsePINReq () returning 1 04 12:40:46.035 0031b0 Info SrvScrAPI 07C2B5B0 000007b0 SScrServer::UserGetRIPINReq () returning *** 04 12:40:46.035 0031b0 Info SrvScrAPI 07C2B5B0 000007b0 SScrServer::UserGetRIUseFrmAddrRq () returning 1 04 12:40:46.035 0031b0 Info SrvScrAPI 07C2B5B0 000007b0 SScrServer::UserGetEnablePCallRq () returning 0 04 12:40:46.035 0031b0 Info SrvPBXCtl 07C2B5B0 000007b0 SScrServer::UserGetParallelCallNum () returning 04 12:40:46.036 0031b0 Info SrvScript 07D42BB0 000007b0 SPBXScriptVbs::OutputTrace () RI/PL parameters loaded: 0,,,XXX,INBOX,Falsch,Wahr,XXX,Wahr,Falsch, 04 12:40:46.036 0031b0 Info SrvPBXCtl 07C2B5B0 000007b0 SScrServer::CallGetCalledNumber () returning 412 04 12:40:46.036 0031b0 Info SrvPBXCtl 07C2B5B0 000007b0 SScrServer::CallGetDialedNumReq () returning 412 04 12:40:46.036 0031b0 Info SrvPBXCtl 07C2B5B0 000007b0 SScrServer::CallGetCallTypeReq () returning 'Normal' 04 12:40:46.036 0031b0 Info SrvPBXCtl 07C2B5B0 000007b0 SScrServer::GetCallingNumber () returning '+XXXX' 04 12:40:46.036 0031b0 Info SrvPBXCtl 07C2B5B0 000007b0 SScrServer::GetCallingNumber () returning '+XXXX' 04 12:40:46.036 0031b0 Inf3 SrvPBXCtl 07C2B5B0 000007b0 ScriptInfo::GetPreviousScripts (Id 1968) no previous scripts available 04 12:40:46.036 0031b0 Inf3 SrvPBXCtl 07C2B5B0 000007b0 SScrServer::GetPreviousScripts () NO script found 04 12:40:46.036 0031b0 Info SrvScript 07D42BB0 000007b0 SPBXScriptVbs::OutputTrace () rule PreProcessing started... 04 12:40:46.036 0031b0 Info SrvScript 07D42BB0 000007b0 SPBXScriptVbs::OutputTrace () User-defined PreProcessing (dummy) 04 12:40:46.036 0031b0 Inf3 SrvPBXCtl 07C2B5B0 000007b0 SScrServer::UserIsBusy (412, 412 ): Free 04 12:40:46.036 0031b0 Info SrvPBXCtl 07C2B5B0 000007b0 SScrServer::UserGetUncondRedir () not enabled 04 12:40:46.036 0031b0 Info SrvScript 07D42BB0 000007b0 SPBXScriptVbs::OutputTrace () Begin GSE Script (Rule: ruleBereitschaft0503211) 04 12:40:46.036 0031b0 Info SrvScript 07D42BB0 000007b0 SPBXScriptVbs::OutputTrace () GSEVersion: 13.10.0.23 04 12:40:46.036 0031b0 Info SrvScript 07D42BB0 000007b0 SPBXScriptVbs::OutputTrace () case [Start0] 04 12:40:46.036 0031b0 Info SrvScript 07D42BB0 000007b0 SPBXScriptVbs::OutputTrace () --> gseStart() 04 12:40:46.036 0031b0 Info SrvScript 07D42BB0 000007b0 SPBXScriptVbs::OutputTrace () <-- gseStart, rc = 1 [gseStateStarted] 04 12:40:46.036 0031b0 Info SrvScript 07D42BB0 000007b0 SPBXScriptVbs::OutputTrace () case [Evaluate4] 04 12:40:46.036 0031b0 Info SrvScript 07D42BB0 000007b0 SPBXScriptVbs::OutputTrace () KnownCallerId (IpPbx.CallingNumber()) 04 12:40:46.036 0031b0 Info SrvPBXCtl 07C2B5B0 000007b0 SScrServer::GetCallingNumber () returning '+XXXXX' 04 12:40:46.036 0031b0 Info SrvScript 07D42BB0 000007b0 SPBXScriptVbs::OutputTrace () Get CallingNumber, rc = +XXXXX 04 12:40:46.047 0031b0 Info SrvScript 07D42BB0 000007b0 SPBXScriptVbs::OutputTrace () Provider=sqloledb;Data Source=XXX\SQLEXPRESS;Initial Catalog=Bereitschaft;User Id=Bereitschaft;Password=XXXX 04 12:40:46.047 0031b0 Info SrvScript 07D42BB0 000007b0 SPBXScriptVbs::OutputTrace () select * from bereit_plan1 where getDate() between bereit_start and bereit_ende 04 12:40:46.048 0031b0 Info SrvScript 07D42BB0 000007b0 SPBXScriptVbs::OutputTrace () name_bereit1 =Stefan 04 12:40:46.048 0031b0 Info SrvScript 07D42BB0 000007b0 SPBXScriptVbs::OutputTrace () name_bereit2 =Horst 04 12:40:46.049 0031b0 Info SrvScript 07D42BB0 000007b0 SPBXScriptVbs::OutputTrace () select * from bereit_nummern where bereit_name = 'Stefan ' 04 12:40:46.050 0031b0 *Err SrvScrAPI 06957F60 000007b0 SPBXScriptSiteVbs::OnScriptError () ~Code: 0 ~Src: ADODB.Recordset ~Desc: Ein Objekt, das dem angeforderten Namen oder dem Ordinalverweis entspricht, kann nicht gefunden werden. ~RetVal: 800a0cc1 ~Line: 15310 ~Column: 9 ~Source code: ~ If bReturn = TRUE Then ~ ^ error position Link to comment Share on other sites More sharing options...
Tom Wellige Posted May 4, 2022 #25 Share Posted May 4, 2022 Hallo Stefan, mit den beiden gefundenen Namen aus der "bereit_plan1" Tabelle musst Du in der "bereit_nummern" Tabelle suchen: sSQL = "select * from bereit_nummern where (bereit_name = '" & name_bereit1 & "'") or (bereit_name = '" & name_bereit2 & "'") Denk abe bitte daran, dass diese Abfrage voraussetzt, dass Du immer beide Namen gesetzt hast. Für den Fall, dass nur ein Kollege Bereitschaft macht, würde ich in da sowas wie "xxx" oder irgendeine andere Zeichenkette eintragen. Hauptsache ist, das Feld ist nicht Null. Da Du das "rs" Objekt bereits hast, musst Du es für die 2. Abfrage nicht noch einmal mittels Set rs = CreateObject("ADODB.Recordset") anlegen. Lass diese Zeile einfach weg. Anschliessend musst Du davon ausgehen, dass Du 1 order 2 Datensätze zurück bekommst. Das könnte dann z.B. so aussehen: Dim nFeld nFeld = 1 vTelefon1 = "" vTelefon2 = "" while not rs.EOF select case nFeld case 1 vTelefon1 = rs("bereit_nummer") case 2 vTelefon2 = rs("bereit_nummer") end select nFeld = nFeld + 1 rs.MoveNext wend Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now