Da war doch unlängst eine ähnliche Diskussion zum Thema SAP und Lieferpläne (falls meine grauen Zellen nicht schon in Rente sind). Ich finde sie aber derzeit nicht. Gefunden. Hier.
SAP bietet lt. dieser Diskussion eine Funktion für Import/Export dieser Informationen.
Google schlägt vor: https://help.sap.com/docs/SAP_DAIRY…ml?locale=de-DE
Beiträge von water
-
-
wenn ich versuche das Script via F5 laufen zu lassen (unter aktueller Autoit Version 3.3.16.1), bekomme ich folgenden Fehler:
Da muss ich Dir zustimmen
Im Forum findest Du diese Funktion hier: https://www.autoitscript.com/forum/topic/14…rties-of-a-fileAutoIt
Alles anzeigen;=============================================================================== ; Function Name.....: _FileGetProperty ; Description.......: Returns a property or all properties for a file. ; Version...........: 1.0.2 ; Change Date.......: 05-16-2012 ; AutoIt Version....: 3.2.12.1+ ; Parameter(s)......: $FGP_Path - String containing the file path to return the property from. ; $FGP_PROPERTY - [optional] String containing the name of the property to return. (default = "") ; $iPropertyCount - [optional] The number of properties to search through for $FGP_PROPERTY, or the number of items ; returned in the array if $FGP_PROPERTY is blank. (default = 300) ; Requirements(s)...: None ; Return Value(s)...: Success: Returns a string containing the property value. ; If $FGP_PROPERTY is blank, a two-dimensional array is returned: ; $av_array[0][0] = Number of properties. ; $av_array[1][0] = 1st property name. ; $as_array[1][1] = 1st property value. ; $av_array[n][0] = nth property name. ; $as_array[n][1] = nth property value. ; Failure: Returns an empty string and sets @error to: ; 1 = The folder $FGP_Path does not exist. ; 2 = The property $FGP_PROPERTY does not exist or the array could not be created. ; 3 = Unable to create the "Shell.Application" object $objShell. ; Author(s).........: - Simucal <Simucal@gmail.com> ; - Modified by: Sean Hart <autoit@hartmail.ca> ; - Modified by: teh_hahn <sPiTsHiT@gmx.de> ; - Modified by: BrewManNH: ; https://www.autoitscript.com/forum/topic/148232-_filegetproperty-retrieves-the-properties-of-a-file ; URL...............: http://www.autoitscript.com/forum/topic/34732-udf-getfileproperty/page__view__findpost__p__557571 ; Note(s)...........: Modified the script that teh_hahn posted at the above link to include the properties that ; Vista and Win 7 include that Windows XP doesn't. Also removed the ReDims for the $av_ret array and ; replaced it with a single ReDim after it has found all the properties, this should speed things up. ; I further updated the code so there's a single point of return except for any errors encountered. ; $iPropertyCount is now a function parameter instead of being hardcoded in the function itself. ;=============================================================================== Func _FileGetProperty($FGP_Path, $FGP_PROPERTY = "", $iPropertyCount = 500) If $FGP_PROPERTY = Default Then $FGP_PROPERTY = "" $FGP_Path = StringRegExpReplace($FGP_Path, '["'']', "") ; strip the quotes, if any from the incoming string If Not FileExists($FGP_Path) Then Return SetError(1, 0, "") ; path not found Local Const $objShell = ObjCreate("Shell.Application") If @error Then Return SetError(3, 0, "") Local Const $FGP_File = StringTrimLeft($FGP_Path, StringInStr($FGP_Path, "\", 0, -1)) Local Const $FGP_Dir = StringTrimRight($FGP_Path, StringLen($FGP_File) + 1) Local Const $objFolder = $objShell.NameSpace($FGP_Dir) Local Const $objFolderItem = $objFolder.Parsename($FGP_File) Local $Return = "", $iError = 0 If $FGP_PROPERTY Then For $I = 0 To $iPropertyCount If $objFolder.GetDetailsOf($objFolder.Items, $I) = $FGP_PROPERTY Then $Return = $objFolder.GetDetailsOf($objFolderItem, $I) EndIf Next If $Return = "" Then $iError = 2 EndIf Else Local $av_ret[$iPropertyCount + 1][2] = [[0]] For $I = 1 To $iPropertyCount If $objFolder.GetDetailsOf($objFolder.Items, $I) Then $av_ret[$I][0] = $objFolder.GetDetailsOf($objFolder.Items, $I - 1) $av_ret[$I][1] = $objFolder.GetDetailsOf($objFolderItem, $I - 1) ;~ $av_ret[0][0] += 1 $av_ret[0][0] = $I EndIf Next ReDim $av_ret[$av_ret[0][0] + 1][2] If Not $av_ret[1][0] Then $iError = 2 $av_ret = $Return Else $Return = $av_ret EndIf EndIf Return SetError($iError, 0, $Return) EndFunc ;==>_FileGetProperty -
Lt. Fehlermeldung in Post #1 tritt dieser auf Zeile 350 auf. Dies ist das "$sqlCon.Open" statement.
Die COM-Error Funktion deutet auch eindeutig auf ein SSL/TLS Problem hin. -
Wenn Du den aktuellsten SQLOLEDB Treiber verwendest, dann sollte TLS 1.2 kein Problem mehr sein (zumindest lt. Stackoverflow, siehe Link oben).
Mit folgendem Skript erhältst Du eine Liste aller installierten Treiber inkl. Dateiname und Version.
AutoIt
Alles anzeigen#include <Constants.au3> #include <Debug.au3> _ADO_OLEDBProvidersList() Func _ADO_OLEDBProvidersList() Local $sKey = "HKCR\CLSID" Local $iIndexReg = 1, $iIndexResult = 0 Local $iMax = 100000, $iMin = 1, $iPrevious = $iMin, $iCurrent = $iMax / 2 Local $aResult[200][6] ProgressOn("OLE DB Providers", "Processing the Registry", "", Default, Default, $DLG_MOVEABLE) AutoItSetOption("ExpandEnvStrings", 1) ; Count the number of keys While 1 RegEnumKey($sKey, $iCurrent) If @error = -1 Then ; Requested subkey (key instance) out of range $iMax = $iCurrent $iCurrent = Int(($iMin + $iMax) / 2) $iPrevious = $iMax Else If $iPrevious <= ($iCurrent + 1) And $iPrevious >= ($iCurrent - 1) Then ExitLoop $iMin = $iCurrent $iCurrent = Int(($iMin + $iMax) / 2) $iPrevious = $iMin EndIf WEnd Local $iPercent = 0 Local $sKeyValue = '' ; Process registry While 1 If Mod($iIndexReg, 10) = 0 Then $iPercent = Int($iIndexReg * 100 / $iCurrent) ProgressSet($iPercent, $iIndexReg & " keys of " & $iCurrent & " processed (" & $iPercent & "%)") EndIf $sSubKey = RegEnumKey($sKey, $iIndexReg) If @error Then ExitLoop $sKeyValue = RegRead($sKey & "\" & $sSubKey, "OLEDB_SERVICES") If @error = 0 Then $aResult[$iIndexResult][0] = $sKey & "\" & $sSubKey ; Registry Key $aResult[$iIndexResult][1] = RegRead($sKey & "\" & $sSubKey, "") ; OLE DB Provider $aResult[$iIndexResult][2] = RegRead($sKey & "\" & $sSubKey & "\OLE DB Provider", "") ; Description $aResult[$iIndexResult][3] = RegRead($sKey & "\" & $sSubKey & "\InprocServer32", "") ; DLL file If $aResult[$iIndexResult][3] <> "" Then $aResult[$iIndexResult][4] = _FileGetProperty($aResult[$iIndexResult][3], "Dateiversion") $aResult[$iIndexResult][5] = _FileGetProperty($aResult[$iIndexResult][3], "Änderungsdatum") EndIf $iIndexResult += 1 EndIf $iIndexReg += 1 WEnd ProgressOff() ReDim $aResult[$iIndexResult][UBound($aResult, 2)] _DebugArrayDisplay($aResult, "OLE DB Providers", "", 0, Default, "Registry key|OLE DB Provider|Description|DLL|DLL Version|DLL last modified") EndFunc ;==>_ADO_OLEDBProvidersList -
Ich würde mit der Err.description starten. Sie gibt an, dass es ein Problem mit SSL zu sein scheint.
Err.number hilft leider wenig, da dieser Code einen allgemeinen Fehler anzeigt.Google zeigt für den Suchtext "connectionOpen SECDoClientHandshake SSL 80020009" in Richtung TLS.
Z.B.: https://stackoverflow.com/questions/7151…-error-on-windo -
Nicht generell. Aber in den wenigen Fällen, wo es sinnvoll ist, muss das Posting einen zusätzllichen Wert generieren. Z.B. als Referenz für Coder, die mit der selben Problematik das Forum später durchsuchen. Dann ist eine KONKRETE Lösung, die bisher im Thread nicht enthalten war, sinnvoll.
Mir entschließt sich der Sinn deines Vorhabens auch nicht so richtig.
Aber Du sprichst den OP direkt an und der ist seit mehr als 5 Jahren abwesend. Du siehst den Unterschied

-
aptitude
Betätigst Du Dich wieder als Leichenfledderer?
Der OP ist seit 2019 nicht mehr aktiv.
Bitte sei so gut und prüfe vor Deinem Posting die Aktualität des Themas. -
-
-
Ich habe mir inzwischen angewöhnt, MS auf English umzuschalten. besonders wenn ich eine Enum-Liste kopieren will.
Aber manchmal erwischt es mich doch
-
Ich mache hier mal ein Post mit meinen Findings auf (wird aktualisiert):
- UltramarinViewer: https://www.ultramarinviewer.de/ - Edit: Unterstützt bewusst keinen Druck. Siehe Handbuch.
OpenXRechnungToolbox:https://jcthiele.github.io/OpenXRechnungT…docs/index.html Bereits von Musashi gepostetXRechnungsviewer:https://rechnungsaustausch.org/xrechnung/xrec…ewer-bayern.htm Nur online Viewer.
-
Hallo Peter,
danke für Deine Rückmeldung.
Ich fasse zusammen:- Deine Firma hat schon ein Werkzeug um XRechnungen zu erstellen
- Du als Verkäufer brauchst einen XRechnung Reader
- Ausgabe der XRechnung als PDF
- Die zeitgesteuerte Verarbeitung aller XRechnungen in einem bestimmten Verzeichnis könnte über AutoIt erfolgen, dann Aufruf des Werkzeugs und Speicherung als PDF
Kannst Du mir bitte sagen, welche Viewer Du Dir schon angeschaut hast? Damit ich Dir nicht Programme vorschlage, die Du bereits geprüft und verworfen hast.
-
Peter, hier meine Überlegungen auf Basis Deiner Rückmeldungen:
- Da alle deutschen Betriebe ab 1.000€ Nettorechnungswert die Rechnung an Behörden als XRechnung senden müssen, ist eine große Zahl an Unternehmen betroffen.
Ich gehe daher davon aus, dass es bereits unzählige Lösungen am Markt gibt. Was dem Einen Aufwand beschert, ist für den Anderen eine Einkommensquelle. - Ich würde daher im ersten Schritt etwas Zeit für die Marktbeobachtung investieren. Erst wenn sich kein geeignetes Prrodukt findet, kann man ja selbst in die Tiefen der behördlichen Vorgaben eintauchen.
- Ich habe eine einfache Darstellung gefunden, was mit XRechnung etc. gemeint ist: https://www.fuer-gruender.de/wissen/unterne…nung-erstellen/
- Erste Erkenntnisse daraus:
- "Eine erweiterte Variante der XRechnung ist das Format ZUGFeRD. Das ZUGFeRD erstellt aus einer Rechnung zwei Dateien: die maschinenlesbare XML-Datei sowie die vom Menschen lesbare PDF-Datei."
- Bevor eine Entscheidung für die Umsetzungsrichtung getroffen wird, sollte ein Mengengerüst erstellt werden
- Anzahl der betroffenen Rechnungen pro Monat oder Jahr
- Anzahl der Mitarbeiter, die mit XRechnungen und somit dem Werkzeug arbeiten müssen (Schulungsaufwand ...)
- Vorhandene Rechnungs-/Buchhaltungssoftware. Damit kann dann geprüft werden, ob es vom Hersteller nicht bereits eine Umsetzung gibt ...
- Gegenüberstellung und Abwägung der Vorteile/Nachteile der möglichen Umsetzungen:
- AddOns
- Generatoren
- Webformular ZRE (finde ich sehr interessant)
- Rechnungssoftware
- Eine Lösung um XRechnungen anzuzeigen sollte dann auch die XRechnungen erstellen können
- 1.1.2025 um XRechnungen anzuzeigen ist für eine selbst programmierte Lösung sehr sportlich
Soviel mal aus dem Stand heraus.
Kannst Du bitte kurz auflisten, welche Lösung Du Dir bereits angesehen hast und warum sie nicht in Frage kamen?
- Da alle deutschen Betriebe ab 1.000€ Nettorechnungswert die Rechnung an Behörden als XRechnung senden müssen, ist eine große Zahl an Unternehmen betroffen.
-
-
Einerseits habe ich mit XRechnungen nichts zu tun. Aber andererseits bin ich gut im Suchen und Finden. Projekt- und Prozessmanagement liegt mir auch nicht fern.
Kannst Du genauer spezifizieren, was Dur DIr vorstellst was der "Arbeitskreis" leisten soll??
Also z.B.:- Beschaffung eines bestehenden Produktes?
- Programmierung eines XRechnung-Viewers in AutoIt?
- Lokalisierung von Beratern, die bei der Einführung und Prozessanpassung helfen?
- Kostenrahmen? Meist wird ja selbst programmiert, da man meint, damit eine günstigere Lösung zu finden. Aus meiner Erfahrung kann ich da nur sagen: oft ist das ein Trugschluss.
-
Hab das mal mit Map realisiert:
AutoIt
Alles anzeigenGlobal $mDDRType[] $mDDRType[0] = "Unknown" $mDDRType[1] = "Other" $mDDRType[2] = "DRAM" $mDDRType[3] = "Synchronous DRAM" $mDDRType[4] = "Cache-DRAM" $mDDRType[5] = "EDO" $mDDRType[6] = "EDRAM" $mDDRType[7] = "VRAM" $mDDRType[8] = "SRAM" $mDDRType[9] = "RAM" $mDDRType[10] = "ROM" $mDDRType[11] = "Flash" $mDDRType[12] = "EEPROM" $mDDRType[13] = "FEPROM" $mDDRType[14] = "EPROM" $mDDRType[15] = "CDRAM" $mDDRType[16] = "3DRAM" $mDDRType[17] = "SDRAM" $mDDRType[18] = "SGRAM" $mDDRType[19] = "RDRAM" $mDDRType[20] = "DDR" $mDDRType[21] = "DDR2" $mDDRType[22] = "BRAM" $mDDRType[23] = "FB-DIMM" $mDDRType[24] = "DDR3" $mDDRType[25] = "FBD2" $mDDRType[26] = "DDR4" $mDDRType[27] = "LPDDR" $mDDRType[28] = "LPDDR2" $mDDRType[29] = "LPDDR3" $mDDRType[30] = "LPDDR4" $mDDRType[31] = "Logical non-volatile device" $mDDRType[32] = "HBM (High Bandwidth Memory)" $mDDRType[33] = "HBM2 (High Bandwidth Memory Generation 2)" $mDDRType[34] = "DDR5" $mDDRType[35] = "LPDDR5" $mDDRType[36] = "HBM3 (High Bandwidth Memory Generation 3)" $mDDRType[37] = "DMTF Reserved" ; 37 – 32567 $mDDRType[32568] = "Vendor Reserved" ; 32568 – 65535 ; Beispielaufruf ConsoleWrite(_GetDDRTypeText($mDDRType, 28) & @CRLF) Func _GetDDRTypeText(ByRef $mDDRType, $iDDRType) ; Set ranges of numbers to the first number in the range. This number has to be defined in the $mDDRType map. If $iDDRType >= 37 And $iDDRType <= 32567 Then $iDDRType = 37 If $iDDRType >= 32568 And $iDDRType <= 65535 Then $iDDRType = 32568 If Not MapExists($mDDRType, $iDDRType) Then Return "Unbekannter Wert in Win32_PhysicalMemory: SMBIOSMemoryType" Else Return $mDDRType[$iDDRType] EndIf EndFunc ;==>_GetDDRTypeText -
Habe Intel und MS verglichen. Sind identisch bis auf ein/zwei Fehler in der Dokumentation:
-
hipfzwirgel
Irgendwie passen die Nummern Deines Switch Beispiels und die in der von Musashi genannten Doku nicht zusammen.
"Blitz" kommt da gar nicht vor, "SRAM" ist bei Dir die #8 und in der Doku #6.Oder habe ich da ein Verständnisproblem 🤔
-
Folgendes YT Video gibt einen guten Überblick über das Neue Outlook: https://www.youtube.com/watch?v=TR7YPG…xOX-sL&index=21
Im Video wird folgender MS Blog erwähnt mit dem jeweilig aktuellen Umsetzungsstand: https://techcommunity.microsoft.com/t5/outlook-blo…ws/ba-p/3975602Wenn ich diesen Artikel richtig verstehe, dann wird das Neue Outlook COM definitiv nicht unterstützen - somit kann die Outlook UDF sich nicht mit dem Neuen Outlook verbinden.
Edit: Hier steht es noch genauer: https://www.accessforever.org/post/the-new-o…-and-access-vba
bzw. auf Deutsch: https://www.borncity.com/blog/2023/10/1…vba-lsungen-ab/ZitatCOM?
But Microsoft definitely wants Outlook to be the first classic and important Windows Office application that will lose COM, the object model and therefore the traditional programmability and automation by Windows and Office applications. What does this mean for VBA programmers with Access, but of course also Excel, Word etc. and in Outlook itself who have to programmatically generate emails, calendar entries, and much more?
Microsoft has made clear in the video that they will not "recreate" COM and that COM add-ins will no longer be supported, but only the Javascript web add-ins that have existed for some time.
funktioniert OutlookEX auch bei dem Outlook "New"?
Daher meine Antwort auf Deine Frage: Nein.
-
Alina Falls die Lösung von Aspirinjunkie Dein Problem nicht löst, melde DIch hier nochmals.
Ich gehe mal davon aus, dass Du nur die Formel brauchst und keine Umsetzung in AutoIt (daher Dein Post im Forum Sonstiges/Talk).