AutoIt Script zum Automatisieren der Ameise

TheOggy

Sehr aktives Mitglied
6. Oktober 2009
957
38
Berlin
Hey Leute,

da ich in letzter Zeit viele Anfragen bezüglich des Scriptes bekommen habe, wollte ich es nun hier für alle zur Verfügung stellen.
Bei Fragen, Fehlern oder Anregungen stehe ich immer gerne zur Verfügung.

Das Script ist so ausgelegt, dass es auf einem Terminalserver mit angemeldetem Benutzer laufen kann. Die Sitzung muss dazu aber nicht aktiv sein.
Deshalb wurde auf das emulieren von Mausklicks verzichtet, da diese nur bei einer aktiven Sitzung funktionieren.

Es gibt zwei Versionen für das Script, einmal für die neue WaWi (ab 05.12.2012) und für die alte da sich ein paar Sacher verändert haben.

Voraussetzung ist natürlich ein Installiertes AutoIt, man kann dieses Script dann auch in eine .exe umwandeln, dann brauch man AutoIt nicht mehr.

Vor der Benutzung Bitte die Scripte einmal komplett durchlesen, ein Backup machen und bei Unklarheiten lieber Nachfragen!


neue WaWi (ab 05.12.2012)
Den Anhang Ameise_Import_public_neu.zip betrachten

alte WaWi
Den Anhang Ameise_Import_public_alt.zip betrachten

Gruß Tobi
 

Anhänge

  • Ameise_Import_public_neu.zip
    1,2 KB · Aufrufe: 77
  • Ameise_Import_public_alt.zip
    1,2 KB · Aufrufe: 24

xeron

Aktives Mitglied
25. Dezember 2007
84
0
AW: AutoIt Script zum Automatisieren der Ameise

Hallo Tobi,
habe es mal probiert.Bleibt aber bei der 2 Abfrage stehen. Wenn die Ameise gestartet ist das das Fenster mit dem Hinweis auf die Beta der Ameise.

grüeß
andré
 

TheOggy

Sehr aktives Mitglied
6. Oktober 2009
957
38
Berlin
AW: AutoIt Script zum Automatisieren der Ameise

Hallo Tobi,
habe es mal probiert.Bleibt aber bei der 2 Abfrage stehen. Wenn die Ameise gestartet ist das das Fenster mit dem Hinweis auf die Beta der Ameise.

grüeß
andré

Dort ist eine Pause von 10 Sekunden eingebaut, also einfach warten. Wollte damit Ladezeiten Überbrücken, da man die WinWait Funktion nicht in einer inaktiven Sitzung nutzen kann.
 

TheOggy

Sehr aktives Mitglied
6. Oktober 2009
957
38
Berlin
AW: AutoIt Script zum Automatisieren der Ameise

Den ersten Post kann ich gar nicht mehr editieren, hm.
Wichtig wäre noch zu sagen, dass die Vorlage die man benutzen will schon einmal von Hand verwendet werden muss, da nur eine schon benutzte geladen werden kann.

Und wie erwähnt, sind überall Wartezeiten eingebaut da jeder Rechner mal schneller und mal langsamer ist.
 

xeron

Aktives Mitglied
25. Dezember 2007
84
0
AW: AutoIt Script zum Automatisieren der Ameise

Hallo Tobi,
ja das habe ich gesehen mit der Pause, jedoch tut sich da gar nichts. Läuft das bei Dir unter 64Bit. Habe im AutoIT Forum gelesen das manche Befehle nicht unter 64Bit und umgekehrt laufen sollen.

Grüße
André
 

TheOggy

Sehr aktives Mitglied
6. Oktober 2009
957
38
Berlin
AW: AutoIt Script zum Automatisieren der Ameise

Guten Morgen,

ja es läuft unter 64bit.
Welche Version der WaWi/ Ameise hast du und welches Script setzt du ein?

gruß Tobi
 

xeron

Aktives Mitglied
25. Dezember 2007
84
0
AW: AutoIt Script zum Automatisieren der Ameise

Also wenn ich dem Controlclick das OK als Text mitgebe, also so: ControlClick("[CLASS:#32770]", "OK", "[CLASS:Button; INSTANCE:1]", "left") dann habe ich die Meldung Weg. Aber danach wieder Stillstand.
 

TheOggy

Sehr aktives Mitglied
6. Oktober 2009
957
38
Berlin
AW: AutoIt Script zum Automatisieren der Ameise

hm, ich schau gerade, aber du bist der erste mit dem Problem.
Habe es auf zwei Systemen getestet Windows 7 und Server 2008 R2, als x86 und normal als 64bit...

Markiert er danach denn die gewählte vorlage in der Liste?

EDIT2:hm, hab vielleicht doch noch was merkwürdiges gefunden

EDIT3:lass es mal als x86 laufen und schau mal welche CLASS deine Ameise hat.
Habe gesehen, dass Sie auf meinem Windows 7 System folgende hat
WindowsForms10.Window.8.app.0.2bf8098_r16_ad1
und auf meinen Server 2008
WindowsForms10.Window.8.app.0.2bf8098_r15_ad1

wenn du bei dir r16 hast, dann im Script alle r15 auf r16 ändern.
 

xeron

Aktives Mitglied
25. Dezember 2007
84
0
AW: AutoIt Script zum Automatisieren der Ameise

das mit den classen gabe ich auch schon gesehen. bei mir sind sie r14. Es wird auch nichts in der Liste markiert. Ich werde mal auf x86 probieren und die Classen mal ändern.

Edit: Habe jetzt die Classen auf r14 geändert. Da geht es zumindest schonmal weiter.Aber bei der Auswahl der Importdatei geht nur ein Fenster zum wählen der Datei auf.

Ich schaue nachher nochmal weiter. Normal müsste man das dann auch erweitern für mehrere Vorlagen.
Grüeß
André
 
Zuletzt bearbeitet:

TheOggy

Sehr aktives Mitglied
6. Oktober 2009
957
38
Berlin
AW: AutoIt Script zum Automatisieren der Ameise

der name der Importdatei muss ja im script angegeben werden und dieser wird dann in diesem fenster "eingegeben" um ihn zu laden...geht dies bei dir etwa auch nicht?
ganz schön schwierig mit dir ;)

kann aber auch an der neuen ameise liegen, das die class sich unterscheidet war bei der alten nicht.
man könnte statt der class auch den fensternamen nehmen. dann muss man aber daran denken, dass dieser für jeden mandanten unterschiedlich ist.
kann dies aber mit einer variable anpassen, ich schau mal morgen und poste das angepasste script hier...

Edit: ja das mit dem makieren in der liste scheint ein 32/64 bit problem zu sein, also lieber als x86 laufen lassen.
für mehrere vorlage wäre es auch kein problem das script umzuschreiben oder anzupassen, einfach ein paar mehr variablen und dann geht das schon.
man kann auch mit firefox daten aus dem internet laden wenn es benötigt wird, so machen wir es aktuell.
datei aus dem internet laden und mit der ameise importieren...
 

xeron

Aktives Mitglied
25. Dezember 2007
84
0
AW: AutoIt Script zum Automatisieren der Ameise

na so schwer doch auch nicht :)
habe es jetzt am laufen.Ich muss in den Classen den Textnamen mit angeben sonst geht es nicht.

z.b. ControlSend("[CLASS:#32770]", "Datei&name:", "", $csv

Habe es bei mir jetzt erweitert da ich die gleiche Liste mehrmal Importieren muss wegen Kategorievergabe. Wollte gerade Testlauf machen

Edit: Ja ich benutze da auch ein Script was die Preislisten mit Fileget runtelädt.Eingebunden im Aufgabenplaner. Läuft gut
 
Zuletzt bearbeitet:

info@bit-service.de

Aktives Mitglied
9. Dezember 2012
21
1
AW: AutoIt Script zum Automatisieren der Ameise

Hallo, ich habe auch das Problem, dass die csv nicht geladen wird. Kannst du mir sagen, wie du es gelöst hast?
 

xeron

Aktives Mitglied
25. Dezember 2007
84
0
AW: AutoIt Script zum Automatisieren der Ameise

Moin,

hast Du das Script um die notwendigen Eingaben ergänzt?
 

info@bit-service.de

Aktives Mitglied
9. Dezember 2012
21
1
AW: AutoIt Script zum Automatisieren der Ameise

Ja, zur Zeit sieht das Script so aus:

$pfad = "C:\Program Files (x86)\JTL-Software"
$server = "(local)\JTLWAWI"
$datenbank = "eazybusiness"
$user = "sa"
$pw = "sa04jT14"
$csv = "C:\preisliste.csv"
$Vorlage = "api"
$importzeit = "500000"

Run($pfad & "\ JTL-wawi- ameise.exe" & " " & $server & " " &$datenbank & " " & $user & " " & $pw)
sleep(2000)

ControlClick("[CLASS:#32770]", "OK", "[CLASS:Button; INSTANCE:1]", "left")
Sleep(2000)

$finditem = ControlListView("[CLASS:WindowsForms10.Window.8.app.0.2bf8098_r13_ad1]", "", "[CLASS:WindowsForms10.SysListView32.app.0.2bf8098_r13_ad1; INSTANCE:1]", "FindItem", $Vorlage , 2)
ControlListView("[CLASS:WindowsForms10.Window.8.app.0.2bf8098_r13_ad1]", "", "[CLASS:WindowsForms10.SysListView32.app.0.2bf8098_r13_ad1; INSTANCE:1]", "Select", $finditem)
Sleep(2000)

ControlClick("[CLASS:WindowsForms10.Window.8.app.0.2bf8098_r13_ad1]", "", "[CLASS:WindowsForms10.BUTTON.app.0.2bf8098_r13_ad1; INSTANCE:2]", "left")
Sleep(2000)
ControlSend("[CLASS:#32770]", "", "[CLASS:Edit; INSTANCE:1]", $csv)
Sleep(2000)

ControlClick("[CLASS:#32770]", "", "[CLASS:Button; INSTANCE:1]", "left")
Sleep(5000)

ControlClick("[CLASS:WindowsForms10.Window.8.app.0.2bf8098_r13_ad1]", "", "[CLASS:WindowsForms10.BUTTON.app.0.2bf8098_r13_ad1; INSTANCE:8]", "left")
Sleep(2000)

ControlClick("[CLASS:WindowsForms10.Window.8.app.0.2bf8098_r13_ad1]", "", "[CLASS:WindowsForms10.BUTTON.app.0.2bf8098_r13_ad1; INSTANCE:2]", "left")
sleep($importzeit)

ControlClick("[CLASS:WindowsForms10.Window.8.app.0.2bf8098_r13_ad1]", "", "[CLASS:WindowsForms10.BUTTON.app.0.2bf8098_r13_ad1; INSTANCE:1]", "left")
Sleep(2000)

ControlClick("[CLASS:WindowsForms10.Window.8.app.0.2bf8098_r13_ad1]", "", "[CLASS:WindowsForms10.BUTTON.app.0.2bf8098_r13_ad1; INSTANCE:7]", "left")
Sleep(2000)

WinClose("[CLASS:WindowsForms10.Window.8.app.0.2bf8098_r13_ad1]")
 

xeron

Aktives Mitglied
25. Dezember 2007
84
0
AW: AutoIt Script zum Automatisieren der Ameise

Moin

hier $csv = "C:\preisliste.csv"
nur $csv = "preisliste.csv"

Denn er öffnet ja schon den Pfad wo die Liste liegrt und traägt nur den Preislistennamen ein.

Grüße
André
 

info@bit-service.de

Aktives Mitglied
9. Dezember 2012
21
1
AW: AutoIt Script zum Automatisieren der Ameise

ok, aber es funktioniert trotzdem nicht. Der Dateiname wird einfach nicht eingetragen. Vielleicht noch eine andere Idee?
 

xeron

Aktives Mitglied
25. Dezember 2007
84
0
AW: AutoIt Script zum Automatisieren der Ameise

mich welchen Betriebssystem arbeitest Du.

Probier mal das.
;Datei auswählen laden
ControlSend("[CLASS:#32770]", "Datei&name:", "", $csv)
Sleep(3000)
ControlClick("[CLASS:#32770]", "Ö&ffnen", "[CLASS:Button; INSTANCE:1]", "left")
Wenn es nicht geht eventuel das & aus Dateiname und Öffnen entfernen.

Schönen Sonntag
 

maydo

Sehr aktives Mitglied
28. März 2011
2.133
85
DE-Fulda
AW: AutoIt Script zum Automatisieren der Ameise

Habe auch das Problem wie xeron.
Es blieb erst beim Betahinweis stehen mit Eintragung des OK geht es weiter, bleibt dann aber stehen.
Es tut sich nichts.
Wie finde ich die Klassen heraus ?
System ist win server 2003 r2
 

TheOggy

Sehr aktives Mitglied
6. Oktober 2009
957
38
Berlin
AW: AutoIt Script zum Automatisieren der Ameise

sorry, das ich solange nichts geschrieben hab, viel um die ohren...

bei autoit gibt es ein autoit info programm, dort das fadenkreuz auf das fenster, die buttons oder bereiche ziehen wo man die class wissen will.
ich hoffe ich komme morgen oder dienstag nochmal dazu etwas anzupassen zum ausprobieren...

warum bei euch diese probleme mit dem "ok" reinschreiben weiss ich noch nicht, ist für mich neu...
habt ihr es alle als x86 laufen lassen?
ist in dem fall wichitg, da sonst nicht alle sachen richtig funktionieren.
 
Ähnliche Themen
Titel Forum Antworten Datum
Neu SQL Script - geänderte Tabellen. User helfen Usern - Fragen zu JTL-Wawi 3
Einschränkungen, wenn keine Verbindung zum Lizenzserver JTL-Wawi 1.8 0
Neu Bestseller-Templates AVIA, CLEARIX, FIRE - schnell, universell, 100% kompatibel zum JTL-Shop Templates für JTL-Shop 2
Neu ASIN einem Produkt zuordnen zum aufschalten bei amazon JTL-Wawi 1.6 6
Neu Template anpassen - parallel zum bestehenden, ohne Aktivierung? Templates für JTL-Shop 4
Neu GLS Bank stellt FinTS/HBCI Serveradressen zum 13.03.2024 um (+ GenoBanken) User helfen Usern 2
Neu Stripe - Einstellung Sofortüberweisung zum 15.5.2024 Business Jungle 0
Neu Verbindungsproblem Wawi (1.8.12.0) zum JTL-Shop (5.2.4) über localhost User helfen Usern - Fragen zu JTL-Wawi 0
In Diskussion JTL-POS: Erkenntnisse zum Betrieb auf Windows (virtuell oder hardware) JTL-POS - Fragen zu Hardware 4
Neu Richtige Hook zum Berechnen der Lieferzeit in Artikel.php Technische Fragen zu Plugins und Templates 1
Neu Nach Installation eines neuen SQL Servers klappt die Verbindung vom Benutzer-PC zum Server-PC nicht mehr. Installation von JTL-Wawi 5
Kein Abgleich zum Shop, ich komme nicht in Plattformen/Verkaufskanäle rein JTL-Wawi 1.8 3
Neu Ameise - Logikfrage zum Import von Artikeln mit und ohne Varkombis gemäß Guide User helfen Usern - Fragen zu JTL-Wawi 0
Neu Wunschzettel Name verleitet zum Missbrauch JTL-Shop - Fehler und Bugs 0
Wunschzettel Name verleitet zum Missbrauch Einrichtung JTL-Shop5 5

Ähnliche Themen