Artikelpreise aus Onlinekatalog in Rechnungsprogramm oder .xlsx

  • vielleicht greifst Du besser auf den ; (Strichpunkt) zur Trennung der Datensätze. Mit dem Komma kann es zu unwägbaren Verirrungen zwischn deutschem und anglikanischem Textformat kommen Beispiel 100.000,89 CHR oder 100,000.89. In beiden Formaten kommen Kommas in unterschiedlichen Formaten vor. Strichpunkte sind da der bessere Trenner. meist kann man das beim Export von CSV Dateien einstellen. Softmaker office macht automatisch ; Ein aktuelles Excel habe ich leider nicht zur Hand. Open Office macht , kann man aber, wie überall einstellen.

    LG

    Peter

    Hinweise auf Suchmaschinen finde ich überflüssig - wer fragt hat es nicht gefunden oder nicht verstanden. Die Antwort gibt sich oftmals schneller als der Hinweis auf Dr. Goggle & Co.

    Ab 19-10-22 ergänzt um:

    Die Welt wird nicht bedroht von den Menschen, die böse sind, sondern von denen, die das Böse zulassen. (Albert Einstein)

  • Hi Swiffer,

    [...] Wie hast Du denn die Screenshot-Gif erstellt? [...]

    ScreenToGif, einfach, unkompliziert, ausreichend 👍 .

    [...] der Preis exkl. MwSt. [...]

    Artikelnummer, Verkaufspreis (das wäre Artikelnummer, Farbe, Typ in einem, ohne Abstand)

    Code
    Artikelnummer; Verkaufspreis
    234057100242; 893.00
    234057100242; 893.00
    234057100242; 893.00

    Bist du dir sicher das du wirklich diese drei Werte zusammenlegen und als "Artikelnummer" ausgegeben haben möchtest? Ich kenne den Import des Rechnungsprogramms natürlich nicht, doch irgendwie erscheint mir das sehr unüblich. Wenn deine Zuordnung im Programm somit richtig ist und du dir sicher bist, weil du es ausreichend getestet hast, dann alles gut 😅 . Möchte nur nochmal fragen, nicht das sich da Fehler einschleichen und du am Ende eine völlig unsaubere Zuordnung von Artikel und Preis (ohne MwSt) hast.

    Abgesehen davon finde ich Semikolon auch besser als Komma. Doch dies hängt am Ende auch von deinem Import ab, welche Formate es lesen und verarbeiten kann.

    Oftmals wird es auch so gemacht, dass die Werte in "" stehen:
    "234057100242","893.00" oder mit Semikolon "234057100242";"893.00".

    Aber das Format ändern, beim "finden" auf der Webseite ist gar kein Problem. Also wenn du dich später umentscheidest, dann nimmst du eben ein anderes was später dann deine CSV darstellt.

    Ich denke ich komme am Mo. in 'ner Pause dazu, es fertig zu stellen. Ist nicht mehr viel 😅 .

    Abgesehen davon:
    Wie die Anderen hier bereits erwähnt haben, wäre natürlich der sicherste Weg direkt die CSV vom Anbieter/Lieferanten zu bekommen, keine Frage.
    Allerdings weiß ich nicht, ob die sowas täglich neu bereitstellen würden?!

    Viele Grüße
    Sven

    Update: Swiffer brauchst du bei deiner CSV, zum Import, als erste Zeile die Spaltenbezeichner? Also Artikelnummer;Verkaufspreis oder soll die CSV-Datei direkt mit den Werten beginnen? Am Ende auch super einfach im Nachgang gemacht, aber wenn man es gleich berücksichtigen kann, warum also nicht.

  • Swiffer

    Ich würde Dir dringend empfehlen, dich mit *.ini Dateien in Autoit zu beschäftigen.

    Dort kannst Du dann z.B. Trenner festlegen, Spaltenköpfe usw. Dann musst Du nicht bei jeder Änderung an den Source.

    SOLVE-SMART das Zusammenfassen der Artikelnummer finde ich nicht schlimm - eigentlich schon fast normal. Je nachdem welchen Ansatz man bei Artikelnummern in der WaWi verfolgt - gibt es 2 Vorgehensweisen. Startartikelnummer festlegen, bei jedem Artikel eins hochzählen - fertig.

    Variante 2 "sprechende " Artikelnummern.

    Da gibt es dann 22 Mio Möglichkeiten des Vorgehens. Lieferantennummer, Farbe usw einschlüsseln ist nur eine davon. Ich bin ein Fan von 2.

    Allerdings würde ich die Farbe zur Artnummer (für mich) lieber mit einem Trenner andocken, liest sich leichter.

    LG

    Peter

    Hinweise auf Suchmaschinen finde ich überflüssig - wer fragt hat es nicht gefunden oder nicht verstanden. Die Antwort gibt sich oftmals schneller als der Hinweis auf Dr. Goggle & Co.

    Ab 19-10-22 ergänzt um:

    Die Welt wird nicht bedroht von den Menschen, die böse sind, sondern von denen, die das Böse zulassen. (Albert Einstein)

  • [...] das Zusammenfassen der Artikelnummer finde ich nicht schlimm - eigentlich schon fast normal. Je nachdem welchen Ansatz man bei Artikelnummern in der WaWi verfolgt - gibt es 2 Vorgehensweisen. Startartikelnummer festlegen, bei jedem Artikel eins hochzählen - fertig. [...]

    Klingt gut für mich Peter, da fehlen mir die Erfahrungswerte bei Warenwirtschaftsprogrammen etc., welche ihr offensichtlich habt. Fein 😀 .
    Hauptsache für Swiffer , entstehen keine Fehler, mehr wollte ich gar nicht.

    [...] Ich würde Dir dringend empfehlen, dich mit *.ini Dateien in Autoit zu beschäftigen.

    Dort kannst Du dann z.B. Trenner festlegen, Spaltenköpfe usw. Dann musst Du nicht bei jeder Änderung an den Source. [...]

    Ob es als Konfiguration eine INI sein muss, weiß ich nicht. Falls es bei dem WebDriver Ansatz bleibt oder erstmal dieser genutzt wird, muss man ggf. sowieso an den Code heran, wenn sich auf der Webseite was ändert. Ob ich da flexibel in der INI konfigurieren kann oder nicht, wäre dann egal.
    Im Prinzip hast du jedoch Recht, Flexibilität ist schon sinnvoll und anstrebenswert.

    Viele Grüße
    Sven

  • Naja *.inis sind nicht wirklich kompliziert. Wahrscheinlich beschäftigen sich nur nicht soviele damit.

    Hier mal ein paar Zeilen Code mit dem man das Thema, sozusagen für jeden Fall "todgeschlagen" hat. Ausgehend von der Idee, dass die *.ini den Namen des Hauptprogrammes trägt und im gleichen Verzeichnis liegt. Also zu einer F:\test.exe gehört eine F:\test.ini

    ------------------------------------------

    Const $programm_name = 'Test' ; der name des Programms

    Global $start_dir ; Start Directory des Programms

    ; --- Pfaden Anfang ----

    if stringlen(@ScriptDir) <= 3 Then

    $Start_dir = Stringleft (@ScriptDir, 2)

    Else

    $Start_dir = @ScriptDir

    EndIf

    ; MsgBox (0, "Start Dir", $Start_dir)

    Const $ini_pfad = $start_dir &'\' & $programm_name & '.ini'

    ;------ Pfaden Ende

    ; Pfaden muss sein, da dder Befehl @ScriptDir z.B. bei F -> F:\ also mit dem schrägen liefert bei F:\test -> eben den schrägen

    ; nicht liefert.Damit würden Pfadzusammensetzungen unterschiedlich ausfallen. Eine Autoit Ungereimtheit, die man mal beseitigen

    ; könnte.

    ; Ini Read Anfang

    Global $_trenner = (iniRead ($ini_pfad, "10", "trenner", "IniFehler")) ; einlesen des Trenners

    MsgBox (0, "Trenner", $_trenner)

    ; Ini Read Ende

    -----------------------

    LG

    Peter

    Hinweise auf Suchmaschinen finde ich überflüssig - wer fragt hat es nicht gefunden oder nicht verstanden. Die Antwort gibt sich oftmals schneller als der Hinweis auf Dr. Goggle & Co.

    Ab 19-10-22 ergänzt um:

    Die Welt wird nicht bedroht von den Menschen, die böse sind, sondern von denen, die das Böse zulassen. (Albert Einstein)

  • INIs sind sicherlich 'ne feine Sache Peter ( Peter S. Taler), ich nutze INIs als Programmkonfigurationsmöglichkeit seit Jahren selbst, doch nur dann wenn sie aus meiner Sicht angebracht sind. Spätestens wenn es um mehrzeilige Werte geht, ist man doch mit XML oder besser noch JSON deutlich flexibler bedient. Am Ende kommt es natürlich auf den Einsatz und die Anforderungen die man hat an.


    Bitte sei mir nicht böse Peter, doch dein Beispiel ist nicht wirklich aussagekräftig bzgl. der Verwendung von INI-Dateien. Doch macht auch nichts. Es gibt eine ganze Reihe von UDFs und an sich Funktionen in AutoIt die einem die Arbeit mit INI-Dateien sehr leicht machen. Daher ist der Hinweis an sich schon mal wichtig und gut 👍 .

    Viele Grüße
    Sven

  • SOLVE-SMART

    Was verstehst Du unter aussagekräftig? Ich hatte nicht vor alle Möglichkeiten einer *.ini aufzuzeigen, sondern ein Gerüst zu liefern, mit dem man im weiterarbeiten kann und vorallen die Angst vor dem Einstieg zu nehmen. Der Rest kann wachsen. Wozu es da noch UDFs und Co braucht ist mir nun nicht klar... Aber vielleicht bin ich in den letzten 10 Jahren noch nicht an die Grenzen von *.inis gestossen :). Die UDFs machen es einfach? Was?

    Was ist einfacher als eine *.ini? Noch einfacher? Die UDF nimmt einem das Denken ab? :rofl::rofl: . Und da hast Du auch schon den Grund für meine paar Zeilen Code UDF was denkt sich ein Neuling alles dabei? Lasst uns den "Neuen" dadurch helfen, dass wir es einfach halten, und die "Hemmschwellen" senken....

    LG

    Peter

    Hinweise auf Suchmaschinen finde ich überflüssig - wer fragt hat es nicht gefunden oder nicht verstanden. Die Antwort gibt sich oftmals schneller als der Hinweis auf Dr. Goggle & Co.

    Ab 19-10-22 ergänzt um:

    Die Welt wird nicht bedroht von den Menschen, die böse sind, sondern von denen, die das Böse zulassen. (Albert Einstein)

  • Alles gut Peter S. Taler , lass uns gern das Thema INIs in einem separaten Thread weiterführen, wenn du magst. Ich sagte ja, an sich eine gute Idee 🤝 , doch Swiffer fokussiert sich mit seinem Anliegen in diesem Thread sicherlich auf was anderes, als die Nutzung und Vorteile von INIs, XML, JSON und Co.

    Viele Grüße
    Sven

  • Bist du dir sicher das du wirklich diese drei Werte zusammenlegen und als "Artikelnummer" ausgegeben haben möchtest?

    Code
    Artikelnummer; Verkaufspreis
    234057100242; 893.00
    234057100242; 893.00
    234057100242; 893.00

    Ja. Ich habe es nochmal mit dem "Quellcode" gleich oberhalb versucht und es stimmt mit den hinterlegten Artikelnummern im System überein. Der Import funktioniert bestens so.

    Ein trennen nach Farbe und Variante wäre eine Option, müsste allerdings erst im System umgestellt werden. Aber es geht nach dem Import eh mit der Herstellernummer weiter.

    brauchst du bei deiner CSV, zum Import, als erste Zeile die Spaltenbezeichner? Also Artikelnummer;Verkaufspreis

    Das wäre super. Genau wie im Code oben, nur ein mal.

    Ich würde Dir dringend empfehlen, dich mit *.ini Dateien in Autoit zu beschäftigen.

    Dort kannst Du dann z.B. Trenner festlegen, Spaltenköpfe usw. Dann musst Du nicht bei jeder Änderung an den Source.

    Klingt interessant. Werde ich die Tage gerne mal machen. Sieht für mich aber erstmal noch nicht sooo einfach aus ;)

    Falls es bei dem WebDriver Ansatz bleibt oder erstmal dieser genutzt wird, muss man ggf. sowieso an den Code heran, wenn sich auf der Webseite was ändert.

    Hier wäre ich Dir sehr um einige ";Diese Funktion macht gerade das" verbunden.

    Dann könnte ich das ja vielleicht selber anpassen sollte es mal nötig werden und noch etwas lernen dabei.

    Ich bin schon sehr auf den Aufbau gespannt. Aber wie gesagt kein Stress es eilt wirklich nicht.

    Ich wünsche eine gute Nacht und einen ebensolchen Wochenstart.

    Grüsse Swiffer

    Sauber bleiben.

  • Swiffer ist aber wirklich einfach. Nimm den Code den ich gepostet habe das ; bei der msg Box raus und lass ihn laufen. So z.B. kannst Du in der Test.ini dein Trennzeichen festlegen.

    LG

    Peter

    Hinweise auf Suchmaschinen finde ich überflüssig - wer fragt hat es nicht gefunden oder nicht verstanden. Die Antwort gibt sich oftmals schneller als der Hinweis auf Dr. Goggle & Co.

    Ab 19-10-22 ergänzt um:

    Die Welt wird nicht bedroht von den Menschen, die böse sind, sondern von denen, die das Böse zulassen. (Albert Einstein)

  • Hi Swiffer ,

    im Prinzip habe ich alles fertig, nur hat mich der Hoster der Seite, Cloudflare, erstmal gesperrt, da ich zu viele automatische Anfragen bei denen gestellt habe 😂 . Nun muss ich um es final testen zu können, erstmal aus einem anderen Netz heraus die Automatisierung abschließen, dann kann ich sie dir gern zu Verfügung stellen.

    Du musst dir sicherlich keine Sorgen machen, dass dir dies auch passiert, da du einmal am Tag drei konkrete Requests gegen die Seite abfeuerst, was wenig und kein Problem ist. Also einer pro Seite - Seite 1 mit n Elementen, dann per Pagination auf Seite 2 gehen, dort die Daten holen und der dritte Request auf der dritten Seite. Ich habe für den Test das x-fache genutzt/getan, daher bin ich bei denen zurecht gesperrt 😅 .


    Also, es bleibt spannend. Ich melde mich wieder.

    Viele Grüße
    Sven

  • Peter S. Taler Das werde ich. Ist nur gerade etwas stressig auf der Arbeit. Hoffe spätestens am WE. Mir erschliesst sich zur Zeit nur ein Vorteil von .ini wenn .au3 schon zur .exe wurde. Ansonsten kann es doch auch mit $Variabel im Script gelöst werden oder?

    SOLVE-SMART Hehe, Lieferanten Seite down. Ups! :D Das mit Cloudflare haben die erst kürzlich geändert glaube ich. Es ist noch nicht so lange her, da musste ich jedes Mal ein Capture lösen beim öffnen der Seite. Es bleibt spannend.

    Sauber bleiben.

  • Stimmt, das mit der *.ini macht weniger Sinn wenn man keine *.exe produziert. ABER man sollte beachten, dass eine *.ini immer auch bestimmte Anforderungen an den Source stellt und dies gleich berücksichtigen, sonst muss man nachbessern.

    Beispiel gefällig? Bleiben wir beim CSV Trenner. Wenn man den Trenner im Source immer als "," also als Wert benutzt kann man später diesen nicht einfach aus der *.ini einlesen. Dafür muss man von Anfang an, den Trenner eine Variable zuweisen, um das dann aus der *.ini "befüllen" zu können. Also ohne *.ini wenigstens $_trenner = ",". Und dann Nur noch mit der Variable $_trenner arbeiten.

    LG

    Peter

    Hinweise auf Suchmaschinen finde ich überflüssig - wer fragt hat es nicht gefunden oder nicht verstanden. Die Antwort gibt sich oftmals schneller als der Hinweis auf Dr. Goggle & Co.

    Ab 19-10-22 ergänzt um:

    Die Welt wird nicht bedroht von den Menschen, die böse sind, sondern von denen, die das Böse zulassen. (Albert Einstein)

  • [...] ABER man sollte beachten, dass eine *.ini immer auch bestimmte Anforderungen an den Source stellt und dies gleich berücksichtigen, sonst muss man nachbessern.

    Beispiel gefällig? Bleiben wir beim CSV Trenner. Wenn man den Trenner im Source immer als "," also als Wert benutzt kann man später diesen nicht einfach aus der *.ini einlesen. Dafür muss man von Anfang an, den Trenner eine Variable zuweisen, um das dann aus der *.ini "befüllen" zu können. Also ohne *.ini wenigstens $_trenner = ",". Und dann Nur noch mit der Variable $_trenner arbeiten. [...]

    Ich verstehe absolut nicht Peter S. Taler , was das zur Sache tut. Bzw. was dies zu diesem Thema hier beiträgt? Du beschreibst das wenn man keine INI benutzt, muss man die Variable direkt benutzen und ist nicht so flexibel als wenn man eine INI benutzt?! Was hilft dies bezüglich der Fragestellung wie Swiffer Daten von der Webseite bekommt um sie danach als CSV für den Import aufzubereiten? Das ist jetzt schon der vierte oder fünfte Beiträg von dir, in dem du über die Verwendung von INIs sprichst. In diesem Kontext kommt aus meiner Sicht Swiffer keinen Schritt damit voran.

    Bitte benutze diesen Thread um dich voll und ganz über INIs auszulassen. Deswegen hatte ich ihn angelegt. Swiffer kann sich das dann dort anschauen und sich ein Bild machen. Wenn solche Themen vermischen, dann werden die Threads nur unnötig lang und jemand der was sucht, muss sich durch sehr viele Beiträge hangeln, die ggf. gar nichts mit der Fragestellung zu tun haben. Sowas kann sehr hinderlich sein. Wäre also nett von dir, den INI Thread zu gebrauchen, Danke 🤝 .

    Viele Grüße
    Sven

  • SOLVE-SMART

    Du könntest Dir Deine Triaden ersparen, wenn Du lesen und verstehen würdest was in #33 steht

    Hinweise auf Suchmaschinen finde ich überflüssig - wer fragt hat es nicht gefunden oder nicht verstanden. Die Antwort gibt sich oftmals schneller als der Hinweis auf Dr. Goggle & Co.

    Ab 19-10-22 ergänzt um:

    Die Welt wird nicht bedroht von den Menschen, die böse sind, sondern von denen, die das Böse zulassen. (Albert Einstein)

  • Du könntest Dir Deine Triaden ersparen, ...

    OT :

    Ohne mich inhaltlich einzumischen, aber Du meinst sicher Tiraden , nicht Triaden ;) .

    -> Triaden sind "kriminelle Vereinigungen aus dem chinesischen Kulturkreis"

    -> Tiraden : siehe https://de.wikipedia.org/wiki/Tirade

    86598-musashi-c64-png

    "Am Anfang wurde das Universum erschaffen. Das machte viele Leute sehr wütend und wurde allenthalben als Schritt in die falsche Richtung angesehen."

  • Bzgl. post #33 und #34:

    Dann muss ich mich wohl bei dir entschuldigen Peter S. Taler , sorry 😔 .

    Du hast auf die Frage von Swiffer geantwortet, was ich nicht mitbekommen habe. Mich hat es nur stark gewundert, dass wir hier weiterhin über INIs statt über die eigentliche Fragestellung sprechen, mehr nicht. Ging mir dabei um die Nachricht, dass das Vermischen von Themen hinderlich sein kann, im Falle es sucht jemand eine Antwort auf die Eingangsfrage. Schade das du den Eindruck bekommen hast, dass es eine Tirade von mir war, denn so war es wirklich nicht gemeint.

    Also, nichts für Ungut.

    Viele Grüße
    Sven

  • Musashi

    ja - es lebe der Tippfehler, aber da haben wir beide ja, wenn Du Dich errinerst, eine erfolgreiche Vergangenheit :rofl:

    SOLVE-SMART

    vergiss es - passt schon

    LG

    peter

    Hinweise auf Suchmaschinen finde ich überflüssig - wer fragt hat es nicht gefunden oder nicht verstanden. Die Antwort gibt sich oftmals schneller als der Hinweis auf Dr. Goggle & Co.

    Ab 19-10-22 ergänzt um:

    Die Welt wird nicht bedroht von den Menschen, die böse sind, sondern von denen, die das Böse zulassen. (Albert Einstein)

  • Kurzes Update Swiffer:
    Ich plane dir heute, morgen oder übermorgen meinen fertigen Vorschlag (eine WebDriver Variante) zu kommen zu lassen. Ähnlich wie bei diesem Thread post für Windi, wird das "Wie" per Kommentare beschrieben sein und die Funktionsnamen sowie Variablennamen entsprechend aussagekräftig sein.

    Hilf mir nochmal bitte kurz:
    Welchen Browser nutzt du? Ich habe dies glaube ich schon mal gefragt, finde es aber auf die Schnelle nicht 😅 .

    Viele Grüße
    Sven