;EVergabe.au3 Func _start_Evergabe() Global $hSession = _WinHttpOpen("Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:63.0) Gecko/20100101 Firefox/63.0") Global $aHosts[2][2] $aHosts[1][0] = "www.evergabe.telekom.de" $aHosts[1][1] = _WinHttpConnect($hSession, $aHosts[1][0]) Global $sHeader = "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8" & @CRLF & "Accept-Language: de,en-US;q=0.7,en;q=0.3" & @CRLF & "Accept-Encoding: gzip, deflate, br" & @CRLF $sUsername = IniRead(@ScriptDir & "\daten\conf.ini", "EVergabe", "Benutzer", "xxx") $sPasswort = IniRead(@ScriptDir & "\daten\conf.ini", "EVergabe", "Passwort", "xxx") $sRetrunLogin = _EV_Login($sUsername, $sPasswort) If $sRetrunLogin = "True" Then ;~ ConsoleWrite("Login Erfolgreich" & @CRLF) _Write_to_Console("Login Erfolgreich") $sHTML = _send_WinhttpS_GET($aHosts[1][1], "/framework-agreement-call", "https://www.evergabe.telekom.de/") ;~ ClipPut($sHTML) ;~ MsgBox(64,"erstmal","fertig") $sSMnr = GUICtrlRead($kopf_tab_txt_smnr) If StringMid($sSMnr, 1, 1) = 0 Then ;~ _EV_Contract_Pos_add($sSMnr) _EV_Insert_Pos($sSMnr) _Write_to_Console("Positionen sind eingetragen") ;~ _EV_GET_DetailsID_Info($sDetailsID) MsgBox(64, "Fertig", "Fertig es ist alles eingetragen!") Else ;~ _EV_Contract_Pos_add("0" & $sSMnr) _EV_Insert_Pos($sSMnr) ;~ _EV_GET_DetailsID_Info($sDetailsID) _Write_to_Console("Positionen sind eingetragen") MsgBox(64, "Fertig", "Fertig es ist alles eingetragen!") EndIf Else MsgBox(64, "Login Fehler", "Login war nicht erfolgreich") EndIf EndFunc ;==>_start_Evergabe Func _start_Evergabe_Neu() Global $hSession = _WinHttpOpen("Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:145.0) Gecko/20100101 Firefox/145.0") Global $aHosts[2][2] $aHosts[1][0] = "www.evergabe.telekom.de" $aHosts[1][1] = _WinHttpConnect($hSession, $aHosts[1][0]) Global $sHeader = "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8" & @CRLF & "Accept-Language: de,en-US;q=0.7,en;q=0.3" & @CRLF & "Accept-Encoding: gzip, deflate, br" & @CRLF $sEV_Username = IniRead(@ScriptDir & "\daten\conf.ini", "EVergabe", "Benutzer", "xxx") $sEV_Passwort = IniRead(@ScriptDir & "\daten\conf.ini", "EVergabe", "Passwort", "xxx") $sDatum = GUICtrlRead($kopf_tab_txt_datum) $sBaustelle = GUICtrlRead($kopf_tab_txt_baustelle) $sBauabschnitt = GUICtrlRead($kopf_tab_txt_bauabschnitt) $sAbrufNR = GUICtrlRead($kopf_tab_txt_abrufnr) $sSMnr = GUICtrlRead($kopf_tab_txt_smnr) $sVertrag = GUICtrlRead($kopf_tab_chb_vertrag) $sStartDatum = GUICtrlRead($kopf_tab_datum_start) $sEndDatum = GUICtrlRead($kopf_tab_txt_datum_ende) IniWrite(@ScriptDir & "\daten\conf.ini", "Kopfdaten", "Datum", $sDatum) IniWrite(@ScriptDir & "\daten\conf.ini", "Kopfdaten", "Baustelle", $sBaustelle) IniWrite(@ScriptDir & "\daten\conf.ini", "Kopfdaten", "Bauabschnitt", $sBauabschnitt) IniWrite(@ScriptDir & "\daten\conf.ini", "Kopfdaten", "AbrufNr", $sAbrufNR) IniWrite(@ScriptDir & "\daten\conf.ini", "Kopfdaten", "SMNr", $sSMnr) IniWrite(@ScriptDir & "\daten\conf.ini", "Kopfdaten", "Vertrag", $sVertrag) IniWrite(@ScriptDir & "\daten\conf.ini", "Kopfdaten", "StartZ", $sStartDatum) IniWrite(@ScriptDir & "\daten\conf.ini", "Kopfdaten", "EndZ", $sEndDatum) $iReturn = _EV_Login($sEV_Username, $sEV_Passwort) If $iReturn = "True" Then _Write_to_Console("Login Erfolgreich") $sHTML = _send_WinhttpS_GET($aHosts[1][1], "/framework-agreement-call", "https://www.evergabe.telekom.de/") $aInhalt = _GUIListViewEx_ReadToArray($LV_Aufm, 1) If IsArray($aInhalt) Then If GUICtrlRead($kopf_TAB_txt_detailsID) = "" Then ; Positionen nach SM Eintragen _EV_Pos_eintragen($aInhalt) Else ; Positionen nach DetailsID eintragen _EV_Pos_eintragen_Bestellung($aInhalt) EndIf _Write_to_Console("Fertig mit Eintragen!") Else _Write_to_Console("AufmaßListe ist leer") EndIf Else _Write_to_Console("Login Fehler Logindaten überprüfen") EndIf EndFunc ;==>_start_Evergabe_Neu Func _EV_Pos_eintragen_Bestellung($aInhalt) Global $sDetailsID $sDetailsID = GUICtrlRead($kopf_TAB_txt_detailsID) $sSMnr = IniRead(@ScriptDir & "\conf.ini", "Kopfdaten", "SMNr", "") If IsArray($aInhalt) Then If $sDetailsID <> "" Then _Write_to_Console("Öffne DetailsID : | " & StringReplace($sDetailsID, "&c=1", "")) $sHTML = _send_WinhttpS_GET($aHosts[1][1], "/purchase-order/details?id=" & $sDetailsID & "&c=1", "https://www.evergabe.telekom.de/") If Not StringInStr($sHTML, 'LERF nicht möglich') Then $sHTML = _send_WinhttpS_GET($aHosts[1][1], "/sheet/index?c=1&importId=" & $sDetailsID, "https://www.evergabe.telekom.de/" & "/purchase-order/details?id=" & $sDetailsID & "&c=1") $sHTML = _send_WinhttpS_GET($aHosts[1][1], "/sheet/create-sheet?c=1&id=" & $sDetailsID, "https://www.evergabe.telekom.de/" & "/sheet/index?c=1&importId=" & $sDetailsID) ;evtl nicht direkt eingabe $sCSRF = _EV_GET_CSRF($sHTML) If $sCSRF = "False" Then _Write_to_Console("CSRF Fehler Sitzung abgelaufen!") Else $sLeist_zeitv = IniRead(@ScriptDir & "\daten\conf.ini", "Kopfdaten", "StartZ", "") $sLeist_zeitb = IniRead(@ScriptDir & "\daten\conf.ini", "Kopfdaten", "EndZ", "") ;~ _Write_to_Console($sLeist_zeitv) ;~ _Write_to_Console($sLeist_zeitb) ; mit UrlEncode $sLeistungsort1 = IniRead(@ScriptDir & "\daten\conf.ini", "Kopfdaten", "Baustelle", "") If StringLen($sLeistungsort1) >= 25 Then $sLeistungsortso = $sLeistungsort1 $sLeistungsort1 = StringMid($sLeistungsort1, 1, 25) Else $sLeistungsortso = $sLeistungsort1 EndIf ;~ _Write_to_Console($sLeistungsort1) $sLeistungsort = _URIEncode($sLeistungsort1) ; max 25 Zeichen $sSachbearbeiter = IniRead(@ScriptDir & "\daten\conf.ini", "EVergabe", "Name", "xxx") If StringLen($sSachbearbeiter) >= 12 Then $sSachbearbeiter_temp = $sSachbearbeiter $sSachbearbeiter = StringMid($sSachbearbeiter_temp, 1, 12) ;~ $sSachbearbeiter = $sSachbearbeiter_temp EndIf ;~ _Write_to_Console($sSachbearbeiter) $sBauabschnitt = IniRead(@ScriptDir & "\daten\conf.ini", "Kopfdaten", "Bauabschnitt", "") If StringLen($sBauabschnitt) >= 40 Then $sBauabschnitt = StringMid($sBauabschnitt, 1, 39) EndIf ;~ _Write_to_Console($sBauabschnitt) $sBauabschnitt = _URIEncode($sBauabschnitt) $sKurztext = "SM " ; max 40 Zeichen $sKurztext = StringReplace($sKurztext, "SM ", "SM " & $sSMnr) If StringLen($sKurztext) >= 40 Then $sKurztext = StringMid($sKurztext, 1, 39) EndIf ;~ _Write_to_Console($sKurztext) $sKurztext = _URIEncode($sKurztext) ; mit UrlEncode $s_SMnrINi = IniRead(@ScriptDir & "\daten\conf.ini", "Kopfdaten", "SMNr", $sSMnr) $sLangtext = IniRead(@ScriptDir & "\daten\conf.ini", "Kopfdaten", "Baustelle", "") & " " & IniRead(@ScriptDir & "\daten\conf.ini", "Kopfdaten", "Bauabschnitt", "") & " " & "SM " & $s_SMnrINi & @CRLF & GUICtrlRead($tab_plan_ed_SListe) ;~ $sLangtext = IniRead(@ScriptDir & "\daten\conf.ini", "Kopfdaten", "Baustelle", "") & " " & IniRead(@ScriptDir & "\daten\conf.ini", "Kopfdaten", "Bauabschnitt", "") & " " & "SM " & $sSMnr; alt ;~ _Write_to_Console($sKurztext) $sLangtext = _URIEncode($sLangtext) ;~ MsgBox(64, "Langtext bestellung", $sLangtext) $sHeader = "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8" & @CRLF & "Accept-Language: de,en-US;q=0.7,en;q=0.3" & @CRLF & "Accept-Encoding: gzip, deflate, br" & @CRLF & "Content-Type: application/x-www-form-urlencoded" & @CRLF ;~ $sPost = "_csrf=" & $sCSRF & "%3D%3D&BapiEssr%5Bfinal%5D=&BapiEssr%5Bfinal%5D=&BapiEssr%5Blzvon%5D=" & $sLeist_zeitv & "&BapiEssr%5Blzbis%5D=" & $sLeist_zeitb & "&BapiEssr%5Bdlort%5D=" & $sLeistungsort & "&BapiEssr%5Bsbnaman%5D=" & $sSachbearbeiter & "&BapiEssr%5Btxz01%5D=" & $sBauabschnitt & "&description=" & $sLangtext & "&save+sheets=" If GUICtrlRead($kopf_TAB_rd_teilauf) = $GUI_CHECKED Then $sPost = "_csrf=" & $sCSRF & "%3D%3D&BapiEssr%5Bfinal%5D=&BapiEssr%5Bfinal%5D=&BapiEssr%5Blzvon%5D=" & $sLeist_zeitv & "&BapiEssr%5Blzbis%5D=" & $sLeist_zeitb & "&BapiEssr%5Bdlort%5D=" & $sLeistungsort & "&BapiEssr%5Bsbnaman%5D=" & $sSachbearbeiter & "&BapiEssr%5Btxz01%5D=" & $sBauabschnitt & "&BapiEssr%5Bdescription%5D=" & $sLangtext & "&save+sheets=" EndIf If GUICtrlRead($kopf_TAB_rd_schluss) = $GUI_CHECKED Then $sPost = "_csrf=" & $sCSRF & "%3D%3D&BapiEssr%5Bfinal%5D=&BapiEssr%5Bfinal%5D=X&BapiEssr%5Blzvon%5D=" & $sLeist_zeitv & "&BapiEssr%5Blzbis%5D=" & $sLeist_zeitb & "&BapiEssr%5Bdlort%5D=" & $sLeistungsort & "&BapiEssr%5Bsbnaman%5D=" & $sSachbearbeiter & "&BapiEssr%5Btxz01%5D=" & $sBauabschnitt & "&BapiEssr%5Bdescription%5D=" & $sLangtext & "&save+sheets=" Else $sPost = "_csrf=" & $sCSRF & "%3D%3D&BapiEssr%5Bfinal%5D=&BapiEssr%5Bfinal%5D=&BapiEssr%5Blzvon%5D=" & $sLeist_zeitv & "&BapiEssr%5Blzbis%5D=" & $sLeist_zeitb & "&BapiEssr%5Bdlort%5D=" & $sLeistungsort & "&BapiEssr%5Bsbnaman%5D=" & $sSachbearbeiter & "&BapiEssr%5Btxz01%5D=" & $sBauabschnitt & "&BapiEssr%5Bdescription%5D=" & $sLangtext & "&save+sheets=" EndIf $aHTML = _WinHttpSimpleSSLRequest($aHosts[1][1], "POST", "/sheet/create-sheet?c=1&id=" & $sDetailsID, "https://www.evergabe.telekom.de/sheet/create-sheet?c=1&id=" & $sDetailsID, $sPost, $sHeader, True) ;~ MsgBox(64, "", "texte anschauen v") ;~ _Write_to_Console($aHTML[0]) ;~ _Write_to_Console($aHTML[1]) ;~ _DebugArrayDisplay($aHTML) If IsArray($aHTML) Then _Write_to_Console("Leb Angelegt! ") ;~ _Write_to_Console($aHTML[2]) ;~ https://www.evergabe.telekom.de/sheet/header?c=1&sheetId=0007873547 $aSheetID = StringRegExp($aHTML[2], 'sheetId=(.*)', 3) ;alt If IsArray($aSheetID) Then $sHTML = _send_WinhttpS_GET($aHosts[1][1], "/sheet/header?c=1&sheetId=" & $aSheetID[0], "") ;evtl nicht direkt eingabe Global $iSheetID = $aSheetID[0] For $i = 0 To UBound($aInhalt) - 1 $sHTML = _send_WinhttpS_GET($aHosts[1][1], "/sheet-position/index?c=1&sheetId=" & $aSheetID[0], "") ;evtl nicht direkt eingabe $sCSRF = _EV_GET_CSRF($sHTML) If $sCSRF = "False" Then ;~ GUICtrlSetData($lbl_status, "CSRF Fehler Sitzung abgelaufen!") _Write_to_Console("CSRF Fehler Sitzung abgelaufen!") Else $sPositionNr = $aInhalt[$i][1] $sPost = "_csrf=" & $sCSRF & "%3D%3D&ServicePosition%5Bnumber%5D=" & $sPositionNr & "&insertPosition=0" $aHTML = _WinHttpSimpleSSLRequest($aHosts[1][1], "POST", "/sheet-position/index?c=1&sheetId=" & $aSheetID[0], "https://www.evergabe.telekom.de/sheet-position/index?c=1&sheetId=" & $aSheetID[0], $sPost, "", True) If IsArray($aHTML) Then If StringInStr($aHTML[1], "Nullen können weggelassen") Then _Write_to_Console($aInhalt[$i][1] & "|" & $aInhalt[$i][8] & " keine gültige Positionen") ;~ ClipPut($aInhalt[$i][1]) ;~ MsgBox(64, "keine gültige Pos", $aInhalt[$i][1] & "|" & $aInhalt[$i][8]) Else $aLocationlink = StringRegExp($aHTML[2], 'telekom.de(.*)', 3) If IsArray($aLocationlink) Then $aPosID = StringRegExp($aLocationlink[0], 'positionId=([^&]+)', 3) If IsArray($aPosID) Then $sHTML = _send_WinhttpS_GET($aHosts[1][1], $aLocationlink[0], "") ;notwendig für neues Token $sCSRF = _EV_GET_CSRF($sHTML) If $sCSRF = "False" Then ;~ GUICtrlSetData($lbl_status, "CSRF Fehler Sitzung abgelaufen!") ;~ _Write_to_Console("CSRF Fehler Sitzung abgelaufen!") Else $iSheetID = $aSheetID[0] $sHTML = _send_WinhttpS_GET($aHosts[1][1], "/sheet-position/create?insertPosition=0&positionId=" & $aPosID[0] & "&c=1&sheetId=" & $iSheetID, "") If $bDebug = "True" Then FileDelete(@ScriptDir & "\test_temp_body.txt") FileWrite(@ScriptDir & "\test_temp_body.txt", $sHTML) MsgBox(64, "show Body", "") EndIf ;~ $sPost = "_csrf=" & $sCSRF & "%3D%3D&ServicePosition%5B0%5D%5BsectionText%5D=MFG+A536&ServicePosition%5B0%5D%5BformulaSymbol%5D=ME&ServicePosition%5B0%5D%5BformulaValueMultiplier%5D=2&ServicePosition%5B0%5D%5BformulaValueLength%5D=2&ServicePosition%5B0%5D%5BlongText%5D=Rohre+auslegen&ServicePosition%5B0%5D%5Bid%5D=" & $aPosID[0] & "&clientId=1&sheetId=" & $aSheetID[0] & "&insertPosition=0&save=" ;~ $aHTML = _WinHttpSimpleSSLRequest($aHosts[1][1], "POST", "/sheet-position/index?c=1&sheetId=" & $aSheetID[0], "https://www.evergabe.telekom.de/sheet-position/index?c=1&sheetId=" & $aSheetID[0], $sPost, "", True) ;~ FileWrite(@ScriptDir&"\test_temp_head.txt",$aHTML[0]) If StringInStr($sHTML, "Pflichtbe") And $aInhalt[$i][9] = "" Then ;~ FileWrite(@ScriptDir&"\begründung_notwendig.txt",$sHTML) ;~ _Write_to_Console($aInhalt[$i][1] & " | " & $aInhalt[$i][8] & "| Begründung notwendig") FileWrite(@ScriptDir & "\begründung_notwendig_neu.txt", $aInhalt[$i][1] & "|" & $aInhalt[$i][8] & @CRLF) ;~ MsgBox(64, $aInhalt[$i][1], $aInhalt[$i][8] & "| Begründung notwendig") EndIf If StringInStr($sHTML, "Pflichtbe") Then FileWrite(@ScriptDir & "\begründung_notwendig.txt", $aInhalt[$i][1] & "|" & $aInhalt[$i][8] & @CRLF) ;~ MsgBox(64,$aInhalt[$i][1],$aInhalt[$i][8]&"| Begründung notwendig") EndIf ;~ MsgBox(64,"","schau an") ;~ _ArrayDisplay($aHTML) Select Case $aInhalt[$i][7] = "ST" ;bei Stück _EV_ADD_ST_insert($i, $aInhalt[$i][0], $aInhalt[$i][9], $aInhalt[$i][10], $aPosID[0], $iSheetID, $sCSRF, $aInhalt[$i][1] & "|" & $aInhalt[$i][8]) ;~ _EV_ADD_ST_insert($aInhalt[$i][0], $aInhalt[$i][9], $aInhalt[$i][10], $aPosID[0], $iSheetID, $sCSRF) ;~ GUICtrlSetData($lbl_status,"Position: "&$aInhalt[$i][1] & " "& $aInhalt[$i][0] " hinzugefügt!") Case $aInhalt[$i][7] = "M" ; bei Meter _EV_ADD_M_insert($i, $aInhalt[$i][0], $aInhalt[$i][9], $aInhalt[$i][2], $aInhalt[$i][3], $aPosID[0], $iSheetID, $sCSRF, $aInhalt[$i][1] & "|" & $aInhalt[$i][8]) ;~ GUICtrlSetData($lbl_status,"Position: "&$aInhalt[$i][1] & " "& $aInhalt[$i][0] " hinzugefügt!") Case $aInhalt[$i][7] = "M2" ; bei m2 _EV_ADD_M2_insert($i, $aInhalt[$i][0], $aInhalt[$i][9], $aInhalt[$i][2], $aInhalt[$i][3], $aInhalt[$i][4], $aPosID[0], $iSheetID, $sCSRF, $aInhalt[$i][1] & "|" & $aInhalt[$i][8]) ;~ GUICtrlSetData($lbl_status,"Position: "&$aInhalt[$i][1] & " "& $aInhalt[$i][0] " hinzugefügt!") Case $aInhalt[$i][7] = "M3" ;m3 _EV_ADD_M3_insert($i, $aInhalt[$i][0], $aInhalt[$i][9], $aInhalt[$i][2], $aInhalt[$i][3], $aInhalt[$i][4], $aInhalt[$i][5], $aPosID[0], $iSheetID, $sCSRF, $aInhalt[$i][1] & "|" & $aInhalt[$i][8]) ;~ GUICtrlSetData($lbl_status,"Position: "&$aInhalt[$i][1] & " "& $aInhalt[$i][0] " hinzugefügt!") Case $aInhalt[$i][7] = "STD" ; STD _EV_ADD_STD_insert($i, $aInhalt[$i][0], $aInhalt[$i][9], $aInhalt[$i][10], $aPosID[0], $iSheetID, $sCSRF, $aInhalt[$i][1] & "|" & $aInhalt[$i][8]) ;~ GUICtrlSetData($lbl_status,"Position: "&$aInhalt[$i][1] & " "& $aInhalt[$i][0] " hinzugefügt!") Case $aInhalt[$i][7] = "LE" ; LE _EV_ADD_LE_insert($i, $aInhalt[$i][0], $aInhalt[$i][9], $aInhalt[$i][10], $aPosID[0], $iSheetID, $sCSRF, $aInhalt[$i][1] & "|" & $aInhalt[$i][8]) ;~ GUICtrlSetData($lbl_status,"Position: "&$aInhalt[$i][1] & " "& $aInhalt[$i][0] " hinzugefügt!") EndSelect ;~ GUICtrlSetData($lbl_status, $aInhalt[$i][1] & "|" & $aInhalt[$i][8] & "... Eintrag hinzugefügt!") ;~ _Write_to_Console($aInhalt[$i][1] & "|" & $aInhalt[$i][8] & "... Eintrag hinzugefügt!") EndIf EndIf Else MsgBox(64, "kein Location link vorhanden", "kein Location link vorhanden") EndIf EndIf EndIf ;~ MsgBox(64, "Pos insert check", "") EndIf Next Else _Write_to_Console("sheetID link=> " & $aHTML[2] & "Pattern: " & "sheetId=(.*)") EndIf ;~ MsgBox(64, "LerF Fehler__", "__Bitte Lerf Annehmen!!!!") EndIf EndIf Else EndIf EndIf Else _Write_to_Console("kein Aufmaß gefunden!") EndIf EndFunc ;==>_EV_Pos_eintragen_Bestellung Func _EV_Pos_eintragen($aInhalt) Global $sDetailsID $sSMnr = IniRead(@ScriptDir & "\daten\conf.ini", "Kopfdaten", "SMNr", "") If IsArray($aInhalt) Then _Write_to_Console("Suche SM-Nr: | " & $sSMnr) $aArrayList = _EV_Search_SM($sSMnr) ;~ _DebugArrayDisplay($aArrayList) If UBound($aArrayList) > 1 Then $sDetailsID = _create_Gui_Ausw($aArrayList) Else $sDetailsID = $aArrayList[0][3] EndIf _Write_to_Console("DetailsID: " & $sDetailsID) _Write_to_Console("Öffne DetailsID : | " & StringReplace($sDetailsID, "&c=1", "")) $sHTML = _send_WinhttpS_GET($aHosts[1][1], "/framework-agreement-call/details?id=" & $sDetailsID & "&c=1", "https://www.evergabe.telekom.de/") If Not StringInStr($sHTML, 'LERF nicht möglich') Then ;LEB anlegen $sHTML = _send_WinhttpS_GET($aHosts[1][1], "/sheet/index?c=1&importId=" & $sDetailsID, "https://www.evergabe.telekom.de/" & "/framework-agreement-call/details?id=" & $sDetailsID & "&c=1") $sHTML = _send_WinhttpS_GET($aHosts[1][1], "/sheet/create-sheet?c=1&id=" & $sDetailsID, "https://www.evergabe.telekom.de/" & "/sheet/index?c=1&importId=" & $sDetailsID) ;evtl nicht direkt eingabe $sCSRF = _EV_GET_CSRF($sHTML) If $sCSRF = "False" Then _Write_to_Console("CSRF Fehler Sitzung abgelaufen!") Else $sLeist_zeitv = IniRead(@ScriptDir & "\daten\conf.ini", "Kopfdaten", "StartZ", "") $sLeist_zeitb = IniRead(@ScriptDir & "\daten\conf.ini", "Kopfdaten", "EndZ", "") ; mit UrlEncode $sLeistungsort1 = IniRead(@ScriptDir & "\daten\conf.ini", "Kopfdaten", "Baustelle", "") If StringLen($sLeistungsort1) >= 25 Then $sLeistungsortso = $sLeistungsort1 $sLeistungsort1 = StringMid($sLeistungsort1, 1, 25) Else $sLeistungsortso = $sLeistungsort1 EndIf $sLeistungsort = _URIEncode($sLeistungsort1) ; max 25 Zeichen $sSachbearbeiter = IniRead(@ScriptDir & "\daten\conf.ini", "EVergabe", "Name", "xxx") If StringLen($sSachbearbeiter) >= 12 Then $sSachbearbeiter_temp = $sSachbearbeiter $sSachbearbeiter = StringMid($sSachbearbeiter_temp, 1, 12) ;~ $sSachbearbeiter = $sSachbearbeiter_temp EndIf ;~ MsgBox(64, "", $sSachbearbeiter) ; mit UrlEncode $sBauabschnitt = IniRead(@ScriptDir & "\daten\conf.ini", "Kopfdaten", "Bauabschnitt", "") If StringLen($sBauabschnitt) >= 40 Then $sBauabschnitt = StringMid($sBauabschnitt, 1, 39) EndIf $sBauabschnitt = _URIEncode($sBauabschnitt) $sKurztext = "SM " ; max 40 Zeichen $sKurztext = StringReplace($sKurztext, "SM ", "SM " & $sSMnr) If StringLen($sKurztext) >= 40 Then $sKurztext = StringMid($sKurztext, 1, 39) EndIf $sKurztext = _URIEncode($sKurztext) ; mit UrlEncode $s_SMnrINi = IniRead(@ScriptDir & "\daten\conf.ini", "Kopfdaten", "SMNr", $sSMnr) $sLangtext = IniRead(@ScriptDir & "\daten\conf.ini", "Kopfdaten", "Baustelle", "") & " " & IniRead(@ScriptDir & "\daten\conf.ini", "Kopfdaten", "Bauabschnitt", "") & " " & "SM " & $s_SMnrINi & @CRLF & GUICtrlRead($tab_plan_ed_SListe) ;~ $sLangtext = IniRead(@ScriptDir & "\daten\conf.ini", "Kopfdaten", "Baustelle", "") & " " & IniRead(@ScriptDir & "\daten\conf.ini", "Kopfdaten", "Bauabschnitt", "") & " " & "SM " & $sSMnr; alt $sLangtext = _URIEncode($sLangtext) Sleep(1000) ;~ MsgBox(64, "Langtext", $sLangtext) $sHeader = "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8" & @CRLF & "Accept-Language: de,en-US;q=0.7,en;q=0.3" & @CRLF & "Accept-Encoding: gzip, deflate, br" & @CRLF & "Content-Type: application/x-www-form-urlencoded" & @CRLF & "Origin: https://www.evergabe.telekom.de" & @CRLF & "Upgrade-Insecure-Requests: 1" & @CRLF & "Sec-Fetch-Dest: document" & @CRLF & "Sec-Fetch-Mode: navigate" & @CRLF & "Sec-Fetch-Site: same-origin" & @CRLF & "Sec-Fetch-User: ?1" & @CRLF If GUICtrlRead($kopf_TAB_rd_teilauf) = $GUI_CHECKED Then $sPost = "_csrf=" & $sCSRF & "%3D%3D&BapiEssr%5Bfinal%5D=&BapiEssr%5Bfinal%5D=&BapiEssr%5Blzvon%5D=" & $sLeist_zeitv & "&BapiEssr%5Blzbis%5D=" & $sLeist_zeitb & "&BapiEssr%5Bdlort%5D=" & $sLeistungsort & "&BapiEssr%5Bsbnaman%5D=" & $sSachbearbeiter & "&BapiEssr%5Btxz01%5D=" & $sBauabschnitt & "&BapiEssr%5Bdescription%5D=" & $sLangtext & "&save+sheets=" EndIf If GUICtrlRead($kopf_TAB_rd_schluss) = $GUI_CHECKED Then $sPost = "_csrf=" & $sCSRF & "%3D%3D&BapiEssr%5Bfinal%5D=&BapiEssr%5Bfinal%5D=X&BapiEssr%5Blzvon%5D=" & $sLeist_zeitv & "&BapiEssr%5Blzbis%5D=" & $sLeist_zeitb & "&BapiEssr%5Bdlort%5D=" & $sLeistungsort & "&BapiEssr%5Bsbnaman%5D=" & $sSachbearbeiter & "&BapiEssr%5Btxz01%5D=" & $sBauabschnitt & "&BapiEssr%5Bdescription%5D=" & $sLangtext & "&save+sheets=" Else $sPost = "_csrf=" & $sCSRF & "%3D%3D&BapiEssr%5Bfinal%5D=&BapiEssr%5Bfinal%5D=&BapiEssr%5Blzvon%5D=" & $sLeist_zeitv & "&BapiEssr%5Blzbis%5D=" & $sLeist_zeitb & "&BapiEssr%5Bdlort%5D=" & $sLeistungsort & "&BapiEssr%5Bsbnaman%5D=" & $sSachbearbeiter & "&BapiEssr%5Btxz01%5D=" & $sBauabschnitt & "&BapiEssr%5Bdescription%5D=" & $sLangtext & "&save+sheets=" EndIf ;~ _Write_to_Console($sPost) ;~ ConsoleWrite($sPost) ;~ MsgBox(64, "stop", "stop") $aHTML = _WinHttpSimpleSSLRequest($aHosts[1][1], "POST", "/sheet/create-sheet?c=1&iid=" & $sDetailsID, "https://www.evergabe.telekom.de/sheet/create-sheet?c=1&iid=" & $sDetailsID, $sPost, $sHeader, True) ;~ _Write_to_Console($aHTML[0]) ;~ _Write_to_Console($aHTML[1]) ;~ _DebugArrayDisplay($aHTML) ;~ MsgBox(64, "stop", "stop") If IsArray($aHTML) Then _Write_to_Console("Leb Angelegt! ") _Write_to_Console($aHTML[2]) ;~ https://www.evergabe.telekom.de/sheet/header?c=1&sheetId=0007873547 $aSheetID = StringRegExp($aHTML[2], 'sheetId=(.*)', 3) ;alt If IsArray($aSheetID) Then $sHTML = _send_WinhttpS_GET($aHosts[1][1], "/sheet/header?c=1&sheetId=" & $aSheetID[0], "") ;evtl nicht direkt eingabe Global $iSheetID = $aSheetID[0] For $i = 0 To UBound($aInhalt) - 1 $sHTML = _send_WinhttpS_GET($aHosts[1][1], "/sheet-position/index?c=1&sheetId=" & $aSheetID[0], "") ;evtl nicht direkt eingabe $sCSRF = _EV_GET_CSRF($sHTML) If $sCSRF = "False" Then ;~ GUICtrlSetData($lbl_status, "CSRF Fehler Sitzung abgelaufen!") _Write_to_Console("CSRF Fehler Sitzung abgelaufen!") Else $sPositionNr = $aInhalt[$i][1] $sPost = "_csrf=" & $sCSRF & "%3D%3D&ServicePosition%5Bnumber%5D=" & $sPositionNr & "&insertPosition=0" $aHTML = _WinHttpSimpleSSLRequest($aHosts[1][1], "POST", "/sheet-position/index?c=1&sheetId=" & $aSheetID[0], "https://www.evergabe.telekom.de/sheet-position/index?c=1&sheetId=" & $aSheetID[0], $sPost, "", True) If IsArray($aHTML) Then If StringInStr($aHTML[1], "Nullen können weggelassen") Then _Write_to_Console($aInhalt[$i][1] & "|" & $aInhalt[$i][8] & " keine gültige Positionen") ;~ ClipPut($aInhalt[$i][1]) ;~ MsgBox(64, "keine gültige Pos", $aInhalt[$i][1] & "|" & $aInhalt[$i][8]) Else $aLocationlink = StringRegExp($aHTML[2], 'telekom.de(.*)', 3) If IsArray($aLocationlink) Then $aPosID = StringRegExp($aLocationlink[0], 'positionId=([^&]+)', 3) If IsArray($aPosID) Then $sHTML = _send_WinhttpS_GET($aHosts[1][1], $aLocationlink[0], "") ;notwendig für neues Token $sCSRF = _EV_GET_CSRF($sHTML) If $sCSRF = "False" Then ;~ GUICtrlSetData($lbl_status, "CSRF Fehler Sitzung abgelaufen!") ;~ _Write_to_Console("CSRF Fehler Sitzung abgelaufen!") Else $iSheetID = $aSheetID[0] $sHTML = _send_WinhttpS_GET($aHosts[1][1], "/sheet-position/create?insertPosition=0&positionId=" & $aPosID[0] & "&c=1&sheetId=" & $iSheetID, "") If $bDebug = "True" Then FileDelete(@ScriptDir & "\test_temp_body.txt") FileWrite(@ScriptDir & "\test_temp_body.txt", $sHTML) MsgBox(64, "show Body", "") EndIf ;~ $sPost = "_csrf=" & $sCSRF & "%3D%3D&ServicePosition%5B0%5D%5BsectionText%5D=MFG+A536&ServicePosition%5B0%5D%5BformulaSymbol%5D=ME&ServicePosition%5B0%5D%5BformulaValueMultiplier%5D=2&ServicePosition%5B0%5D%5BformulaValueLength%5D=2&ServicePosition%5B0%5D%5BlongText%5D=Rohre+auslegen&ServicePosition%5B0%5D%5Bid%5D=" & $aPosID[0] & "&clientId=1&sheetId=" & $aSheetID[0] & "&insertPosition=0&save=" ;~ $aHTML = _WinHttpSimpleSSLRequest($aHosts[1][1], "POST", "/sheet-position/index?c=1&sheetId=" & $aSheetID[0], "https://www.evergabe.telekom.de/sheet-position/index?c=1&sheetId=" & $aSheetID[0], $sPost, "", True) ;~ FileWrite(@ScriptDir&"\test_temp_head.txt",$aHTML[0]) If StringInStr($sHTML, "Pflichtbe") And $aInhalt[$i][9] = "" Then ;~ FileWrite(@ScriptDir&"\begründung_notwendig.txt",$sHTML) ;~ _Write_to_Console($aInhalt[$i][1] & " | " & $aInhalt[$i][8] & "| Begründung notwendig") FileWrite(@ScriptDir & "\begründung_notwendig_neu.txt", $aInhalt[$i][1] & "|" & $aInhalt[$i][8] & @CRLF) ;~ MsgBox(64, $aInhalt[$i][1], $aInhalt[$i][8] & "| Begründung notwendig") EndIf If StringInStr($sHTML, "Pflichtbe") Then FileWrite(@ScriptDir & "\begründung_notwendig.txt", $aInhalt[$i][1] & "|" & $aInhalt[$i][8] & @CRLF) ;~ MsgBox(64,$aInhalt[$i][1],$aInhalt[$i][8]&"| Begründung notwendig") EndIf ;~ MsgBox(64,"","schau an") ;~ _ArrayDisplay($aHTML) Select Case $aInhalt[$i][7] = "ST" ;bei Stück _EV_ADD_ST_insert($i, $aInhalt[$i][0], $aInhalt[$i][9], $aInhalt[$i][10], $aPosID[0], $iSheetID, $sCSRF, $aInhalt[$i][1] & "|" & $aInhalt[$i][8]) ;~ _EV_ADD_ST_insert($aInhalt[$i][0], $aInhalt[$i][9], $aInhalt[$i][10], $aPosID[0], $iSheetID, $sCSRF) ;~ GUICtrlSetData($lbl_status,"Position: "&$aInhalt[$i][1] & " "& $aInhalt[$i][0] " hinzugefügt!") Case $aInhalt[$i][7] = "M" ; bei Meter _EV_ADD_M_insert($i, $aInhalt[$i][0], $aInhalt[$i][9], $aInhalt[$i][2], $aInhalt[$i][3], $aPosID[0], $iSheetID, $sCSRF, $aInhalt[$i][1] & "|" & $aInhalt[$i][8]) ; alt ;~ _EV_ADD_M_insert($aInhalt[$i][0], $aInhalt[$i][9], $aInhalt[$i][2], $aInhalt[$i][3], $aPosID[0], $iSheetID, $sCSRF, $aInhalt[$i][1] & "|" & $aInhalt[$i][8]) ;~ GUICtrlSetData($lbl_status,"Position: "&$aInhalt[$i][1] & " "& $aInhalt[$i][0] " hinzugefügt!") Case $aInhalt[$i][7] = "M2" ; bei m2 _EV_ADD_M2_insert($i, $aInhalt[$i][0], $aInhalt[$i][9], $aInhalt[$i][2], $aInhalt[$i][3], $aInhalt[$i][4], $aPosID[0], $iSheetID, $sCSRF, $aInhalt[$i][1] & "|" & $aInhalt[$i][8]) ;~ GUICtrlSetData($lbl_status,"Position: "&$aInhalt[$i][1] & " "& $aInhalt[$i][0] " hinzugefügt!") Case $aInhalt[$i][7] = "M3" ;m3 _EV_ADD_M3_insert($i, $aInhalt[$i][0], $aInhalt[$i][9], $aInhalt[$i][2], $aInhalt[$i][3], $aInhalt[$i][4], $aInhalt[$i][5], $aPosID[0], $iSheetID, $sCSRF, $aInhalt[$i][1] & "|" & $aInhalt[$i][8]) ;~ GUICtrlSetData($lbl_status,"Position: "&$aInhalt[$i][1] & " "& $aInhalt[$i][0] " hinzugefügt!") Case $aInhalt[$i][7] = "STD" ; STD _EV_ADD_STD_insert($i, $aInhalt[$i][0], $aInhalt[$i][9], $aInhalt[$i][10], $aPosID[0], $iSheetID, $sCSRF, $aInhalt[$i][1] & "|" & $aInhalt[$i][8]) ;~ GUICtrlSetData($lbl_status,"Position: "&$aInhalt[$i][1] & " "& $aInhalt[$i][0] " hinzugefügt!") Case $aInhalt[$i][7] = "LE" ; LE _EV_ADD_LE_insert($i, $aInhalt[$i][0], $aInhalt[$i][9], $aInhalt[$i][10], $aPosID[0], $iSheetID, $sCSRF, $aInhalt[$i][1] & "|" & $aInhalt[$i][8]) ;~ GUICtrlSetData($lbl_status,"Position: "&$aInhalt[$i][1] & " "& $aInhalt[$i][0] " hinzugefügt!") EndSelect ;~ GUICtrlSetData($lbl_status, $aInhalt[$i][1] & "|" & $aInhalt[$i][8] & "... Eintrag hinzugefügt!") ;~ _Write_to_Console($aInhalt[$i][1] & "|" & $aInhalt[$i][8] & "... Eintrag hinzugefügt!") EndIf EndIf Else MsgBox(64, "kein Location link vorhanden", "kein Location link vorhanden") EndIf EndIf EndIf ;~ MsgBox(64, "Pos insert check", "") EndIf Next Else _Write_to_Console("sheetID link=> " & $aHTML[2] & " Pattern: " & "sheetId=(.*)") EndIf EndIf EndIf Else MsgBox(64, "LerF Fehler", "Bitte Lerf Annehmen!!!!") EndIf Else _Write_to_Console("kein Aufmaß gefunden!") EndIf EndFunc ;==>_EV_Pos_eintragen Func _EV_GET_DetailsID_Info($sDetailsIDPreis) ;~ https://www.evergabe.telekom.de $sBaustelle = GUICtrlRead($kopf_tab_txt_baustelle) $sBauabschnitt = GUICtrlRead($kopf_tab_txt_bauabschnitt) $sAbrufNR = GUICtrlRead($kopf_tab_txt_abrufnr) $sSMnr = GUICtrlRead($kopf_tab_txt_smnr) ;~ FileWrite(@ScriptDir & "\Aufträge2Excel.txt", $txt_smnr & "|" & $txt_abrufnr & "|" & $txt_bauabschnitt & "|" & $iSum & @CRLF) $sDateiname = "" $sText = "" $sDateiname = $sBaustelle & "_" & $sBauabschnitt & "_" & $sSMnr & "_" & $sAbrufNR $sDateiname = StringReplace($sDateiname, "?", " ") $sDateiname = StringReplace($sDateiname, "*", " ") $sDateiname = StringReplace($sDateiname, "<", " ") $sDateiname = StringReplace($sDateiname, ">", " ") $sDateiname = StringReplace($sDateiname, ",", " ") $sDateiname = StringReplace($sDateiname, "\", " ") $sDateiname = StringReplace($sDateiname, "+", " ") $sDateiname = StringReplace($sDateiname, ":", " ") $sDateiname = StringReplace($sDateiname, "=", " ") $sDateiname = StringReplace($sDateiname, "/", " ") $sDateiname = StringReplace($sDateiname, '"', " ") $sDateiname = StringReplace($sDateiname, ";", " ") $sDateiname = StringReplace($sDateiname, "[", " ") $sDateiname = StringReplace($sDateiname, "]", " ") $sDateiname = StringReplace($sDateiname, "[", " ") $sDateiname = StringReplace($sDateiname, "{", " ") $sDateiname = StringReplace($sDateiname, "}", " ") $sDateiname = StringReplace($sDateiname, "|", " ") $sDateiname = StringReplace($sDateiname, " ", "_") $sDateiname = StringReplace($sDateiname, "__", "_") $sHTML = _send_WinhttpS_GET($aHosts[1][1], "/sheet/index?c=1&importId=" & $sDetailsIDPreis, "https://www.evergabe.telekom.de/framework-agreement-call") $aPages = StringRegExp($sHTML, 'importId=\d+&page=([^"]+)', 3) If IsArray($aPages) Then $iMax = _ArrayMax($aPages) Dim $aLEBP[1] Dim $aShID[1] For $iPage = 1 To $iMax $sHTML = _send_WinhttpS_GET($aHosts[1][1], "/sheet/index?c=1&importId=" & $sDetailsIDPreis & "&page=" & $iPage, "https://www.evergabe.telekom.de/framework-agreement-call") $aLEBPreis = StringRegExp($sHTML, 'Wert LEB: ([^ ]+)€', 3) $aSheetIDs = StringRegExp($sHTML, '€([^<]+)', 3) For $iiii = 0 To UBound($aLEBPreis) - 1 _ArrayAdd($aLEBP, $aLEBPreis[$iiii]) _ArrayAdd($aShID, $aSheetIDs[$iiii]) Next Next For $i = 0 To UBound($aShID) - 1 If $aShID[$i] = $iSheetID Then ConsoleWrite("##########" & @CRLF) ConsoleWrite($sDateiname & " => " & $aLEBP[$i] & @CRLF) ConsoleWrite("https://www.evergabe.telekom.de/sheet/header?class=list-item&sheetId=" & $aShID[$i] & "&c=1" & @CRLF) ConsoleWrite("##########" & @CRLF) $sText_log = $sDateiname & " => " & $aLEBP[$i] & @CRLF & "https://www.evergabe.telekom.de/sheet/header?class=list-item&sheetId=" & $aShID[$i] & "&c=1" & @CRLF FileWrite(@ScriptDir & "\daten\_LOG_E-Vergabe.txt", $sText_log & @CRLF) $txt_bauabschnitt = $sBaustelle & "_" & $sBauabschnitt $iSum = $aLEBP[$i] FileWrite(@ScriptDir & "\daten\Aufträge2Excel.txt", $sSMnr & "|" & $sAbrufNR & "|" & $txt_bauabschnitt & "|" & $iSum & @CRLF) $sText = $sDateiname & " => " & $aLEBP[$i] GUICtrlSetData($logs_tab_ed_logs, GUICtrlRead($logs_tab_ed_logs) & @CRLF & $sText) $sText = "https://www.evergabe.telekom.de/sheet/header?class=list-item&sheetId=" & $aShID[$i] & "&c=1" GUICtrlSetData($logs_tab_ed_logs, GUICtrlRead($logs_tab_ed_logs) & @CRLF & $sText) _GUICtrlEdit_LineScroll($logs_tab_ed_logs, 0, _GUICtrlEdit_GetLineCount($logs_tab_ed_logs)) ;~ ;https://www.evergabe.telekom.de/sheet/header?class=list-item&sheetId=0006740712&c=1 EndIf Next Else $aLEBPreis = StringRegExp($sHTML, 'Wert LEB: ([^ ]+)€', 3) $aSheetIDs = StringRegExp($sHTML, '€([^<]+)', 3) For $i = 0 To UBound($aSheetIDs) - 1 If $aSheetIDs[$i] = $iSheetID Then ConsoleWrite("##########" & @CRLF) ConsoleWrite($sDateiname & " => " & $aLEBPreis[$i] & @CRLF) ConsoleWrite("https://www.evergabe.telekom.de/sheet/header?class=list-item&sheetId=" & $aSheetIDs[$i] & "&c=1" & @CRLF) ConsoleWrite("##########" & @CRLF) $sText_log = $sDateiname & " => " & $aLEBPreis[$i] & @CRLF & "https://www.evergabe.telekom.de/sheet/header?class=list-item&sheetId=" & $aSheetIDs[$i] & "&c=1" & @CRLF FileWrite(@ScriptDir & "\daten\_LOG_E-Vergabe.txt", $sText_log & @CRLF) $txt_bauabschnitt = $sBaustelle & "_" & $sBauabschnitt $iSum = $aLEBPreis[$i] FileWrite(@ScriptDir & "\daten\Aufträge2Excel.txt", $sSMnr & "|" & $sAbrufNR & "|" & $txt_bauabschnitt & "|" & $iSum & @CRLF) $sText = $sDateiname & " => " & $aLEBPreis[$i] GUICtrlSetData($logs_tab_ed_logs, GUICtrlRead($logs_tab_ed_logs) & @CRLF & $sText) $sText = "https://www.evergabe.telekom.de/sheet/header?class=list-item&sheetId=" & $aSheetIDs[$i] & "&c=1" GUICtrlSetData($logs_tab_ed_logs, GUICtrlRead($logs_tab_ed_logs) & @CRLF & $sText) _GUICtrlEdit_LineScroll($logs_tab_ed_logs, 0, _GUICtrlEdit_GetLineCount($logs_tab_ed_logs)) ;https://www.evergabe.telekom.de/sheet/header?class=list-item&sheetId=0006740712&c=1 EndIf Next EndIf EndFunc ;==>_EV_GET_DetailsID_Info Func _EV_Login($sUsername, $sPasswort) $sHTML = _send_Winhttp_GET($aHosts[1][1], "/", "https://www.evergabe.telekom.de/") ;~ ClipPut($sHTML) ;~ MsgBox(64, "Startseite", "Quellcode") $aCSRF = StringRegExp($sHTML, '_csrf" value="([^=]+)', 3) If IsArray($aCSRF) Then Global $sHeader = "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8" & @CRLF & "Accept-Language: de,en-US;q=0.7,en;q=0.3" & @CRLF & "Accept-Encoding: gzip, deflate, br" & @CRLF & "Content-Type: application/x-www-form-urlencoded" & @CRLF & "Origin: https://www.evergabe.telekom.de" & @CRLF ;_csrf=3Ufeg_ufz3Ppp6mfgHBrH2YDc_XRBM54nglmoJ3FsHySLonRzturNNHz0OjWP15cDzEYmJ1c_BTaeTeRroT6OQ==&LoginForm[username]=Ufuk Tool&LoginForm[password]=Ufuk2021! ;_csrf=3Ufeg_ufz3Ppp6mfgHBrH2YDc_XRBM54nglmoJ3FsHySLonRzturNNHz0OjWP15cDzEYmJ1c_BTaeTeRroT6OQ%3D%3D&LoginForm%5Busername%5D=Ufuk+Tool&LoginForm%5Bpassword%5D=Ufuk2021%21 $sPosu = "_csrf=" & $aCSRF[0] & "%3D%3D&LoginForm%5Busername%5D=" & _URIEncode($sUsername) & "&LoginForm%5Bpassword%5D=" & _URIEncode($sPasswort) $aHTML = _WinHttpSimpleSSLRequest($aHosts[1][1], "POST", "/public/login", "https://www.evergabe.telekom.de/", $sPosu, "", True) ;~ _DebugArrayDisplay($aHTML) ;~ ClipPut($sPosu) ;~ MsgBox(64, $sPosu, "") If IsArray($aHTML) Then If StringInStr($aHTML[1], 'Abmelden') Then Return "True" Else Return "False" EndIf EndIf EndIf _Write_to_Console("Seitenfehler/Check Internetseite") EndFunc ;==>_EV_Login Func _EV_Suche_Status_All($sStatus) ;Status Alle max 10 ;~ /framework-agreement-call/index?OrderRecallSearch%5Blimit%5D=10&OrderRecallSearch%5Bdocument_state%5D=-1 ;~ /framework-agreement-call/index?OrderRecallSearch%5Blimit%5D=10&OrderRecallSearch%5Bdocument_state%5D=NEU ;~ /framework-agreement-call/index?OrderRecallSearch%5Blimit%5D=10&OrderRecallSearch%5Bdocument_state%5D=ANGENOMME ;~ /framework-agreement-call/index?OrderRecallSearch%5Blimit%5D=10&OrderRecallSearch%5Bdocument_state%5D=AUSGEF%C3%9CHRT ;~ /framework-agreement-call/index?OrderRecallSearch%5Blimit%5D=10&OrderRecallSearch%5Bdocument_state%5D=ABGESCHLOSSEN ;~ /framework-agreement-call/index?OrderRecallSearch%5Blimit%5D=10&OrderRecallSearch%5Bdocument_state%5D=GEAENDERT ;~ /framework-agreement-call/index?OrderRecallSearch%5Blimit%5D=10&OrderRecallSearch%5Bdocument_state%5D=STORNO ;~ /framework-agreement-call/index?OrderRecallSearch%5Blimit%5D=10&OrderRecallSearch%5Bdocument_state%5D=LEB_FREIGEGEBEN ;~ /framework-agreement-call/index?OrderRecallSearch%5Blimit%5D=10&OrderRecallSearch%5Bdocument_state%5D=LEB_ABGELEHNT ;~ /framework-agreement-call/index?OrderRecallSearch%5Blimit%5D=10&OrderRecallSearch%5Bdocument_state%5D=LEB_IN_BEARBEITUNG ;~ /framework-agreement-call/index?OrderRecallSearch%5Blimit%5D=10&OrderRecallSearch%5Bdocument_state%5D=LEB_AKZEPTIERT ;~ /framework-agreement-call/index?OrderRecallSearch%5Blimit%5D=10&OrderRecallSearch%5Bdocument_state%5D=LEB_rbu ;~ Dim $aStatus[12] = ["-1","NEU","ANGENOMME","AUSGEF%C3%9CHRT","ABGESCHLOSSEN","GEAENDERT","STORNO","LEB_FREIGEGEBEN","LEB_ABGELEHNT","LEB_IN_BEARBEITUNG","LEB_AKZEPTIERT","LEB_rbu"] $sHTML = _send_WinhttpS_GET($aHosts[1][1], "/framework-agreement-call/index?OrderRecallSearch%5Bhead_line%5D=&OrderRecallSearch%5Bdocument_no%5D=&OrderRecallSearch%5Bincoming_date%5D=&OrderRecallSearch%5Border_date%5D=&OrderRecallSearch%5Bgeneral_agreement_id%5D=&OrderRecallSearch%5Bdocument_state%5D=" & $sStatus, "https://www.evergabe.telekom.de") ;~ ClipPut($sHTML) ;~ MsgBox(64,"","") $aAnzBelgeGesamt = StringRegExp($sHTML, '(\d+) Belegen', 3) ;~ _ArrayDisplay($aAnzBelgeGesamt) If IsArray($aAnzBelgeGesamt) Then $sHTML = _send_WinhttpS_GET($aHosts[1][1], "/framework-agreement-call/index?OrderRecallSearch%5Blimit%5D=" & $aAnzBelgeGesamt[0] & "&OrderRecallSearch%5Bdocument_state%5D=" & $sStatus, "https://www.evergabe.telekom.de/") ;~ ClipPut($sHTML) ;~ MsgBox(0, "Status:" & $sStatus & " Belege:" & $aAnzBelgeGesamt[0], "Status:" & $sStatus & " Belege:" & $aAnzBelgeGesamt[0]) ;~ ;Abrufliste gefhilter nach Status ;auslesen Titel ;array's $aTitel = _EV_Abrufliste_GET_Title($sHTML) $aSMnr = _EV_Abrufliste_GET_Bedarfnr($sHTML) ;SMnr $aBelegEinDatum = _EV_Abrufliste_GET_Belegeingang($sHTML) ;Eingang E-Vergabe $aBelegNr42 = _EV_Abrufliste_GET_Belegnr($sHTML) ;42Nr $aAusfuehrungsfrist = _EV_Abrufliste_GET_Ausfuehrungsfrist($sHTML) ;Ausführungsfrist $aDetailID = _EV_Abrufliste_GET_DetailsID($sHTML) ;DetailsID intern für E-Vergabe $aRV = _EV_Abrufliste_GET_RV($sHTML) ;Rahmenvertrag $aStatus = _EV_Abrufliste_GET_Status($sHTML) ;Status Angenommen Abgelehnt usw. ;~ Dim $aListe[UBound($aTitel)][8] ;~ For $i = 0 to UBound($aTitel) - 1 ;~ $aListe[$i][0] = $aRV[$i] ;~ $aListe[$i][1] = $aSMnr[$i] ;~ $aListe[$i][2] = $aTitel[$i] ;~ $aListe[$i][3] = $aBelegNr42[$i] ;~ $aListe[$i][4] = $aBelegEinDatum[$i] ;~ $aListe[$i][5] = $aAusfuehrungsfrist[$i] ;~ $aListe[$i][6] = $aDetailID[$i] ;~ $aListe[$i][7] = $aStatus[$i] ;~ Next Dim $aListe[UBound($aTitel)][10] For $i = 0 To UBound($aTitel) - 1 $aTitel[$i] = StringReplace($aTitel[$i], @CR, ' ') $aTitel[$i] = StringReplace($aTitel[$i], @LF, ' ') $aListe[$i][0] = $aSMnr[$i] $aListe[$i][1] = $aBelegNr42[$i] $aListe[$i][2] = $aDetailID[$i] $aListe[$i][3] = "" $aListe[$i][4] = $aTitel[$i] $aListe[$i][5] = $aRV[$i] $aListe[$i][6] = $aBelegEinDatum[$i] $aListe[$i][7] = $aAusfuehrungsfrist[$i] $aListe[$i][8] = "" $aListe[$i][9] = $aStatus[$i] ;~ $aListe[$i][7] = $aAusfuehrungsfrist[$i] ;~ $aListe[$i][7] = $aAusfuehrungsfrist[$i] ;~ $aListe[$i][7] = $aAusfuehrungsfrist[$i] ;~ $aListe[$i][7] = $aAusfuehrungsfrist[$i] ;~ $aListe[$i][7] = $aAusfuehrungsfrist[$i] ;~ $aListe[$i][7] = $aAusfuehrungsfrist[$i] ;~ $aListe[$i][7] = $aAusfuehrungsfrist[$i] ConsoleWrite($aListe[$i][0] & "|" & $aListe[$i][1] & "|" & $aListe[$i][2] & "|" & $aListe[$i][3] & "|" & $aListe[$i][4] & "|" & $aListe[$i][5] & "|" & $aListe[$i][6] & "|" & $aListe[$i][7] & "|" & $aListe[$i][8] & "|" & $aListe[$i][9] & @CRLF) Next Return $aListe ;~ _ArrayDisplay($aListe) EndIf EndFunc ;==>_EV_Suche_Status_All ;auch noch ändern. Func _EV_Insert_Pos($sSMnr) Global $sDetailsID ; Hole Listview in Array $aInhalt = _GUIListViewEx_ReadToArray($LV_Aufm, 1) ;~ _DebugArrayDisplay($aAufmaListe) ;~ $aInhalt = _GUIListViewEx_ReturnArray($iLV_Left_Index, 3) ;~ _DebugArrayDisplay($aInhalt) If IsArray($aInhalt) Then ;~ _DebugArrayDisplay($aInhalt) ;entferne Leere Zeilen vom Array $aAufmaListeString = _ArrayToString($aInhalt, "|") $aTest = StringSplit($aAufmaListeString, @LF) Dim $aListeImport[0][13] For $iii = 1 To UBound($aTest) - 1 If StringInStr($aTest[$iii], "|||||") Then Else _ArrayAdd($aListeImport, $aTest[$iii]) EndIf Next ;~ _DebugArrayDisplay($aListeImport) If GUICtrlRead($kopf_TAB_txt_detailsID) = "" Then ;suche Aufmaß nach SMnr: _Write_to_Console("Suche SM-Nr: | " & $sSMnr) $aArrayList = _EV_Search_SM($sSMnr) ;~ _DebugArrayDisplay($aArrayList) If UBound($aArrayList) > 1 Then ;~ ConsoleWrite(UBound($aArrayList) & @CRLF) $sDetailsID = _create_Gui_Ausw($aArrayList) ;~ MsgBox(64, "", $sDetailsID_Return) Else $sDetailsID = $aArrayList[0][3] EndIf Else $sDetailsID = GUICtrlRead($kopf_TAB_txt_detailsID) EndIf _Write_to_Console("Öffne DetailsID : | " & StringReplace($sDetailsID, "&c=1", "")) $sHTML = _send_WinhttpS_GET($aHosts[1][1], "/framework-agreement-call/details?id=" & $sDetailsID & "&c=1", "https://www.evergabe.telekom.de/") If Not StringInStr($sHTML, 'LERF nicht möglich') Then ;LEB anlegen $sHTML = _send_WinhttpS_GET($aHosts[1][1], "/sheet/index?c=1&importId=" & $sDetailsID, "https://www.evergabe.telekom.de/" & "/framework-agreement-call/details?id=" & $sDetailsID & "&c=1") $sHTML = _send_WinhttpS_GET($aHosts[1][1], "/sheet/create-sheet?c=1&id=" & $sDetailsID, "https://www.evergabe.telekom.de/" & "/sheet/index?c=1&importId=" & $sDetailsID) ;evtl nicht direkt eingabe $sCSRF = _EV_GET_CSRF($sHTML) If $sCSRF = "False" Then GUICtrlSetData($lbl_status, "CSRF Fehler Sitzung abgelaufen!") ;~ _Write_to_Console("CSRF Fehler Sitzung abgelaufen!") Else $sLeist_zeitv = GUICtrlRead($kopf_tab_datum_start) $sLeist_zeitb = GUICtrlRead($kopf_tab_txt_datum_ende) ; mit UrlEncode $sLeistungsort1 = GUICtrlRead($kopf_tab_txt_baustelle) If StringLen($sLeistungsort1) >= 25 Then $sLeistungsortso = $sLeistungsort1 $sLeistungsort1 = StringMid($sLeistungsort1, 1, 25) Else $sLeistungsortso = $sLeistungsort1 EndIf $sLeistungsort = _URIEncode($sLeistungsort1) ; max 25 Zeichen $sSachbearbeiter = IniRead(@ScriptDir & "\daten\conf.ini", "EVergabe", "Name", "xxx") ; mit UrlEncode $sBauabschnitt = GUICtrlRead($kopf_tab_txt_bauabschnitt) If StringLen($sBauabschnitt) >= 40 Then $sBauabschnitt = StringMid($sBauabschnitt, 1, 39) EndIf $sBauabschnitt = _URIEncode($sBauabschnitt) $sKurztext = "SM " ; max 40 Zeichen $sKurztext = StringReplace($sKurztext, "SM ", "SM " & $sSMnr) If StringLen($sKurztext) >= 40 Then $sKurztext = StringMid($sKurztext, 1, 39) EndIf $sKurztext = _URIEncode($sKurztext) ; mit UrlEncode $sLangtext = GUICtrlRead($kopf_tab_txt_baustelle) & " " & GUICtrlRead($kopf_tab_txt_bauabschnitt) & " " & "SM " & GUICtrlRead($kopf_TAB_txt_smnr) $sLangtext = _URIEncode($sLangtext) $sHeader = "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8" & @CRLF & "Accept-Language: de,en-US;q=0.7,en;q=0.3" & @CRLF & "Accept-Encoding: gzip, deflate, br" & @CRLF & "Content-Type: application/x-www-form-urlencoded" & @CRLF $sPost = "_csrf=" & $sCSRF & "%3D%3D&BapiEssr%5Bfinal%5D=&BapiEssr%5Bfinal%5D=&BapiEssr%5Blzvon%5D=" & $sLeist_zeitv & "&BapiEssr%5Blzbis%5D=" & $sLeist_zeitb & "&BapiEssr%5Bdlort%5D=" & $sLeistungsort & "&BapiEssr%5Bsbnaman%5D=" & $sSachbearbeiter & "&BapiEssr%5Btxz01%5D=" & $sBauabschnitt & "&description=" & $sLangtext & "&save+sheets=" $aHTML = _WinHttpSimpleSSLRequest($aHosts[1][1], "POST", "/sheet/create-sheet?c=1&id=" & $sDetailsID, "https://www.evergabe.telekom.de/sheet/create-sheet?c=1&id=" & $sDetailsID, $sPost, $sHeader, True) ;~ _Write_to_Console($aHTML[0]) ;~ _Write_to_Console($aHTML[1]) ;~ _DebugArrayDisplay($aHTML) If IsArray($aHTML) Then ;~ _Write_to_Console("LEB angelegt.") GUICtrlSetData($lbl_status, "LEB angelegt.") _Write_to_Console("Leb Angelegt! ") ;~ ;MsgBox(64, "LEB angelegt schauen", "") ;~ _DebugArrayDisplay($aHTML) $aSheetID = StringRegExp($aHTML[2], 'sheetId=(.*)', 3) ;alt ;~ $aSheetID = StringRegExp($aHTML[2], 'id=(.*)', 3);neu If IsArray($aSheetID) Then ;~ _DebugArrayDisplay($aSheetID) $sHTML = _send_WinhttpS_GET($aHosts[1][1], "/sheet/header?c=1&sheetId=" & $aSheetID[0], "") ;evtl nicht direkt eingabe Global $iSheetID = $aSheetID[0] For $i = 0 To UBound($aListeImport) - 1 $sHTML = _send_WinhttpS_GET($aHosts[1][1], "/sheet-position/index?c=1&sheetId=" & $aSheetID[0], "") ;evtl nicht direkt eingabe $sCSRF = _EV_GET_CSRF($sHTML) If $sCSRF = "False" Then GUICtrlSetData($lbl_status, "CSRF Fehler Sitzung abgelaufen!") ;~ _Write_to_Console("CSRF Fehler Sitzung abgelaufen!") Else $sPositionNr = $aListeImport[$i][1] $sPost = "_csrf=" & $sCSRF & "%3D%3D&ServicePosition%5Bnumber%5D=" & $sPositionNr & "&insertPosition=0" $aHTML = _WinHttpSimpleSSLRequest($aHosts[1][1], "POST", "/sheet-position/index?c=1&sheetId=" & $aSheetID[0], "https://www.evergabe.telekom.de/sheet-position/index?c=1&sheetId=" & $aSheetID[0], $sPost, "", True) If IsArray($aHTML) Then If StringInStr($aHTML[1], "Nullen können weggelassen") Then _Write_to_Console($aListeImport[$i][1] & "|" & $aListeImport[$i][8] & " keine gültige Positionen") ;~ ClipPut($aListeImport[$i][1]) ;~ MsgBox(64, "keine gültige Pos", $aListeImport[$i][1] & "|" & $aListeImport[$i][8]) Else $aLocationlink = StringRegExp($aHTML[2], 'telekom.de(.*)', 3) If IsArray($aLocationlink) Then $aPosID = StringRegExp($aLocationlink[0], 'positionId=([^&]+)', 3) If IsArray($aPosID) Then $sHTML = _send_WinhttpS_GET($aHosts[1][1], $aLocationlink[0], "") ;notwendig für neues Token $sCSRF = _EV_GET_CSRF($sHTML) If $sCSRF = "False" Then GUICtrlSetData($lbl_status, "CSRF Fehler Sitzung abgelaufen!") ;~ _Write_to_Console("CSRF Fehler Sitzung abgelaufen!") Else $iSheetID = $aSheetID[0] $sHTML = _send_WinhttpS_GET($aHosts[1][1], "/sheet-position/create?insertPosition=0&positionId=" & $aPosID[0] & "&c=1&sheetId=" & $iSheetID, "") If $bDebug = "True" Then FileDelete(@ScriptDir & "\test_temp_body.txt") FileWrite(@ScriptDir & "\test_temp_body.txt", $sHTML) MsgBox(64, "show Body", "") EndIf ;~ $sPost = "_csrf=" & $sCSRF & "%3D%3D&ServicePosition%5B0%5D%5BsectionText%5D=MFG+A536&ServicePosition%5B0%5D%5BformulaSymbol%5D=ME&ServicePosition%5B0%5D%5BformulaValueMultiplier%5D=2&ServicePosition%5B0%5D%5BformulaValueLength%5D=2&ServicePosition%5B0%5D%5BlongText%5D=Rohre+auslegen&ServicePosition%5B0%5D%5Bid%5D=" & $aPosID[0] & "&clientId=1&sheetId=" & $aSheetID[0] & "&insertPosition=0&save=" ;~ $aHTML = _WinHttpSimpleSSLRequest($aHosts[1][1], "POST", "/sheet-position/index?c=1&sheetId=" & $aSheetID[0], "https://www.evergabe.telekom.de/sheet-position/index?c=1&sheetId=" & $aSheetID[0], $sPost, "", True) ;~ FileWrite(@ScriptDir&"\test_temp_head.txt",$aHTML[0]) If StringInStr($sHTML, "Pflichtbe") And $aListeImport[$i][9] = "" Then ;~ FileWrite(@ScriptDir&"\begründung_notwendig.txt",$sHTML) ;~ _Write_to_Console($aListeImport[$i][1] & " | " & $aListeImport[$i][8] & "| Begründung notwendig") FileWrite(@ScriptDir & "\begründung_notwendig_neu.txt", $aListeImport[$i][1] & "|" & $aListeImport[$i][8] & @CRLF) ;~ MsgBox(64, $aListeImport[$i][1], $aListeImport[$i][8] & "| Begründung notwendig") EndIf If StringInStr($sHTML, "Pflichtbe") Then FileWrite(@ScriptDir & "\begründung_notwendig.txt", $aListeImport[$i][1] & "|" & $aListeImport[$i][8] & @CRLF) ;~ MsgBox(64,$aListeImport[$i][1],$aListeImport[$i][8]&"| Begründung notwendig") EndIf ;~ MsgBox(64,"","schau an") ;~ _ArrayDisplay($aHTML) Select Case $aListeImport[$i][7] = "ST" ;bei Stück _EV_ADD_ST_insert($i, $aListeImport[$i][0], $aListeImport[$i][9], $aListeImport[$i][10], $aPosID[0], $iSheetID, $sCSRF, $aListeImport[$i][1] & "|" & $aListeImport[$i][8]) ;~ _EV_ADD_ST_insert($aListeImport[$i][0], $aListeImport[$i][9], $aListeImport[$i][10], $aPosID[0], $iSheetID, $sCSRF) ;~ GUICtrlSetData($lbl_status,"Position: "&$aListeImport[$i][1] & " "& $aListeImport[$i][0] " hinzugefügt!") Case $aListeImport[$i][7] = "M" ; bei Meter _EV_ADD_M_insert($i, $aListeImport[$i][0], $aListeImport[$i][9], $aListeImport[$i][2], $aListeImport[$i][3], $aPosID[0], $iSheetID, $sCSRF, $aListeImport[$i][1] & "|" & $aListeImport[$i][8]) ;~ GUICtrlSetData($lbl_status,"Position: "&$aListeImport[$i][1] & " "& $aListeImport[$i][0] " hinzugefügt!") Case $aListeImport[$i][7] = "M2" ; bei m2 _EV_ADD_M2_insert($i, $aListeImport[$i][0], $aListeImport[$i][9], $aListeImport[$i][2], $aListeImport[$i][3], $aListeImport[$i][4], $aPosID[0], $iSheetID, $sCSRF, $aListeImport[$i][1] & "|" & $aListeImport[$i][8]) ;~ GUICtrlSetData($lbl_status,"Position: "&$aListeImport[$i][1] & " "& $aListeImport[$i][0] " hinzugefügt!") Case $aListeImport[$i][7] = "M3" ;m3 _EV_ADD_M3_insert($i, $aListeImport[$i][0], $aListeImport[$i][9], $aListeImport[$i][2], $aListeImport[$i][3], $aListeImport[$i][4], $aListeImport[$i][5], $aPosID[0], $iSheetID, $sCSRF, $aListeImport[$i][1] & "|" & $aListeImport[$i][8]) ;~ GUICtrlSetData($lbl_status,"Position: "&$aListeImport[$i][1] & " "& $aListeImport[$i][0] " hinzugefügt!") Case $aListeImport[$i][7] = "STD" ; STD _EV_ADD_STD_insert($i, $aListeImport[$i][0], $aListeImport[$i][9], $aListeImport[$i][10], $aPosID[0], $iSheetID, $sCSRF, $aListeImport[$i][1] & "|" & $aListeImport[$i][8]) ;~ GUICtrlSetData($lbl_status,"Position: "&$aListeImport[$i][1] & " "& $aListeImport[$i][0] " hinzugefügt!") Case $aListeImport[$i][7] = "LE" ; LE _EV_ADD_LE_insert($i, $aListeImport[$i][0], $aListeImport[$i][9], $aListeImport[$i][10], $aPosID[0], $iSheetID, $sCSRF, $aListeImport[$i][1] & "|" & $aListeImport[$i][8]) ;~ GUICtrlSetData($lbl_status,"Position: "&$aListeImport[$i][1] & " "& $aListeImport[$i][0] " hinzugefügt!") EndSelect ;~ GUICtrlSetData($lbl_status, $aListeImport[$i][1] & "|" & $aListeImport[$i][8] & "... Eintrag hinzugefügt!") ;~ _Write_to_Console($aListeImport[$i][1] & "|" & $aListeImport[$i][8] & "... Eintrag hinzugefügt!") EndIf EndIf Else MsgBox(64, "kein Location link vorhanden", "kein Location link vorhanden") EndIf EndIf EndIf ;~ MsgBox(64, "Pos insert check", "") EndIf Next _EV_GET_DetailsID_Info($sDetailsID) Else MsgBox(64, "keine SheetID", "keine SheetID vorhanden.") EndIf Else EndIf EndIf Else EndIf Else MsgBox(64, "Keine Liste", "Keine Lesbare Liste vorhanden!") EndIf EndFunc ;==>_EV_Insert_Pos Func _EV_ADD_LE_insert($iZeile, $sAbschnitt, $sLangtext, $iLE, $iPosNrID, $iSheetID, $sCSRF, $sPosNrKurztext) If StringLen($sAbschnitt) >= 25 Then $sAbschnitt = StringMid($sAbschnitt, 1, 25) EndIf $sAbschnitt = _URIEncode($sAbschnitt) $sLongText = _URIEncode($sLangtext) ; max 40 $iLE = StringReplace($iLE, ",", "%2C") $sPost = "_csrf=" & $sCSRF & "%3D%3D&ServicePosition%5B0%5D%5BsectionText%5D=" & $sAbschnitt & "&ServicePosition%5B0%5D%5Bquantity%5D=" & $iLE & "&ServicePosition%5B0%5D%5BlongText%5D=" & $sLongText & "&ServicePosition%5B0%5D%5Bid%5D=" & $iPosNrID & "&clientId=1&sheetId=" & $iSheetID & "&insertPosition=" & $iZeile & "&save=" ;~ &ServicePosition%5B0%5D%5BsectionText%5D=VAO &ServicePosition%5B0%5D%5Bquantity%5D=100 &ServicePosition%5B0%5D%5BlongText%5D=VAO &ServicePosition%5B0%5D%5Bid%5D=43945349 &clientId=1&sheetId=0006425482&insertPosition=0&save= $sHeader = "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8" & @CRLF & "Accept-Language: de,en-US;q=0.7,en;q=0.3" & @CRLF & "Accept-Encoding: gzip, deflate, br" & @CRLF & "Content-Type: application/x-www-form-urlencoded" & @CRLF $aHTML = _WinHttpSimpleSSLRequest($aHosts[1][1], "POST", "/sheet-position/create?insertPosition=" & $iZeile & "&positionId=" & $iPosNrID & "&c=1&sheetId=" & $iSheetID, "https://www.evergabe.telekom.de//sheet-position/create?insertPosition=0&positionId=" & $iPosNrID & "&c=1&sheetId=" & $iSheetID, $sPost, $sHeader, True) ;~ _DebugArrayDisplay($aHTML) If IsArray($aHTML) Then _Write_to_Console($sPosNrKurztext & "|" & "... eingetragen!") EndIf If $bDebug = "True" Then FileWrite(@ScriptDir & "\test_temp_head.txt", $aHTML[0]) FileWrite(@ScriptDir & "\test_temp_body.txt", $aHTML[1]) ClipPut($aHTML[1]) MsgBox(64, "Check LE", "txtfiles") EndIf EndFunc ;==>_EV_ADD_LE_insert Func _EV_ADD_STD_insert($iZeile, $sAbschnitt, $sLangtext, $iStueck, $iPosNrID, $iSheetID, $sCSRF, $sPosNrKurztext) If StringLen($sAbschnitt) >= 25 Then $sAbschnitt = StringMid($sAbschnitt, 1, 25) EndIf $sAbschnitt = _URIEncode($sAbschnitt) $sLongText = _URIEncode($sLangtext) ; max 40 $iStueck = StringReplace($iStueck, ",", "%2C") $sHeader = "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8" & @CRLF & "Accept-Language: de,en-US;q=0.7,en;q=0.3" & @CRLF & "Accept-Encoding: gzip, deflate, br" & @CRLF & "Content-Type: application/x-www-form-urlencoded" & @CRLF $sPost = "_csrf=" & $sCSRF & "%3D%3D&ServicePosition%5B0%5D%5BsectionText%5D=" & $sAbschnitt & "&ServicePosition%5B0%5D%5Bquantity%5D=" & $iStueck & "&ServicePosition%5B0%5D%5BlongText%5D=" & $sLongText & "&ServicePosition%5B0%5D%5Bid%5D=" & $iPosNrID & "&clientId=1&sheetId=" & $iSheetID & "&insertPosition=" & $iZeile & "&save=" $aHTML = _WinHttpSimpleSSLRequest($aHosts[1][1], "POST", "/sheet-position/create?insertPosition=" & $iZeile & "&positionId=" & $iPosNrID & "&c=1&sheetId=" & $iSheetID, "https://www.evergabe.telekom.de/sheet-position/create?insertPosition=0&positionId=" & $iPosNrID & "&c=1&sheetId=" & $iSheetID, $sPost, $sHeader, True) ;~ _DebugArrayDisplay($aHTML) If IsArray($aHTML) Then _Write_to_Console($sPosNrKurztext & "|" & "... eingetragen!") EndIf If $bDebug = "True" Then FileWrite(@ScriptDir & "\test_temp_head.txt", $aHTML[0]) FileWrite(@ScriptDir & "\test_temp_body.txt", $aHTML[1]) MsgBox(64, "Check std", "txtfiles") EndIf EndFunc ;==>_EV_ADD_STD_insert Func _EV_ADD_M3_insert($iZeile, $sAbschnitt, $sLangtext, $sFaktor, $iLang, $iBreit, $iTief, $iPosNrID, $iSheetID, $sCSRF, $sPosNrKurztext) If StringLen($sAbschnitt) >= 25 Then $sAbschnitt = StringMid($sAbschnitt, 1, 25) EndIf $sAbschnitt = _URIEncode($sAbschnitt) $sFaktor = StringReplace($sFaktor, ",", "%2C") $sLongText = _URIEncode($sLangtext) ; max 40 $iLang = StringReplace($iLang, ",", "%2C") $iBreit = StringReplace($iBreit, ",", "%2C") $iTief = StringReplace($iTief, ",", "%2C") $sPost = "_csrf=" & $sCSRF & "%3D%3D&ServicePosition%5B0%5D%5BsectionText%5D=" & $sAbschnitt & "&ServicePosition%5B0%5D%5BformulaSymbol%5D=MV&ServicePosition%5B0%5D%5BformulaValueMultiplier%5D=" & $sFaktor & "&ServicePosition%5B0%5D%5BformulaValueLength%5D=" & $iLang & "&ServicePosition%5B0%5D%5BformulaValueWidth%5D=" & $iBreit & "&ServicePosition%5B0%5D%5BformulaValueDepth%5D=" & $iTief & "&ServicePosition%5B0%5D%5BlongText%5D=" & $sLongText & "&ServicePosition%5B0%5D%5Bid%5D=" & $iPosNrID & "&clientId=1&sheetId=" & $iSheetID & "&insertPosition=" & $iZeile & "&save=" $sHeader = "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8" & @CRLF & "Accept-Language: de,en-US;q=0.7,en;q=0.3" & @CRLF & "Accept-Encoding: gzip, deflate, br" & @CRLF & "Content-Type: application/x-www-form-urlencoded" & @CRLF $aHTML = _WinHttpSimpleSSLRequest($aHosts[1][1], "POST", "/sheet-position/create?insertPosition=" & $iZeile & "&positionId=" & $iPosNrID & "&c=1&sheetId=" & $iSheetID, "https://www.evergabe.telekom.de/sheet-position/create?insertPosition=0&positionId=" & $iPosNrID & "&c=1&sheetId=" & $iSheetID, $sPost, $sHeader, True) ;~ _DebugArrayDisplay($aHTML) If IsArray($aHTML) Then _Write_to_Console($sPosNrKurztext & "|" & "... eingetragen!") EndIf If $bDebug = "True" Then FileWrite(@ScriptDir & "\test_temp_head.txt", $aHTML[0]) FileWrite(@ScriptDir & "\test_temp_body.txt", $aHTML[1]) MsgBox(64, "Check m3", "txtfiles") EndIf EndFunc ;==>_EV_ADD_M3_insert Func _EV_ADD_M2_insert($iZeile, $sAbschnitt, $sLangtext, $sFaktor, $iLang, $iBreit, $iPosNrID, $iSheetID, $sCSRF, $sPosNrKurztext) If StringLen($sAbschnitt) >= 25 Then $sAbschnitt = StringMid($sAbschnitt, 1, 25) EndIf $sAbschnitt = _URIEncode($sAbschnitt) ;~ $sFaktor = StringReplace($sFaktor, ",", ".") ;~ If $sFaktor = "1.0" Then ;~ $sFaktor = "1" ;~ EndIf ;~ If $sFaktor = "1,0" Then ;~ $sFaktor = "1" ;~ EndIf $sFaktor = StringReplace($sFaktor, ",", "%2C") $sLongText = _URIEncode($sLangtext) ; max 40 $iLang = StringReplace($iLang, ",", "%2C") $iBreit = StringReplace($iBreit, ",", "%2C") $sHeader = "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8" & @CRLF & "Accept-Language: de,en-US;q=0.7,en;q=0.3" & @CRLF & "Accept-Encoding: gzip, deflate, br" & @CRLF & "Content-Type: application/x-www-form-urlencoded" & @CRLF $sPost = "_csrf=" & $sCSRF & "%3D%3D&ServicePosition%5B0%5D%5BsectionText%5D=" & $sAbschnitt & "&ServicePosition%5B0%5D%5BformulaSymbol%5D=MF&ServicePosition%5B0%5D%5BformulaValueMultiplier%5D=" & $sFaktor & "&ServicePosition%5B0%5D%5BformulaValueLength%5D=" & $iLang & "&ServicePosition%5B0%5D%5BformulaValueWidth%5D=" & $iBreit & "&ServicePosition%5B0%5D%5BlongText%5D=" & $sLongText & "&ServicePosition%5B0%5D%5Bid%5D=" & $iPosNrID & "&clientId=1&sheetId=" & $iSheetID & "&insertPosition=" & $iZeile & "&save=" $aHTML = _WinHttpSimpleSSLRequest($aHosts[1][1], "POST", "/sheet-position/create?insertPosition=" & $iZeile & "&positionId=" & $iPosNrID & "&c=1&sheetId=" & $iSheetID, "https://www.evergabe.telekom.de/sheet-position/create?insertPosition=0&positionId=" & $iPosNrID & "&c=1&sheetId=" & $iSheetID, $sPost, $sHeader, True) ;~ _DebugArrayDisplay($aHTML) If IsArray($aHTML) Then _Write_to_Console($sPosNrKurztext & "|" & "... eingetragen!") EndIf If $bDebug = "True" Then FileWrite(@ScriptDir & "\test_temp_head.txt", $aHTML[0]) FileWrite(@ScriptDir & "\test_temp_body.txt", $aHTML[1]) MsgBox(64, "Check m2", "txtfiles") EndIf EndFunc ;==>_EV_ADD_M2_insert Func _EV_ADD_ST_insert($iZeile, $sAbschnitt, $sLangtext, $iStueck, $iPosNrID, $iSheetID, $sCSRF, $sPosNrKurztext) If StringLen($sAbschnitt) >= 25 Then $sAbschnitt = StringMid($sAbschnitt, 1, 25) EndIf $sAbschnitt = _URIEncode($sAbschnitt) $sLongText = _URIEncode($sLangtext) ; max 40 $iStueck = StringReplace($iStueck, ",", "%2C") $sHeader = "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8" & @CRLF & "Accept-Language: de,en-US;q=0.7,en;q=0.3" & @CRLF & "Accept-Encoding: gzip, deflate, br" & @CRLF & "Content-Type: application/x-www-form-urlencoded" & @CRLF $sPost = "_csrf=" & $sCSRF & "%3D%3D&ServicePosition%5B0%5D%5BsectionText%5D=" & $sAbschnitt & "&ServicePosition%5B0%5D%5Bquantity%5D=" & $iStueck & "&ServicePosition%5B0%5D%5BlongText%5D=" & $sLongText & "&ServicePosition%5B0%5D%5Bid%5D=" & $iPosNrID & "&clientId=1&sheetId=" & $iSheetID & "&insertPosition=" & $iZeile & "&save=" $aHTML = _WinHttpSimpleSSLRequest($aHosts[1][1], "POST", "/sheet-position/create?insertPosition=" & $iZeile & "&positionId=" & $iPosNrID & "&c=1&sheetId=" & $iSheetID, "https://www.evergabe.telekom.de/sheet-position/create?insertPosition=0&positionId=" & $iPosNrID & "&c=1&sheetId=" & $iSheetID, $sPost, $sHeader, True) ;~ _DebugArrayDisplay($aHTML) If IsArray($aHTML) Then _Write_to_Console($sPosNrKurztext & "|" & "... eingetragen!") EndIf If $bDebug = "True" Then FileWrite(@ScriptDir & "\test_temp_head.txt", $aHTML[0]) FileWrite(@ScriptDir & "\test_temp_body.txt", $aHTML[1]) MsgBox(64, "Check st", "txtfiles") EndIf EndFunc ;==>_EV_ADD_ST_insert Func _EV_ADD_M_insert($iZeile, $sAbschnitt, $sLangtext, $sFaktor, $sMeter, $iPosNrID, $iSheetID, $sCSRF, $sPosNrKurztext) If StringLen($sAbschnitt) >= 25 Then $sAbschnitt = StringMid($sAbschnitt, 1, 25) EndIf $sAbschnitt = _URIEncode($sAbschnitt) $sFaktor = StringReplace($sFaktor, ",", "%2C") $sMeter = StringReplace($sMeter, ",", "%2C") $sLongText = _URIEncode($sLangtext) ; max 40 $sHeader = "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8" & @CRLF & "Accept-Language: de,en-US;q=0.7,en;q=0.3" & @CRLF & "Accept-Encoding: gzip, deflate, br" & @CRLF & "Content-Type: application/x-www-form-urlencoded" & @CRLF & "Origin: https://www.evergabe.telekom.de" & @CRLF $sPost = "_csrf=" & $sCSRF & "%3D%3D&ServicePosition%5B0%5D%5BsectionText%5D=" & $sAbschnitt & "&ServicePosition%5B0%5D%5BformulaSymbol%5D=ME&ServicePosition%5B0%5D%5BformulaValueMultiplier%5D=" & $sFaktor & "&ServicePosition%5B0%5D%5BformulaValueLength%5D=" & $sMeter & "&ServicePosition%5B0%5D%5BlongText%5D=" & $sLongText & "&ServicePosition%5B0%5D%5Bid%5D=" & $iPosNrID & "&clientId=1&sheetId=" & $iSheetID & "&insertPosition=" & $iZeile & "&save=" ;~ ;&ServicePosition[0][sectionText]=Abschnitt&ServicePosition[0][formulaSymbol]=ME&ServicePosition[0][formulaValueMultiplier]=1&ServicePosition[0][formulaValueLength]=95&ServicePosition[0][longText]=Langtext&ServicePosition[0][id]=82627311&clientId=1&sheetId=0008943838&insertPosition=&save= ;~ ConsoleWrite($sPost & @crlf) ;~ MsgBox(64, "", "") $aHTML = _WinHttpSimpleSSLRequest($aHosts[1][1], "POST", "/sheet-position/create?insertPosition=" & $iZeile & "&positionId=" & $iPosNrID & "&c=1&per-page=20&sheetId=" & $iSheetID, "https://www.evergabe.telekom.de/sheet-position/create?insertPosition=0&positionId=" & $iPosNrID & "&c=1&sheetId=" & $iSheetID, $sPost, $sHeader, True) ;~ _DebugArrayDisplay($aHTML) If IsArray($aHTML) Then _Write_to_Console($sPosNrKurztext & "|" & "... eingetragen!") EndIf If $bDebug = "True" Then ConsoleWrite("Post=##########" & @CRLF) ConsoleWrite($sPost & @CRLF) ConsoleWrite("Post=##########" & @CRLF) FileWrite(@ScriptDir & "\test_temp_head.txt", $aHTML[0]) FileWrite(@ScriptDir & "\test_temp_body.txt", $aHTML[1]) MsgBox(64, "Check m", "txtfiles") EndIf EndFunc ;==>_EV_ADD_M_insert ;~ Func _EV_ADD_M_insert($sAbschnitt, $sLangtext, $sFaktor, $sMeter, $iPosNrID, $iSheetID, $sCSRF, $sPosNrKurztext) ;~ If StringLen($sAbschnitt) >= 25 Then ;~ $sAbschnitt = StringMid($sAbschnitt, 1, 25) ;~ EndIf ;~ $sAbschnitt = _URIEncode($sAbschnitt) ;~ $sFaktor = StringReplace($sFaktor, ",", ".") ;~ $sMeter = StringReplace($sMeter, ",", "%2C") ;~ $sLongText = _URIEncode($sLangtext) ; max 40 ;~ $sHeader = "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8" & @CRLF & "Accept-Language: de,en-US;q=0.7,en;q=0.3" & @CRLF & "Accept-Encoding: gzip, deflate, br" & @CRLF & "Content-Type: application/x-www-form-urlencoded" & @CRLF & "Origin: https://www.evergabe.telekom.de"& @CRLF ;~ $sPost = "_csrf=" & $sCSRF & "&ServicePosition%5B0%5D%5BsectionText%5D=" & $sAbschnitt & "&ServicePosition%5B0%5D%5BformulaSymbol%5D=ME&ServicePosition%5B0%5D%5BformulaValueMultiplier%5D=" & $sFaktor & "&ServicePosition%5B0%5D%5BformulaValueLength%5D=" & $sMeter & "&ServicePosition%5B0%5D%5BlongText%5D=" & $sLongText & "&ServicePosition%5B0%5D%5Bid%5D=" & $iPosNrID & "&clientId=1&sheetId=" & $iSheetID & "&insertPosition=0&save=" ;~ $aHTML = _WinHttpSimpleSSLRequest($aHosts[1][1], "POST", "/sheet-position/create?insertPosition=0&positionId=" & $iPosNrID & "&c=1&per-page=20&sheetId=" & $iSheetID, "https://www.evergabe.telekom.de/sheet-position/create?insertPosition=0&positionId=" & $iPosNrID & "&c=1&sheetId=" & $iSheetID, $sPost, $sHeader, True) ;_DebugArrayDisplay($aHTML) ;~ If IsArray($aHTML) Then ;~ _Write_to_Console($sPosNrKurztext & "|" & "... eingetragen!") ;~ EndIf ;~ If $bDebug = "True" Then ;~ ConsoleWrite("Post=##########" & @CRLF) ;~ ConsoleWrite($sPost & @CRLF) ;~ ConsoleWrite("Post=##########" & @CRLF) ;~ FileWrite(@ScriptDir & "\test_temp_head.txt", $aHTML[0]) ;~ FileWrite(@ScriptDir & "\test_temp_body.txt", $aHTML[1]) ;~ MsgBox(64, "Check m", "txtfiles") ;~ EndIf ;~ EndFunc ;==>_EV_ADD_M_insert Func _EV_GET_CSRF($sHTML) $aCSRF = StringRegExp($sHTML, 'token" content="([^=]+)', 3) If IsArray($aCSRF) Then Return $aCSRF[0] Else MsgBox(64, "Kein CSRF Token gefunden!", "Kein CSRF Token gefunden!") Return "False" EndIf EndFunc ;==>_EV_GET_CSRF Func _EV_KopfDaten2Array($iLV_ID, $sSMnr) Dim $aArray[9] $sHTML = _send_WinhttpS_GET($aHosts[1][1], "/framework-agreement-call/details?id=" & $iLV_ID & "&c=1", "https://www.evergabe.telekom.de/") ;ClipPut($sHTML) ;MsgBox(64,"12345","") $aBVT_Name = StringRegExp($sHTML, 'Name([^<]+)', 3) $aBVT_Email = StringRegExp($sHTML, 'E-mail([^<]+)', 3) $aStatus = StringRegExp($sHTML, 'Status: ([^<]+)', 3) $aBelegnr = StringRegExp($sHTML, 'Belegnummer(\d+)', 3) $aAuftragdatum = StringRegExp($sHTML, 'Auftragsdatum([^<]+)', 3) $aFertigstellDatum = StringRegExp($sHTML, 'Fertigstellungstermin([^<]+)', 3) If IsArray($aBVT_Name) Then $sBTV_Name = $aBVT_Name[0] Else $sBTV_Name = "NA" EndIf If IsArray($aBVT_Email) Then $sBVT_Email = $aBVT_Email[0] Else $sBVT_Email = "NA" EndIf If IsArray($aStatus) Then $sStatus = $aStatus[0] Else $sStatus = "NA" EndIf If IsArray($aBTV_Tel) Then $sBTV_Tel = $aBTV_Tel[0] Else $sBTV_Tel = "NA" EndIf If IsArray($aBelegnr) Then $sBelegnr = $aBelegnr[0] Else $sBelegnr = "NA" EndIf If IsArray($aAuftragdatum) Then $sAuftragdatum = $aAuftragdatum[0] Else $sAuftragdatum = "NA" EndIf If IsArray($aFertigstellDatum) Then $sFertigstellDatum = $aFertigstellDatum[0] Else $aFertigstellDatum = StringRegExp($sHTML, 'Fertigstellungstermin<[^>]+>([^<]+)', 3) If IsArray($aFertigstellDatum) Then $sFertigstellDatum = $aFertigstellDatum[0] Else $sFertigstellDatum = "NA" EndIf EndIf $aArray[0] = StringReplace($iLV_ID, "&c=1", "") $aArray[1] = GUICtrlRead($kopf_TAB_txt_smnr) $aArray[2] = $sBelegnr $aArray[3] = $sStatus $aArray[4] = $sAuftragdatum $aArray[5] = $sBTV_Name $aArray[6] = $sBVT_Email $aArray[7] = $sBTV_Tel $aArray[8] = $sFertigstellDatum ;~ _ArrayDisplay($aArray,"in Funktion") ;~ ConsoleWrite(StringReplace($aAllIDs[$i], "&c=1", "") & "|" & $sSMnr & "|" & $sBelegnr & "|" & $sStatus & "|" & $sAuftragdatum & "|" & $sBTV_Name & "|" & $sBVT_Email & "|" & $sBTV_Tel & "|" & $sAuftragdatum & @crlf) Return $aArray EndFunc ;==>_EV_KopfDaten2Array Func _EV_Search_SM($sSMnr) ;suche Aufmaß nach SMnr: $sHTML = _send_WinhttpS_GET($aHosts[1][1], "/framework-agreement-call?OrderRecallSearch%5Bhead_line%5D=" & $sSMnr & "&OrderRecallSearch%5Bdocument_no%5D=&OrderRecallSearch%5Bincoming_date%5D=&OrderRecallSearch%5Border_date%5D=&OrderRecallSearch%5Bgeneral_agreement_id%5D=&OrderRecallSearch%5Bdocument_state%5D=-1", "https://www.evergabe.telekom.de/framework-agreement-call") _Write_to_Console("Suche SM-Nr: | " & $sSMnr) ;~ ;~ ClipPut($sHTML) ;~ _Write_to_Console($sHTML) ;~ MsgBox(64,"","") $aTitle = _EV_Abrufliste_GET_Title($sHTML) $aBedarfnr = _EV_Abrufliste_GET_Bedarfnr($sHTML) ;SMnr $aBelegEinDatum = _EV_Abrufliste_GET_Belegeingang($sHTML) ;Eingang E-Vergabe $aBelegnr = _EV_Abrufliste_GET_Belegnr($sHTML) ;42Nr $aAusfuehrungsfrist = _EV_Abrufliste_GET_Ausfuehrungsfrist($sHTML) ;Ausführungsfrist $aDetailID = _EV_Abrufliste_GET_DetailsID($sHTML) ;DetailsID intern für E-Vergabe $aRV = _EV_Abrufliste_GET_RV($sHTML) ;Rahmenvertrag $aStatus = _EV_Abrufliste_GET_Status($sHTML) ;Status Angenommen Abgelehnt usw. Dim $aReturn[UBound($aTitle)][9] ;~ _DebugArrayDisplay($aReturn) For $i = 0 To UBound($aTitle) - 1 $aReturn[$i][0] = $aTitle[$i] $aReturn[$i][1] = $aBedarfnr[$i] $aReturn[$i][2] = $aBelegnr[$i] $aReturn[$i][3] = $aDetailID[$i] $aReturn[$i][4] = _EV_DDL_P83_GET_Bez($aDetailID[$i]) ; Bezeichnung auslesen ;~ $aReturn[$i][4] = $aRV[$i] If IsArray($aRV) Then $aReturn[$i][5] = $aRV[$i] Else $aReturn[$i][5] = "" EndIf $aReturn[$i][6] = $aBelegEinDatum[$i] If IsArray($aAusfuehrungsfrist) Then $aReturn[$i][7] = $aAusfuehrungsfrist[$i] Else $aReturn[$i][7] = "" EndIf If IsArray($aStatus) Then $aReturn[$i][8] = $aStatus[$i] Else $aReturn[$i][8] = "" EndIf Next ;~ _DebugArrayDisplay($aReturn) Return $aReturn EndFunc ;==>_EV_Search_SM Func _EV_DDL_P83_GET_Bez($sDetailID) ;https://www.evergabe.telekom.de/framework-agreement-call/details?id=17005356&c=1 ;https://www.evergabe.telekom.de/file/gaeb-83?c=1&iid=17005356&f=p2000 ;P83 download link $sHTML = _send_WinhttpS_GET($aHosts[1][1], "/framework-agreement-call/details?id=" & $sDetailID & "&c=1", "https://www.evergabe.telekom.de/framework-agreement-call") $aHTML = _WinHttpSimpleSSLRequest($aHosts[1][1], "GET", "/file/gaeb-83?c=1&iid=" & $sDetailID & "&f=p2000", "https://www.evergabe.telekom.de/framework-agreement-call", Default, $sHeader, False, 2) _Write_to_Console("File Download: | " & $sDetailID & ".p83") $hBild = FileOpen(@ScriptDir & "\test_" & $sDetailID & ".p83", 18) FileWrite($hBild, $aHTML) FileClose($hBild) ;~ $aHTML = FileRead(@ScriptDir & "\test_" & $sDetailID & ".p83") $sFilePath = @ScriptDir & "\test_" & $sDetailID & ".p83" Local $hFileOpen = FileOpen($sFilePath, $FO_READ) If $hFileOpen = -1 Then MsgBox($MB_SYSTEMMODAL, "", "An error occurred when reading the file.") Return False EndIf ; Read the contents of the file using the handle returned by FileOpen. Local $sFileRead = FileRead($hFileOpen) ; Close the handle returned by FileOpen. FileClose($hFileOpen) $aBez = StringRegExp($sFileRead, '\[Bez]([^\[]+)', 3) If IsArray($aBez) Then FileDelete($sFilePath) Return $aBez[0] Else Return "NA" EndIf ;~ ClipPut($sFileRead) ;~ _Write_to_Console($sFileRead) ;~ MsgBox(64,"","") EndFunc ;==>_EV_DDL_P83_GET_Bez Func _EV_LV_anzeigen2Array($iSheetID, $iImportId) $iSheetID = StringReplace($iSheetID, '&c=1', "") ;vorhande LV-Anzeige in Array schreiben. Die selbst angelegt wurde! ;~ https://www.evergabe.telekom.de/sheet/header?class=list-item&sheetId=0005770735&c=1 $sHTML = _send_WinhttpS_GET($aHosts[1][1], "/sheet/header?class=list-item&sheetId=" & $iSheetID & "&c=1", "https://www.evergabe.telekom.de/sheet/index?c=1&importId=" & $iImportId) ;~ ClipPut($sHTML) ;~ MsgBox(64,"LV-Kopfanzeigen","") $sHTML = _send_WinhttpS_GET($aHosts[1][1], "/sheet-position/index?c=1&sheetId=" & $iSheetID, "https://www.evergabe.telekom.de/sheet/header?class=list-item&sheetId=" & $iSheetID & "&c=1") ;~ ClipPut($sHTML) ;~ MsgBox(64,"qu Anzahl Pos ausgeben!","") $aAnzPos = StringRegExp($sHTML, 'tabindex="-1">(\d+)', 3) ; nur wenn es größere aufmaß ist 10 und mehr Pos. If IsArray($aAnzPos) Then $sHTML = _send_WinhttpS_GET($aHosts[1][1], "/sheet-position/index?c=1&sheetId=" & $iSheetID & "&per-page=" & $aAnzPos[0], "https://www.evergabe.telekom.de" & "/sheet-position/index?c=1&sheetId=" & $iSheetID) ;~ ClipPut($sHTML) ;~ MsgBox(64,"quasdfasd Anzahl Pos ausgeben!","") ;~ _EV_GET_Posi_with_langtext($sHTML,$iSheetID) $aReturn = _EV_Get_Positionen($sHTML) ;~ _ArrayDisplay($aReturn, "großeListe") Return $aReturn Else ;~ _EV_GET_Posi_with_langtext($sHTML,$iSheetID) $aReturn = _EV_Get_Positionen($sHTML) ;~ _ArrayDisplay($aReturn, "kleine Liste") Return $aReturn EndIf EndFunc ;==>_EV_LV_anzeigen2Array Func _EV_Get_Positionen($sHTML) $aLV_PosNr = StringRegExp($sHTML, '([^<]+)', 3) $aLV_Kurztext = StringRegExp($sHTML, 'weight: bold">([^<]+)', 3) $aLV_Abschnitt = StringRegExp($sHTML, '([^<]+)', 3) $aLV_MengeRT = StringRegExp($sHTML, '"highlight">([^<]+)', 3) $aLV_MengeGR = StringRegExp($sHTML, '3px 8px;">([^<]+)', 3) Dim $aArray[UBound($aLV_PosNr)][5] _ArrayDisplay($aArray) For $i = 0 To UBound($aLV_PosNr) - 1 If IsArray($aLV_PosNr) Then $sLV_PosNr = $aLV_PosNr[$i] Else $sLV_PosNr = "NA" EndIf If IsArray($aLV_Kurztext) Then $sLV_Kurztext = $aLV_Kurztext[$i] Else $sLV_Kurztext = "NA" EndIf If IsArray($aLV_Abschnitt) Then $sLV_Abschnitt = $aLV_Abschnitt[$i] Else $sLV_Abschnitt = "NA" EndIf If IsArray($aLV_MengeRT) Then $sLV_MengeRT = $aLV_MengeRT[$i] Else $sLV_MengeRT = "NA" EndIf If IsArray($aLV_MengeGR) Then $sLV_MengeGR = $aLV_MengeGR[$i] Else $sLV_MengeGR = "NA" EndIf $aArray[$i][0] = $sLV_PosNr $aArray[$i][1] = $sLV_Kurztext $aArray[$i][2] = $sLV_Abschnitt $aArray[$i][3] = $sLV_MengeRT $aArray[$i][4] = $sLV_MengeGR ;~ ConsoleWrite($sLV_PosNr & "|" & $sLV_Kurztext & "|" & $sLV_Abschnitt & "|" & $sLV_MengeRT & "|" & $sLV_MengeGR & @CRLF) ;~ _ArrayDisplay($aArray) Next Return $aArray EndFunc ;==>_EV_Get_Positionen Func _EV_PDF_Kopdaten_2Array($sDetailsID) $sHTML = _send_WinhttpS_GET($aHosts[1][1], "/framework-agreement-call/details?id=" & $sDetailsID & "&c=1", "https://www.evergabe.telekom.de/") ;~ ;~ ClipPut($sHTML) ;~ MsgBox(64,"qu Anzahl Pos ausgeben!","") $aAspaName = StringRegExp($sHTML, "Name([^<]+)", 3) $aAspaMail = StringRegExp($sHTML, 'mailto:([^"]+)', 3) $aAspaTel = StringRegExp($sHTML, 'Telefon([^<]+)', 3) If IsArray($aAspaTel) Then $sApaTel = $aAspaTel[0] Else $sApaTel = "" EndIf If IsArray($aAspaName) Then $sApaName = $aAspaName[0] Else $sApaName = "" EndIf If IsArray($aAspaMail) Then $sApaMail = $aAspaMail[1] Else $sApaMail = "" EndIf If Not StringInStr($sHTML, 'LERF nicht möglich') Then $aFileDL = StringRegExp($sHTML, 'href="(/file[^"]+)" title="D', 3) If IsArray($aFileDL) Then ;~ _DebugArrayDisplay($aFileDL) ;~ $hRequest = _WinHttpSimpleSendRequest($hConnect, Default, "aida64extreme520.exe") For $i = 0 To UBound($aFileDL) - 1 $sHeader = "" $aHTML = _WinHttpSimpleSSLRequest($aHosts[1][1], "GET", $aFileDL[$i], "https://www.evergabe.telekom.de/framework-agreement-call", Default, $sHeader, False, 2) _Write_to_Console("File Download => " & $aFileDL[$i]) $hBild = FileOpen(@ScriptDir & "\test_" & $i & ".pdf", 18) FileWrite($hBild, $aHTML) FileClose($hBild) $sTel = "" Sleep(1500) _Write_to_Console("PDF-File convert to TXT-File ") _XPDF_ToText(@ScriptDir & "\test_" & $i & ".pdf", @ScriptDir & "\test_" & $i & ".txt") Local $sFileRead = FileRead(@ScriptDir & "\test_" & $i & ".txt") FileDelete(@ScriptDir & "\test_" & $i & ".pdf") FileDelete(@ScriptDir & "\test_" & $i & ".txt") $sFilePath = @ScriptDir & "\Kopfdaten.txt" Local $hFileOpen = FileOpen($sFilePath, 1) If $hFileOpen = -1 Then MsgBox($MB_SYSTEMMODAL, "", "An error occurred whilst writing the temporary file.") Return False EndIf FileWrite($hFileOpen, $sFileRead & @CRLF) ; Close the handle returned by FileOpen. FileClose($hFileOpen) ;~ ClipPut($sFileRead) ;~ ConsoleWrite($sFileRead & @CRLF) ;~ MsgBox(64, "asdfasdf", "") If StringInStr($sFileRead, "ext geändert") Then ExitLoop EndIf ;~ MsgBox(64, "", "") Next $sFileRead = FileRead(@ScriptDir & "\Kopfdaten.txt") FileDelete(@ScriptDir & "\Kopfdaten.txt") Dim $aArray[9] $aArray[0] = _EV_Kopfdaten_GET_AbrufNr($sFileRead) $aArray[1] = _EV_Kopfdaten_GET_SMnr($sFileRead) $aArray[2] = _EV_Kopfdaten_GET_RV($sFileRead) $aArray[3] = _EV_Kopfdaten_GET_SDatum($sFileRead) $aArray[4] = _EV_Kopfdaten_GET_EDatum($sFileRead) $aArray[5] = StringReplace(_EV_Kopfdaten_GET_GesamtS($sFileRead), ".", "") $aArray[6] = $sApaName $aArray[7] = $sApaTel $aArray[8] = $sApaMail Return $aArray Else _Write_to_Console("Pattern Filedownload prüfen=> | " & 'href="(/file[^"]+)" title="F') EndIf EndIf EndFunc ;==>_EV_PDF_Kopdaten_2Array Func _EV_PDF_Kopdaten_ddl($sDetailsID) GUICtrlSetData($kopf_TAB_txt_detailsID, $sDetailsID) $sHTML = _send_WinhttpS_GET($aHosts[1][1], "/framework-agreement-call/details?id=" & $sDetailsID & "&c=1", "https://www.evergabe.telekom.de/") ;~ ClipPut($sHTML) ;~ MsgBox(64, "1", "") If Not StringInStr($sHTML, 'LERF nicht möglich') Then $aFileDL = StringRegExp($sHTML, 'href="(/file[^"]+)" title="D', 3) If IsArray($aFileDL) Then ;~ _DebugArrayDisplay($aFileDL) ;~ $hRequest = _WinHttpSimpleSendRequest($hConnect, Default, "aida64extreme520.exe") For $i = 0 To UBound($aFileDL) - 1 $sHeader = "" $aHTML = _WinHttpSimpleSSLRequest($aHosts[1][1], "GET", $aFileDL[$i], "https://www.evergabe.telekom.de/framework-agreement-call", Default, $sHeader, False, 2) _Write_to_Console("File Download => " & $aFileDL[$i]) $hBild = FileOpen(@ScriptDir & "\test_" & $i & ".pdf", 18) FileWrite($hBild, $aHTML) FileClose($hBild) $sTel = "" Sleep(1500) _Write_to_Console("PDF-File convert to TXT-File ") _XPDF_ToText(@ScriptDir & "\test_" & $i & ".pdf", @ScriptDir & "\test_" & $i & ".txt") Local $sFileRead = FileRead(@ScriptDir & "\test_" & $i & ".txt") FileDelete(@ScriptDir & "\test_" & $i & ".pdf") FileDelete(@ScriptDir & "\test_" & $i & ".txt") $sFilePath = @ScriptDir & "\Kopfdaten.txt" Local $hFileOpen = FileOpen($sFilePath, 1) If $hFileOpen = -1 Then MsgBox($MB_SYSTEMMODAL, "", "An error occurred whilst writing the temporary file.") Return False EndIf FileWrite($hFileOpen, $sFileRead & @CRLF) ; Close the handle returned by FileOpen. FileClose($hFileOpen) ;~ ClipPut($sFileRead) ;~ ConsoleWrite($sFileRead & @CRLF) ;~ MsgBox(64, "asdfasdf", "") If StringInStr($sFileRead, "ext geändert") Then ExitLoop EndIf ;~ MsgBox(64, "", "") Next $sFileRead = FileRead(@ScriptDir & "\Kopfdaten.txt") ;~ ShellExecute(@ScriptDir & "\Kopfdaten.txt") ;~ ClipPut($sFileRead) ;~ MsgBox(64, "", "") FileDelete(@ScriptDir & "\Kopfdaten.txt") Dim $aArray[9] $aArray[0] = _EV_Kopfdaten_GET_AbrufNr($sFileRead) $aArray[1] = _EV_Kopfdaten_GET_SMnr($sFileRead) $aArray[2] = _EV_Kopfdaten_GET_RV($sFileRead) $aArray[3] = _EV_Kopfdaten_GET_SDatum($sFileRead) $aArray[4] = _EV_Kopfdaten_GET_EDatum($sFileRead) $aArray[5] = _EV_Kopfdaten_GET_GesamtS($sFileRead) $aArray[6] = _EV_Kopfdaten_GET_Bvt($sFileRead) $aArray[7] = _EV_Kopfdaten_GET_Bvt_tel($sFileRead) $aArray[8] = _EV_Kopfdaten_GET_Email($sFileRead) ;~ 4650009407 ;~ NA ;~ 4650009407 ;~ 14.03.2023 ;~ 0 ;~ 79798 Jestetten ;~ info@telekom.de | Internet: www.telekom.de ;~ _DebugArrayDisplay($aArray) ;NEu Kopfdaten in Ini schreiben ;~ _DebugArrayDisplay($aArray) Local $aKV = IniReadSection($sPfadIni, "LV") _ArraySort($aKV) ;~ _DebugArrayDisplay($aKV) For $iii = 1 To UBound($aKV) - 1 If $aKV[$iii][1] = $aArray[2] Then $sIndexChbVertrag = _GUICtrlComboBox_FindString($LVE_TAB_chb_Vertrag, $aKV[$iii][0]) _GUICtrlComboBox_SetCurSel($LVE_TAB_chb_Vertrag, $sIndexChbVertrag) _GUICtrlComboBox_SetCurSel($kopf_TAB_chb_vertrag, $sIndexChbVertrag) EndIf Next _Load_LV_From_Chb() ;~ ;Vertrag von Kopdaten in Aufmaßhile ;~ Local $aChb_rv = StringRegExp(GUICtrlRead($kopf_TAB_chb_vertrag), "([^_]+)", 3) ;~ If IsArray($aChb_rv) Then ;~ Local $sChb_rv = $aChb_rv[0] ;~ ;Vertrag von Kopdaten in Aufmaßhile ;~ $sIndexChbVertrag = _GUICtrlComboBox_FindString($chb_vertrag, "data_" & $sChb_rv & ".ini") ;~ _GUICtrlComboBox_SetCurSel($chb_vertrag, $sIndexChbVertrag) ;~ EndIf IniWrite(@ScriptDir & "\daten\conf.ini", "Kopfdaten", "AbrufNr", $aArray[0]) IniWrite(@ScriptDir & "\daten\conf.ini", "Kopfdaten", "SMNr", $aArray[1]) IniWrite(@ScriptDir & "\daten\conf.ini", "Kopfdaten", "Vertrag", $aArray[2]) IniWrite(@ScriptDir & "\daten\conf.ini", "Kopfdaten", "StartZ", $aArray[3]) IniWrite(@ScriptDir & "\daten\conf.ini", "Kopfdaten", "EndZ", $aArray[4]) ;~ $aKopfdaten = _EV_PDF_Kopdaten_2Array($sDetailsID) ; old but Gold $aKopfdaten = _EV_KopfDaten2Array($sDetailsID, $aArray[1]) ;~ _DebugArrayDisplay($aKopfdaten, "aKopfdaten") GUICtrlSetData($kopf_TAB_txt_aspa, $aKopfdaten[5]) GUICtrlSetData($kopf_TAB_txt_abrufnr, $aKopfdaten[2]) $aStartDatum = StringSplit($aKopfdaten[4], ".") If IsArray($aStartDatum) Then ;~ _DebugArrayDisplay($aStartDatum) $iYear = $aStartDatum[3] $iMonth = $aStartDatum[2] $iDay = $aStartDatum[1] _GUICtrlMonthCal_SetCurSel($kopf_TAB_datumfeld_start, $iYear, $iMonth, $iDay) EndIf GUICtrlSetData($kopf_TAB_datum_start, $aKopfdaten[4]) $aStartDatum = StringSplit($aKopfdaten[8], ".") If IsArray($aStartDatum) Then $iYear = $aStartDatum[3] $iMonth = $aStartDatum[2] $iDay = $aStartDatum[1] _GUICtrlMonthCal_SetCurSel($kopf_TAB_datumfeld_ende, $iYear, $iMonth, $iDay) EndIf GUICtrlSetData($kopf_TAB_txt_datum_ende, $aKopfdaten[8]) ;~ GUICtrlSetData($kopf_TAB_txt_aspa, $aArray[5]) GUICtrlSetData($kopf_TAB_txt_telnr, $aKopfdaten[7]) GUICtrlSetData($txt_abruf_details_ev_EVH, "https://www.evergabe.telekom.de/framework-agreement-call/details?id=" & $sDetailsID & "&c=1") GUICtrlSetData($txt_Leistungserfassung_EVH, "https://www.evergabe.telekom.de/sheet/index?c=1&importId=" & $sDetailsID) GUICtrlSetData($txt_lv_geab_EVH, "https://www.evergabe.telekom.de/gaeb-viewer/index?c=1&id=" & $sDetailsID) GUICtrlSetData($txt_beleg_eingang_EVH, $aArray[4]) GUICtrlSetData($txt_ausfuehrungsfrist_EVH, $aArray[5]) GUICtrlSetData($txt_rv_EVH, $aArray[2]) $aArray[0] = _EV_Kopfdaten_GET_AbrufNr($sFileRead) $aArray[1] = _EV_Kopfdaten_GET_SMnr($sFileRead) $aArray[2] = _EV_Kopfdaten_GET_RV($sFileRead) $aArray[3] = _EV_Kopfdaten_GET_SDatum($sFileRead) $aArray[4] = _EV_Kopfdaten_GET_EDatum($sFileRead) $aArray[5] = _EV_Kopfdaten_GET_GesamtS($sFileRead) $aArray[6] = _EV_Kopfdaten_GET_Bvt($sFileRead) $aArray[7] = _EV_Kopfdaten_GET_Bvt_tel($sFileRead) $aArray[8] = _EV_Kopfdaten_GET_Email($sFileRead) GUICtrlSetData($txt_beleg_eingang_EVH, $aArray[3]) GUICtrlSetData($txt_ausfuehrungsfrist_EVH, $aArray[4]) GUICtrlSetData($txt_rv_EVH, $aArray[2]) GUICtrlSetData($txt_beleg_EVH, $aArray[0]) Else _Write_to_Console("Pattern Filedownload prüfen=> | " & 'href="(/file[^"]+)" title="F') EndIf EndIf ;~ GUICtrlSetData($kopf_TAB_txt_abrufnr, "kein Abruf vorhanden") EndFunc ;==>_EV_PDF_Kopdaten_ddl Func _EV_Kopfdaten_GET_AbrufNr($sQuellcode) $aAbrufNr = StringRegExp($sQuellcode, 'Betrifft Abruf [^/]+/(.*)', 3) If IsArray($aAbrufNr) Then Return $aAbrufNr[0] Else $aAbrufNr = StringRegExp($sQuellcode, 'Betrifft Bestellnummer [^/]+/.(\d*)', 3) If IsArray($aAbrufNr) Then Return $aAbrufNr[0] Else $aVertrag = StringRegExp($sQuellcode, 'Kontrakt Nr\s+(\d+)', 3) If IsArray($aVertrag) Then Return $aVertrag[0] Else Return "kein Abruf vorhanden" EndIf EndIf EndIf EndFunc ;==>_EV_Kopfdaten_GET_AbrufNr Func _EV_Kopfdaten_GET_RV($sQuellcode) $aVertrag = StringRegExp($sQuellcode, 'Kontrakt: ([^/]+)', 3) If IsArray($aVertrag) Then Return $aVertrag[0] Else $aVertrag = StringRegExp($sQuellcode, 'Rahmenvertrag: (\d+)', 3) If IsArray($aVertrag) Then Return $aVertrag[0] Else $aVertrag = StringRegExp($sQuellcode, 'Kontrakt Nr\s+(\d+)', 3) If IsArray($aVertrag) Then Return $aVertrag[0] Else Return "NA" EndIf EndIf EndIf EndFunc ;==>_EV_Kopfdaten_GET_RV Func _EV_Kopfdaten_GET_Email($sQuellcode) $aEmail = StringRegExp($sQuellcode, 'E-Mail: (.*)', 3) If IsArray($aEmail) Then Return $aEmail[0] Else Return "NA" EndIf EndFunc ;==>_EV_Kopfdaten_GET_Email Func _EV_Kopfdaten_GET_SMnr($sQuellcode) $aSMnr = StringRegExp($sQuellcode, 'Bedarfs Nr.: (.*)', 3) ;~ ConsoleWrite($sQuellcode & @CRLF) ;~ ClipPut($sQuellcode) ;~ MsgBox(64, "Qeullcode GEt SMnr", "") If IsArray($aSMnr) Then $aStringA = StringRegExp($aSMnr[0], '0(\d{9})', 3) ; entferne die erste Null + 9 Zahlen extrahieren If IsArray($aStringA) Then Return $aStringA[0] EndIf Else Return "NA" EndIf EndFunc ;==>_EV_Kopfdaten_GET_SMnr Func _EV_Kopfdaten_GET_Bvt($sQuellcode) $aBvt = StringRegExp($sQuellcode, 'Bauaufsicht: (.*)', 3) If IsArray($aBvt) Then Return $aBvt[0] Else $aBvt = StringRegExp($sQuellcode, 'Bestellnummer .*\d+.\s*(.*)', 3) If IsArray($aBvt) Then If StringInStr($aBvt[0], "Fachliche Rückfragen") Then Else Return $aBvt[0] EndIf Else Return "NA" EndIf EndIf EndFunc ;==>_EV_Kopfdaten_GET_Bvt Func _EV_Kopfdaten_GET_Bvt_tel($sQuellcode) $aTel = StringRegExp($sQuellcode, 'Tel.: (.*)', 3) If IsArray($aTel) Then If UBound($aTel) = 1 Then Return "" Else If StringInStr($aTel[1], "Fax") Then Return $aTel[0] Else Return $aTel[1] EndIf EndIf Else Return "" EndIf EndFunc ;==>_EV_Kopfdaten_GET_Bvt_tel Func _EV_Kopfdaten_GET_GesamtS($sQuellcode) $aGesamtS = StringRegExp($sQuellcode, 'Gesamtnettowert ohne USt. EUR (.*)', 3) If IsArray($aGesamtS) Then $summe = StringReplace($aGesamtS[0], ".", "") $summe = StringReplace($aGesamtS[0], " ", "") ;~ Return $summe Return $summe ;~ _ArrayAdd($aArray, $summe) Else Return "0" ;~ _ArrayAdd($aArray, $summe) EndIf EndFunc ;==>_EV_Kopfdaten_GET_GesamtS Func _EV_Kopfdaten_GET_SDatum($sQuellcode) $aStart = StringRegExp($sQuellcode, 'Ausführungsbeginn:(.*)', 3) If IsArray($aStart) Then Return StringReplace($aStart[0], " ", "") Else Return "" EndIf EndFunc ;==>_EV_Kopfdaten_GET_SDatum Func _EV_Kopfdaten_GET_EDatum($sQuellcode) $aEnde = StringRegExp($sQuellcode, 'Ausführungsende:(.*)', 3) If IsArray($aEnde) Then Return StringReplace($aEnde[0], " ", "") Else Return "" ;~ $aArray[5] = $sEndeDatum EndIf EndFunc ;==>_EV_Kopfdaten_GET_EDatum Func _EV_Hole_Kopfdaten() Global $hSession = _WinHttpOpen("Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:63.0) Gecko/20100101 Firefox/63.0") Global $aHosts[2][2] $aHosts[1][0] = "www.evergabe.telekom.de" $aHosts[1][1] = _WinHttpConnect($hSession, $aHosts[1][0]) Global $sHeader = "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8" & @CRLF & "Accept-Language: de,en-US;q=0.7,en;q=0.3" & @CRLF & "Accept-Encoding: gzip, deflate, br" & @CRLF $sUsername = IniRead(@ScriptDir & "\daten\conf.ini", "EVergabe", "Benutzer", "xxx") $sPasswort = IniRead(@ScriptDir & "\daten\conf.ini", "EVergabe", "Passwort", "xxx") $sRetrunLogin = _EV_Login($sUsername, $sPasswort) If $sRetrunLogin = "True" Then ;~ ConsoleWrite("Login Erfolgreich" & @CRLF) _Write_to_Console("Login Erfolgreich") $sSMnr = GUICtrlRead($kopf_tab_txt_smnr) $aArrayList = _EV_Search_SM($sSMnr) ;~ _DebugArrayDisplay($aArrayList) If UBound($aArrayList) > 1 Then ;~ ConsoleWrite(UBound($aArrayList) & @CRLF) $sDetailsID = _create_Gui_Ausw($aArrayList) ;~ MsgBox(64, "", $sDetailsID) Else If UBound($aArrayList) = -1 Or UBound($aArrayList, $UBOUND_ROWS) = 0 Then _Write_to_Console("Kein Abruf gefunden. Bitte in E-Vergabe prüfen") Else $sDetailsID = $aArrayList[0][3] _EV_PDF_Kopdaten_ddl($sDetailsID) GUICtrlSetData($txt_sm_EVH, $sSMnr) _Write_to_Console("hole Kopfdaten erledigt.") EndIf EndIf Else _Write_to_Console("Login Fehler") EndIf ;~ _EV_Logout() EndFunc ;==>_EV_Hole_Kopfdaten Func _EV_Abrufliste_GET_Title($sQuellcode) ;Rückgabe Array sonst $error string Local $aTitle = StringRegExp($sQuellcode, '(?m)no-wrap" title="([^"]+)', 3) ;~ _DebugArrayDisplay($aTitle) If IsArray($aTitle) Then For $i = 0 To UBound($aTitle) - 1 $aTitle[$i] = StringReplace($aTitle[$i], "SM Auftragsnummer: 000", " SM ") $aTitle[$i] = StringReplace($aTitle[$i], @CR, "") ;CR out $aTitle[$i] = StringReplace($aTitle[$i], @LF, "") ;LF out Next Return $aTitle Else Return "Error" EndIf EndFunc ;==>_EV_Abrufliste_GET_Title Func _EV_Abrufliste_GET_Bedarfnr($sQuellcode) ;SMNr ;Rückgabe Array sonst $error string Local $aBedarfnr = StringRegExp($sQuellcode, 'Bedarfsnr.: ([^<]+)', 3) If IsArray($aBedarfnr) Then For $i = 0 To UBound($aBedarfnr) - 1 ;~ If string $aStringA = StringRegExp($aBedarfnr[$i], '0(\d{9})', 3) ; entferne die erste Null + 9 Zahlen extrahieren If IsArray($aStringA) Then $aBedarfnr[$i] = $aStringA[0] EndIf Next Return $aBedarfnr Else Return "Error" EndIf EndFunc ;==>_EV_Abrufliste_GET_Bedarfnr Func _EV_Abrufliste_GET_Belegeingang($sQuellcode) ;42Nr ;Rückgabe Array sonst $error string Local $aBelegeingang = StringRegExp($sQuellcode, 'Bedarfsnr.: [^<]+[^<]+([^<]+)', 3) If IsArray($aBelegeingang) Then Return $aBelegeingang Else Return "Error" EndIf EndFunc ;==>_EV_Abrufliste_GET_Belegeingang Func _EV_Abrufliste_GET_Belegnr($sQuellcode) ;42Nr ;Rückgabe Array sonst $error string Local $aBelegnr = StringRegExp($sQuellcode, 'Bedarfsnr.: [^<]+([^/]+)', 3) If IsArray($aBelegnr) Then Return $aBelegnr Else Return "Error" EndIf EndFunc ;==>_EV_Abrufliste_GET_Belegnr Func _EV_Abrufliste_GET_Ausfuehrungsfrist($sQuellcode) ;Ausführungsfrist ;Rückgabe Array sonst $error string Local $aAusfuehrungsfrist = StringRegExp($sQuellcode, '(\d\d\.\d\d\.\d\d\d\d)_EV_Abrufliste_GET_Ausfuehrungsfrist Func _EV_Abrufliste_GET_DetailsID($sQuellcode) ;DetailsID intern für E-Vergabe ;Rückgabe Array sonst $error string Local $aDetailsID = StringRegExp($sQuellcode, 'call/details.id=([^&]+)&c=1', 3) If IsArray($aDetailsID) Then Return $aDetailsID Else Return "Error" EndIf EndFunc ;==>_EV_Abrufliste_GET_DetailsID Func _EV_Abrufliste_GET_RV($sQuellcode) ;Rahmenvertrag ;Rückgabe Array sonst $error string Local $aRV = StringRegExp($sQuellcode, '/framework-agreement/details.id=[^"]+">([^/]+)', 3) If IsArray($aRV) Then Return $aRV Else Return "Error" EndIf EndFunc ;==>_EV_Abrufliste_GET_RV Func _EV_Abrufliste_GET_Status($sQuellcode) ;Stauts ;Rückgabe Array sonst $error string Local $aStatus = StringRegExp($sQuellcode, '/framework-agreement/details.id=[^"]+">[^"]+"[^>]+>([^<]+)', 3) If IsArray($aStatus) Then Return $aStatus Else Return "Error" EndIf EndFunc ;==>_EV_Abrufliste_GET_Status Func _EV_Logout() $sHTML = _send_WinhttpS_GET($aHosts[1][1], "/framework-agreement-call", "https://www.evergabe.telekom.de/framework-agreement-call") ;~ ClipPut($sHTML) ;~ MsgBox(64, "", "") $sCRSRF = _EV_GET_CSRF($sHTML) $sPost = "_csrf=" & $sCRSRF & "%3D%3D" $sHeader = "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8" & @CRLF & "Accept-Language: de,en-US;q=0.7,en;q=0.3" & @CRLF & "Accept-Encoding: gzip, deflate, br" & @CRLF & "Content-Type: application/x-www-form-urlencoded" & @CRLF $sPost = "_csrf=" & $sCRSRF & "%3D%3D" $aHTML = _WinHttpSimpleSSLRequest($aHosts[1][1], "POST", "/public/logout", "https://www.evergabe.telekom.de/framework-agreement-call", $sPost, $sHeader, True) $sHTML = _send_WinhttpS_GET($aHosts[1][1], "/", "") If StringInStr($sHTML, 'action="/public/login" method="post"') Then _Write_to_Console("User wurde ausgeloggt!") GUICtrlSetData($lbl_status, "User wurde ausgeloggt!") EndIf EndFunc ;==>_EV_Logout Func _EV_GET_AufmPositioinen() Local $aArrayEVAufm $sLEBNr = GUICtrlRead($frm_evaufm_txt_lebnr) Global $hSession = _WinHttpOpen("Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:63.0) Gecko/20100101 Firefox/63.0") Global $aHosts[2][2] $aHosts[1][0] = "www.evergabe.telekom.de" $aHosts[1][1] = _WinHttpConnect($hSession, $aHosts[1][0]) Global $sHeader = "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8" & @CRLF & "Accept-Language: de,en-US;q=0.7,en;q=0.3" & @CRLF & "Accept-Encoding: gzip, deflate, br" & @CRLF $sUsername = IniRead(@ScriptDir & "\daten\conf.ini", "EVergabe", "Benutzer", "xxx") $sPasswort = IniRead(@ScriptDir & "\daten\conf.ini", "EVergabe", "Passwort", "xxx") $sRetrunLogin = _EV_Login($sUsername, $sPasswort) If $sRetrunLogin = "True" Then ;~ ConsoleWrite("Login Erfolgreich" & @CRLF) _Write_to_Console("Login Erfolgreich") $sHTML = _send_WinhttpS_GET($aHosts[1][1], "/framework-agreement-call", "https://www.evergabe.telekom.de/") $aArrayEVAufm = _get_EV_Aufma_positionen($sLEBNr) ;~ _DebugArrayDisplay($aArrayEVAufm) _GUICtrlListView_AddArray($frm_lv_evaufm, $aArrayEVAufm) ;~ _Listview_AutoWidthHeader($frm_lv_evaufm) _EV_Logout() Else MsgBox(64, "Login Fehler", "Login war nicht erfolgreich") EndIf EndFunc ;==>_EV_GET_AufmPositioinen Func _EV_GET_LEB_Liste($sDetailsID) ;Detailsid,LEB,Title,Status ;15564152|0006004494| 1. TA NVT 2V1011 Tiefbau Mollenberg|AKZEPTIERT $sHTML = _send_WinhttpS_GET($aHosts[1][1], "/sheet/index?c=1&importId=" & $sDetailsID & "&BapiEssrSearch%5Blimit%5D=20", "https://www.evergabe.telekom.de/framework-agreement-call/details?id=" & $sDetailsID & "&c=1") ;~ ClipPut($sHTML) ;~ MsgBox(0, "/framework-agreement-call/index", "") $aPages = StringRegExp($sHTML, 'Blimit%5D=\d+&page=(\d+)" data-page="1">\d+', 3) ;_ArrayDisplay($aPages) If IsArray($aPages) Then $aBelege = StringRegExp($sHTML, '(\d+) Belegen', 3) If IsArray($aBelege) Then Dim $aArray[1] For $i = 1 To $aPages[0] _Write_to_Console("Pages=> " & $i & " von " & $aPages[0]) $sHTML = _send_WinhttpS_GET($aHosts[1][1], "/sheet/index?c=1&importId=" & $sDetailsID & "&page=" & $i, "https://www.evergabe.telekom.de/framework-agreement-call/details?id=" & $sDetailsID & "&c=1") ;ClipPut($sHTML) ;MsgBox(0, "/framework-agreement-call/index", $aPages[$i]) ;MsgBox(64, "", $aPages[$i]) $aSheetID = StringRegExp($sHTML, 'sheetId=([^&]+)&c=1" title="[^"]+', 3) $aTitle = StringRegExp($sHTML, 'sheetId=[^&]+&c=1" title="([^"]+)', 3) $aStatus = StringRegExp($sHTML, 'leb-status[^>]+.([^<]+)', 3) If IsArray($aSheetID) Then For $iI = 0 To UBound($aSheetID) - 1 _ArrayAdd($aArray, $aSheetID[$iI] & "#" & $aTitle[$iI] & "#" & $aStatus[$iI]) _Write_to_Console($aSheetID[$iI] & "#" & $aTitle[$iI] & "#" & $aStatus[$iI]) Next EndIf Next If StringInStr($sHTML, 'Schlussaufmaß') Then $aArray[0] = "Schlussaufmaß" EndIf ;~ _ArrayDelete($aArray, 0) Dim $aReturn[UBound($aArray)][4] ;_ArrayDisplay($aArray) For $i = 1 To UBound($aReturn) - 1 $aSplitt = StringSplit($aArray[$i], "#") ;~ $aReturn[$i][0] = $aArray[0] $aReturn[$i][0] = $sDetailsID $aReturn[$i][1] = $aSplitt[1] $aReturn[$i][2] = $aSplitt[2] $aReturn[$i][3] = $aSplitt[3] Next ;_ArrayDisplay($aReturn) Return $aReturn EndIf Else Dim $aArray[1] ;nur eine Seite $sHTML = _send_WinhttpS_GET($aHosts[1][1], "/sheet/index?c=1&importId=" & $sDetailsID, "https://www.evergabe.telekom.de/framework-agreement-call/details?id=" & $sDetailsID & "&c=1") ;ClipPut($sHTML) ;MsgBox(0, "/framework-agreement-call/index", $aPages[$i]) ;MsgBox(64, "", $aPages[$i]) $aSheetID = StringRegExp($sHTML, 'sheetId=([^&]+)&c=1" title="[^"]+', 3) $aTitle = StringRegExp($sHTML, 'sheetId=[^&]+&c=1" title="([^"]+)', 3) $aStatus = StringRegExp($sHTML, 'leb-status[^>]+.([^<]+)', 3) If IsArray($aSheetID) Then For $iI = 0 To UBound($aSheetID) - 1 _ArrayAdd($aArray, $aSheetID[$iI] & "#" & $aTitle[$iI] & "#" & $aStatus[$iI]) _Write_to_Console($aSheetID[$iI] & "#" & $aTitle[$iI] & "#" & $aStatus[$iI]) Next _ArrayDelete($aArray, 0) Dim $aReturn[UBound($aArray)][4] ;_ArrayDisplay($aArray) For $i = 0 To UBound($aReturn) - 1 $aSplitt = StringSplit($aArray[$i], "#") $aReturn[$i][0] = $sDetailsID $aReturn[$i][1] = $aSplitt[1] $aReturn[$i][2] = $aSplitt[2] $aReturn[$i][3] = $aSplitt[3] Next Return $aReturn EndIf EndIf ;'sheetId=([^&]+)&c=1" title="([^"]+)' SheetID und Titel ;'leb-status[^>]+.([^<]+)' Status ;https://www.evergabe.telekom.de/sheet/index?c=1&importId=15564152 ;https://www.evergabe.telekom.de/sheet/index?c=1&importId=15564152&page=2 ;https://www.evergabe.telekom.de/sheet/index?c=1&importId=15564152&page=1 ;/sheet/index?c=1&importId=15564152&BapiEssrSearch%5Blimit%5D=10 EndFunc ;==>_EV_GET_LEB_Liste Func _get_EV_Aufma_positionen($sLEB_NR) $sHTML = _send_WinhttpS_GET($aHosts[1][1], "/sheet-position/index?c=1&sheetId=" & $sLEB_NR, "https://www.evergabe.telekom.de/sheet/header?class=list-item&sheetId=" & $sLEB_NR & "&c=1") ;~ ClipPut($sHTML) ;~ MsgBox(0,"/sheet-position/index?c=1&sheetId=" & $sLEB_NR,"/sheet-position/index?c=1&sheetId=" & $sLEB_NR) ;~ $aPages = StringRegExp($sHTML, '
  • 00', 3) ;~ _ArrayDisplay($aShowlinks) If IsArray($aShowlinks) Then For $iI = 0 To UBound($aShowlinks) - 1 $sHTML = _send_WinhttpS_GET($aHosts[1][1], $aShowlinks[$iI], "https://www.evergabe.telekom.de/sheet/header?class=list-item&sheetId=" & $sLEB_NR & "&c=1") ;ClipPut($sHTML) ;MsgBox(0, $sLEB_NR, "asdf") $aPosNr = StringRegExp($sHTML, 'Position 0([^:]+)', 3) $aPosKurztext = StringRegExp($sHTML, 'Position 0[^:]+:.([^<]+)', 3) $aPosAbschnitt = StringRegExp($sHTML, 'sectionText]" value="([^"]+)', 3) $aPosMenge = StringRegExp($sHTML, 'quantity]" value="([^"]+)', 3) $aPosEinheit = StringRegExp($sHTML, 'unitOfQuantity]" value="([^"]+)', 3) $aBegrund = StringRegExp($sHTML, 'longText]" disabled>([^<]+)', 3) $aFaktor = StringRegExp($sHTML, 'Multiplier]" value="([^"]+)', 3) $aLeange = StringRegExp($sHTML, 'formulaValueLength]" value="([^"]+)', 3) $aBreite = StringRegExp($sHTML, 'formulaValueWidth]" value="([^"]+)', 3) $aTiefe = StringRegExp($sHTML, 'formulaValueDepth]" value="([^"]+)', 3) If IsArray($aPosNr) Then $sPosNr = $aPosNr[0] Else $sPosNr = "" EndIf If IsArray($aPosKurztext) Then $sPosKurztext = $aPosKurztext[0] Else $sPosKurztext = "" EndIf If IsArray($aPosAbschnitt) Then $sPosAbschnitt = $aPosAbschnitt[0] Else $sPosAbschnitt = "" EndIf If IsArray($aPosMenge) Then $sPosMenge = $aPosMenge[0] Else $sPosMenge = "" EndIf If IsArray($aPosEinheit) Then $sPosEinheit = $aPosEinheit[0] Else $sPosEinheit = "" EndIf If IsArray($aBegrund) Then $sBegrund = $aBegrund[0] Else $sBegrund = "" EndIf If IsArray($aFaktor) Then If $aFaktor[0] = "1" Then $sFaktor = "1,0" EndIf $sFaktor = $aFaktor[0] Else $sFaktor = "1,0" EndIf If IsArray($aLeange) Then $sLeange = $aLeange[0] Else $sLeange = "" EndIf If IsArray($aBreite) Then $sBreite = $aBreite[0] Else $sBreite = "" EndIf If IsArray($aTiefe) Then $sTiefe = $aTiefe[0] Else $sTiefe = "" EndIf If IsArray($aPosEinheit) Then Select Case $aPosEinheit[0] = "ST" $sFaktor = "1,0" $sLeange = "" $sBreite = "" $sTiefe = "" Case $aPosEinheit[0] = "LE" $sFaktor = "1,0" $sLeange = "" $sBreite = "" $sTiefe = "" Case $aPosEinheit[0] = "STD" $sFaktor = "1,0" $sLeange = "" $sBreite = "" $sTiefe = "" Case $aPosEinheit[0] = "M" $sBreite = "" $sTiefe = "" $sPosMenge = $sLeange Case $aPosEinheit[0] = "M2" ;~ $sLeange = "" ;~ $sBreite = "" $sPosMenge = $sLeange * $sBreite Case $aPosEinheit[0] = "M3" $sPosMenge = $sLeange * $sBreite * $sTiefe EndSelect _ArrayAdd($aAufM, $sPosAbschnitt & "#" & $sPosNr & "#" & $sFaktor & "#" & $sLeange & "#" & $sBreite & "#" & $sTiefe & "#" & $sPosMenge & "#" & $sPosEinheit & "#" & $sPosKurztext & "#" & $sBegrund & "#" & $sPosMenge) ;~ ;_ArrayDisplay($aAufM) EndIf Next EndIf Next Else $sHTML = _send_WinhttpS_GET($aHosts[1][1], "/sheet-position/index?c=1&sheetId=" & $sLEB_NR & "&page=1", "https://www.evergabe.telekom.de/sheet/header?class=list-item&sheetId=" & $sLEB_NR & "&c=1") ;ClipPut($sHTML) ;MsgBox(0, $sLEB_NR, "") $aShowlinks = StringRegExp($sHTML, '(/sheet-position[^c]+c=1)">00', 3) ;_ArrayDisplay($aShowlinks) If IsArray($aShowlinks) Then For $iI = 0 To UBound($aShowlinks) - 1 $sHTML = _send_WinhttpS_GET($aHosts[1][1], $aShowlinks[$iI], "https://www.evergabe.telekom.de/sheet/header?class=list-item&sheetId=" & $sLEB_NR & "&c=1") ;ClipPut($sHTML) ;MsgBox(0, $sLEB_NR, "asdf") $aPosNr = StringRegExp($sHTML, 'Position 0([^:]+)', 3) $aPosKurztext = StringRegExp($sHTML, 'Position 0[^:]+:.([^<]+)', 3) $aPosAbschnitt = StringRegExp($sHTML, 'sectionText]" value="([^"]+)', 3) $aPosMenge = StringRegExp($sHTML, 'quantity]" value="([^"]+)', 3) $aPosEinheit = StringRegExp($sHTML, 'unitOfQuantity]" value="([^"]+)', 3) $aBegrund = StringRegExp($sHTML, 'longText]" disabled>([^<]+)', 3) $aFaktor = StringRegExp($sHTML, 'Multiplier]" value="([^"]+)', 3) $aLeange = StringRegExp($sHTML, 'formulaValueLength]" value="([^"]+)', 3) $aBreite = StringRegExp($sHTML, 'formulaValueWidth]" value="([^"]+)', 3) $aTiefe = StringRegExp($sHTML, 'formulaValueDepth]" value="([^"]+)', 3) If IsArray($aPosNr) Then $sPosNr = $aPosNr[0] Else $sPosNr = "" EndIf If IsArray($aPosKurztext) Then $sPosKurztext = $aPosKurztext[0] Else $sPosKurztext = "" EndIf If IsArray($aPosAbschnitt) Then $sPosAbschnitt = $aPosAbschnitt[0] Else $sPosAbschnitt = "" EndIf If IsArray($aPosMenge) Then $sPosMenge = $aPosMenge[0] Else $sPosMenge = "" EndIf If IsArray($aPosEinheit) Then $sPosEinheit = $aPosEinheit[0] Else $sPosEinheit = "" EndIf If IsArray($aBegrund) Then $sBegrund = $aBegrund[0] Else $sBegrund = "" EndIf If IsArray($aFaktor) Then If $aFaktor[0] = "1" Then $sFaktor = 1.0 EndIf $sFaktor = $aFaktor[0] Else $sFaktor = 1.0 EndIf If IsArray($aLeange) Then $sLeange = $aLeange[0] Else $sLeange = "" EndIf If IsArray($aBreite) Then $sBreite = $aBreite[0] Else $sBreite = "" EndIf If IsArray($aTiefe) Then $sTiefe = $aTiefe[0] Else $sTiefe = "" EndIf If IsArray($aPosEinheit) Then Select Case $aPosEinheit[0] = "ST" $sFaktor = 1.0 $sLeange = "" $sBreite = "" $sTiefe = "" Case $aPosEinheit[0] = "LE" $sFaktor = 1.0 $sLeange = "" $sBreite = "" $sTiefe = "" Case $aPosEinheit[0] = "STD" $sFaktor = 1.0 $sLeange = "" $sBreite = "" $sTiefe = "" Case $aPosEinheit[0] = "M" $sBreite = "" $sTiefe = "" $sPosMenge = $sLeange Case $aPosEinheit[0] = "M2" ;~ $sLeange = "" ;~ $sBreite = "" $sPosMenge = $sLeange * $sBreite Case $aPosEinheit[0] = "M3" $sPosMenge = _replaceKom2Punkt($sLeange) * _replaceKom2Punkt($sBreite) * _replaceKom2Punkt($sTiefe) * _replaceKom2Punkt($sFaktor) EndSelect _ArrayAdd($aAufM, $sPosAbschnitt & "#" & $sPosNr & "#" & $sFaktor & "#" & $sLeange & "#" & $sBreite & "#" & $sTiefe & "#" & $sPosMenge & "#" & $sPosEinheit & "#" & $sPosKurztext & "#" & $sBegrund & "#" & $sPosMenge) ;~ ;_ArrayDisplay($aAufM) EndIf Next EndIf EndIf _ArrayDelete($aAufM, 0) Dim $aReturn[UBound($aAufM)][13] ;_ArrayDisplay($aReturn) For $i = 0 To UBound($aAufM) - 1 $aSplitt = StringSplit($aAufM[$i], "#") ;_ArrayDisplay($aSplitt) $aReturn[$i][0] = $aSplitt[1] $aReturn[$i][1] = $aSplitt[2] ;~ if $aSplitt[3] = "1" Then ;~ $aReturn[$i][2] = StringReplace($aSplitt[3],"1","1.0") ;~ Else ;~ $aReturn[$i][2] = $aSplitt[3] ;~ EndIf $aReturn[$i][2] = $aSplitt[3] $aReturn[$i][3] = $aSplitt[4] $aReturn[$i][4] = $aSplitt[5] $aReturn[$i][5] = $aSplitt[6] $aReturn[$i][6] = $aSplitt[7] $aReturn[$i][7] = $aSplitt[8] $aReturn[$i][8] = $aSplitt[9] $aReturn[$i][9] = $aSplitt[10] $aReturn[$i][10] = $aSplitt[11] Next ;_ArrayDisplay($aReturn) ;MsgBox(64,"Array ohne Preise","") $aArray = _get_EV_Aufma_preise_to_Array($aReturn, $sLEB_NR) Return $aArray ;~ _ArrayDisplay($aArray) EndFunc ;==>_get_EV_Aufma_positionen ;get ;Hilffunktions für Preise beim Array Func _get_EV_Aufma_preise_to_Array($aArray, $sLEB_NR) Global $aVertrag_Preis ;https://www.evergabe.telekom.de/sheet/header?c=1&sheetId=0006119386 $sHTML = _send_WinhttpS_GET($aHosts[1][1], "/sheet/header?c=1&sheetId=" & $sLEB_NR, "https://www.evergabe.telekom.de/sheet/header?class=list-item&sheetId=" & $sLEB_NR & "&c=1") ;ClipPut($sHTML) ;MsgBox(0, $sLEB_NR, "asdf") $aDetailID = StringRegExp($sHTML, 'details\?id=([^&]+)', 3) If IsArray($aDetailID) Then ;https://www.evergabe.telekom.de/framework-agreement-call/details?id=15562026&c=1 $sHTML = _send_WinhttpS_GET($aHosts[1][1], "/framework-agreement-call/details?id=" & $aDetailID[0] & "&c=1", "https://www.evergabe.telekom.de/sheet/header?class=list-item&sheetId=" & $sLEB_NR & "&c=1") ;~ ClipPut($sHTML) ;~ MsgBox(0, $sLEB_NR, "asdf") $aRVertrag = StringRegExp($sHTML, 'c=1">(\d+)/00010', 3) If IsArray($aRVertrag) Then $sFilePath = @ScriptDir & "\daten\LV\" & $aRVertrag[0] & ".txt" _FileReadToArray($sFilePath, $aVertrag_Preis) _ArrayDelete($aVertrag_Preis, 0) ;_ArrayDisplay($aVertrag_Preis) ;~ _ArrayDisplay($aArray) For $iI = 0 To UBound($aArray) - 1 For $i = 0 To UBound($aVertrag_Preis) - 1 $aSplitt = StringSplit($aVertrag_Preis[$i], "|") ;_ArrayDisplay($aSplitt) If $aSplitt[1] = $aArray[$iI][1] Then $aArray[$iI][11] = _replaceKom2Punkt($aSplitt[4]) $aArray[$iI][10] = _replaceKom2Punkt($aArray[$iI][2]) * _replaceKom2Punkt($aArray[$iI][6]) $aArray[$iI][12] = _replaceKom2Punkt($aSplitt[4]) * _replaceKom2Punkt($aArray[$iI][10]) EndIf Next Next EndIf EndIf For $i = 0 To UBound($aArray) - 1 If $aArray[$i][2] = 1 Then $aArray[$i][2] = 1.0 EndIf $aArray[$i][2] = _replacePunkt2Koma($aArray[$i][2]) $aArray[$i][3] = _replacePunkt2Koma($aArray[$i][3]) $aArray[$i][4] = _replacePunkt2Koma($aArray[$i][4]) $aArray[$i][5] = _replacePunkt2Koma($aArray[$i][5]) $aArray[$i][6] = _replacePunkt2Koma($aArray[$i][6]) $aArray[$i][10] = _replacePunkt2Koma($aArray[$i][10]) $aArray[$i][11] = _replacePunkt2Koma($aArray[$i][11]) $aArray[$i][12] = _replacePunkt2Koma($aArray[$i][12]) Next ;~ _ArrayDisplay($aArray) Return $aArray EndFunc ;==>_get_EV_Aufma_preise_to_Array Func _send_Winhttp_POST($sHost, $sLink, $sReferer, $sPostContend) $aHTML = _WinHttpSimpleRequest($sHost, "POST", $sLink, $sReferer, $sPostContend, $sHeader, True, 1) _Write_to_Console("laden| " & $aHosts[1][0] & $sLink) If IsArray($aHTML) Then $aHTML[1] = StringReplace($aHTML[1], "amp;", "") ;~ $aHTML[1] = BinaryToString($aHTML[1], 4) ;~ _ArrayDisplay($aHTML) Return $aHTML[1] Else $aHTML = _WinHttpSimpleRequest($sHost, "POST", $sLink, $sReferer, $sPostContend) $aHTML = StringReplace($aHTML, "amp;", "") ;~ $aHTML = BinaryToString($aHTML, 4) Return $aHTML EndIf EndFunc ;==>_send_Winhttp_POST Func _send_Winhttp_GET($sHost, $sLink, $sReferer) Local $sHeader = "Content-Type: application/x-www-form-urlencoded" $aHTML = _WinHttpSimpleRequest($sHost, "GET", $sLink, $sReferer, Default, $sHeader, True, 1) _Write_to_Console("laden| " & $aHosts[1][0] & $sLink) If IsArray($aHTML) Then $aHTML[1] = StringReplace($aHTML[1], "amp;", "") $aHTML[1] = BinaryToString($aHTML[1], 4) Return $aHTML[1] Else $aHTML = _WinHttpSimpleRequest($sHost, "GET", $sLink, $sReferer) $aHTML = StringReplace($aHTML, "amp;", "") $aHTML = BinaryToString($aHTML, 4) Return $aHTML EndIf EndFunc ;==>_send_Winhttp_GET Func _send_WinhttpS_GET($sHost, $sLink, $sReferer) ;~ Local $sHeader = "Content-Type: application/x-www-form-urlencoded" & @CRLF & $sHeader_lovoo $aHTML = _WinHttpSimpleSSLRequest($sHost, "GET", $sLink, $sReferer, Default, $sHeader, True, 1) _Write_to_Console("laden| " & $aHosts[1][0] & $sLink) If IsArray($aHTML) Then $aHTML[1] = StringReplace($aHTML[1], "amp;", "") ;~ $aHTML[1] = BinaryToString($aHTML[1], 4) ;~ _ArrayDisplay($aHTML) Return $aHTML[1] Else $aHTML = _WinHttpSimpleSSLRequest($sHost, "GET", $sLink, $sReferer) $aHTML = StringReplace($aHTML, "amp;", "") ;~ $aHTML = BinaryToString($aHTML, 4) Return $aHTML EndIf EndFunc ;==>_send_WinhttpS_GET Func _send_WinhttpS_POST($sHost, $sLink, $sReferer, $sPostContend) ;~ Local $sHeader = "Content-Type: application/x-www-form-urlencoded" & @CRLF & $sHeader_lovoo $aHTML = _WinHttpSimpleSSLRequest($sHost, "POST", $sLink, $sReferer, $sPostContend, $sHeader, True, 1) _Write_to_Console("laden| " & $aHosts[1][0] & $sLink) If IsArray($aHTML) Then $aHTML[1] = StringReplace($aHTML[1], "amp;", "") ;~ $aHTML[1] = BinaryToString($aHTML[1], 4) Return $aHTML[1] Else $aHTML = _WinHttpSimpleSSLRequest($sHost, "POST", $sLink, $sReferer, $sPostContend) $aHTML = StringReplace($aHTML, "amp;", "") ;~ $aHTML = BinaryToString($aHTML, 4) Return $aHTML EndIf EndFunc ;==>_send_WinhttpS_POST Func _URIEncode($sData) ; Prog@ndy Local $aData = StringSplit(BinaryToString(StringToBinary($sData, 4), 1), "") Local $nChar $sData = "" For $i = 1 To $aData[0] ;~ ConsoleWrite($aData[$i] & @CRLF) $nChar = Asc($aData[$i]) Switch $nChar Case 45, 46, 48 - 57, 65 To 90, 95, 97 To 122, 126 $sData &= $aData[$i] Case 32 $sData &= "+" Case Else $sData &= "%" & Hex($nChar, 2) EndSwitch Next Return $sData EndFunc ;==>_URIEncode Func _URIDecode($sData) ; Prog@ndy Local $aData = StringSplit(StringReplace($sData, "+", " ", 0, 1), "%") $sData = "" For $i = 2 To $aData[0] $aData[1] &= Chr(Dec(StringLeft($aData[$i], 2))) & StringTrimLeft($aData[$i], 2) Next Return BinaryToString(StringToBinary($aData[1], 1), 4) EndFunc ;==>_URIDecode Func _create_Gui_Ausw($aArrayList) Global $txt_detailsid = "" #Region ### START Koda GUI section ### Form=c:\users\flo\documents\isn autoit studio\projects\aufmasscreaterv2\forms\frm_ausw.kxf Global $frm_ausw = GUICreate("AuftragsAuswahl", 919, 231, 777, 303) Global $lv_auswahl = GUICtrlCreateListView("Beschreibung|SMNr|42Nr|DetailsID|Bezeichnung|Rahemvertrag|Start Datum|End Datum|Status", 5, 5, 905, 150, -1, BitOR($WS_EX_CLIENTEDGE, $LVS_EX_GRIDLINES, $LVS_EX_FULLROWSELECT)) GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 0, 120) GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 1, 80) GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 2, 80) GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 3, 60) GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 4, 220) GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 5, 90) GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 6, 80) GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 7, 80) GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 8, 80) Global $frm_ausw_txt_besch = GUICtrlCreateInput("", 5, 160, 121, 21) Global $frm_ausw_txt_smnr = GUICtrlCreateInput("", 130, 160, 81, 21) Global $frm_ausw_txt_42er = GUICtrlCreateInput("", 215, 160, 71, 21) Global $frm_ausw_txt_detailsid = GUICtrlCreateInput("", 290, 160, 56, 21) Global $txt_ausw_txt_bez = GUICtrlCreateInput("", 350, 160, 216, 21) Global $frm_ausw_txt_rv = GUICtrlCreateInput("", 570, 160, 86, 21) Global $frm_ausw_txt_sDatum = GUICtrlCreateInput("", 660, 160, 76, 21) Global $frm_ausw_txt_eDatum = GUICtrlCreateInput("", 740, 160, 76, 21) Global $frm_ausw_txt_status = GUICtrlCreateInput("", 820, 160, 91, 21) Global $frm_ausw_bt_best = GUICtrlCreateButton("übernehmen", 5, 185, 75, 25) GUISetState(@SW_SHOW) #EndRegion ### END Koda GUI section ### _GUICtrlListView_AddArray($lv_auswahl, $aArrayList) While 1 $nMsg = GUIGetMsg() Switch $nMsg Case $GUI_EVENT_CLOSE Exit Case $frm_ausw_bt_best $iRow = _GUICtrlListView_GetSelectedIndices($lv_auswahl) ;~ _DebugArrayDisplay($aArrayList) ;~ ConsoleWrite(Int($iRow) & @CRLF & @CRLF ) ;~ GUICtrlSetData($frm_ausw_txt_besch, _GUICtrlListView_GetItemText($lv_auswahl, Int($iRow), 0)) ;~ GUICtrlSetData($frm_ausw_txt_smnr, _GUICtrlListView_GetItemText($lv_auswahl, Int($iRow), 1)) ;~ GUICtrlSetData($frm_ausw_txt_42er, _GUICtrlListView_GetItemText($lv_auswahl, Int($iRow), 2)) ;~ GUICtrlSetData($frm_ausw_txt_detailsid, _GUICtrlListView_GetItemText($lv_auswahl, Int($iRow), 3)) ;~ GUICtrlSetData($txt_ausw_txt_bez, _GUICtrlListView_GetItemText($lv_auswahl, Int($iRow), 4)) ;~ GUICtrlSetData($frm_ausw_txt_rv, _GUICtrlListView_GetItemText($lv_auswahl, Int($iRow), 5)) ;~ GUICtrlSetData($frm_ausw_txt_sDatum, _GUICtrlListView_GetItemText($lv_auswahl, Int($iRow), 6)) ;~ GUICtrlSetData($frm_ausw_txt_eDatum, _GUICtrlListView_GetItemText($lv_auswahl, Int($iRow), 7)) ;~ GUICtrlSetData($frm_ausw_txt_status, _GUICtrlListView_GetItemText($lv_auswahl, Int($iRow), 8)) ;~ GUICtrlSetData($frm_ausw_bt_best, _GUICtrlListView_GetItemText($lv_auswahl, Int($iRow), 9 GUICtrlSetData($kopf_TAB_txt_abrufnr, $aArrayList[Int($iRow)][2]) GUICtrlSetData($kopf_TAB_datum_start, $aArrayList[Int($iRow)][5]) GUICtrlSetData($kopf_TAB_txt_datum_ende, $aArrayList[Int($iRow)][6]) ;~ _DebugArrayDisplay($aTest) ExitLoop EndSwitch WEnd $txt_detailsid = $aArrayList[Int($iRow)][3] GUIDelete($frm_ausw) ;~ MsgBox(64, "", $txt_detailsid) Return $txt_detailsid EndFunc ;==>_create_Gui_Ausw