Neu Aufträge extern automatisch aktualisieren / manipulieren / ergänzen

SHAAN

Sehr aktives Mitglied
26. August 2020
693
226
Immer wieder lese ich hier im Forum die Frage, ob man Aufträge extern automatisch aktualisieren, manipulieren oder ergänzen kann. Eine Frage, mit der auch ich mich bereits seit Anfang 2020 beschäftige. Vielfach wird es hier verneint und damit argumentiert, dass dies aufgrund von komplexen und verflochtenen Mechanismen der Aufträge aus Sicherheitsgründen nicht möglich ist und auch nicht angedacht wäre. Es ist und bleibt jedoch ein wichtiges Bedürfnis, um zum einen Prozesse wirtschaftlich zu optimieren und zum anderen, weil es schlicht keine andere Möglichkeit gibt, bestimmte Aufgabenschritte anderweitig zu lösen.

Um es kurz zu machen; JA, es ist möglich die Aufträgen automatisch zu ergänzen und zu aktualisieren!

Jedoch nicht über die hauseigenen Techniken von JTL. Seit ca. zwei Jahren bediene ich mich erfolgreich der Methode, auch wenn es nicht unbedingt meine erste Wahl ist, direkt auf die Datenbank zuzugreifen. Alles was ich hierzu an externen Programmen nutze, ist der FlowHeater von Robert Stark. Am Rande sein erwähnt, dass dieses Programm vermutlich jede erdenkliche Schnittstelle ersetzen kann und ich absolut rund um zufrieden mit dem Programm bin. Bestimmt gibt es auch noch andere Programme, die diese Aufgabe lösen können. Aber genug davon.

Wie sieht die Arbeit mit dem FlowHeater aus, welche Schritte sind nötig und wie sind meine persönlichen Anforderungen?

Bei mir geht es darum Aufträge aus JTL zu exportieren, diese mit einem Programm weiter zu veredeln, dann die Daten an Mobilgeräte zur Auftragausführg zu senden und im Anschluss wieder an die JTL zu übergeben. Die Anforderung können unterschiedlicher Natur sein und die Möglichkeiten sind endlos.

Im Folgenden möchte ich unseren automatischen Ablauf etwas näher vorstellen, damit man sich ein grobes Bild davon machen kann, welche Schritte nötig sein könnten.

  1. Bestimmte Aufträge kommen in JTL rein und werden mithilfe der Workflows getriggert und mit den Wunschdaten exportiert. Der Export kann wahlweise über die Exportdruckausgabe oder über "Datei schreiben" innerhalb des Workflows auf den Ordner des Servers stattfinden. Je nachdem, welche Daten man später an die JTL zurückschreiben möchte, müssen unter Umständen als Indikator die laufende Nummer einzelner Felder mit exportiert werden. Für die "Eigenen Felder" in den Aufträgen benötigt man z. B. die Auftragsnummer und die laufende Nummer des "Eigenen Feldes". Damit man überhabt an diese Nummer kommt, müssen über denselben Workflow die "Eigenen Felder" mit Platzhaltern befüllt werden. Erst dann erzeugt JTL die laufenden Nummern, mit dessen Hilfe man die "Eigenen Felder" wieder füllen kann.
  2. Die exportieren Daten werden vom Planungsprogramm automatisch aus dem festgelegten Ordner importiert, weiter verarbeitet und anschließend in einen weiteren Ordner exportiert.
  3. Aus diesem Ordner werden die Daten automatisch von einem Webprogramm abgeholt und landen auf Endgeräten.
  4. Sobald die Aufträge auf den Endgeräten bearbeitet und aktualisiert werden, sendet das Webprogramm Statusdatein zurück auf unseren Server.
  5. An dieser Stelle werden die Daten vom FlowHeater abgeholt und in Echtzeit in die JTL Datenbank geschrieben.
  6. Diese uns nun zur Verfügung stehenden Daten erfüllen bei uns gleich vier Funktionen: 1. Wir werden über jeden Status in Echtzeit informiert. 2. Die Artikelpositionen werden erweitert. 3. Statusmails werden an die Kunden versendet. 4. Statistiken und weitere Daten zur Weiterverarbeitung werden erhoben.
Die oben genannten Schritte funktionieren bei uns weitestgehend autonom und gehen vermutlich weit darüber hinaus, wenn man nur seine bestehenden Aufträge mit Informationen ergänzen möchte.

Wenn Interesse an der oben genannten Herangehensweise besteht und weitere Informationen benötigt werden, werde ich die jeweiligen einzelnen oben beschriebenen Schritte gerne weiter ausführen.

Eine weitere, parallel bei uns laufende Möglichkeit, seine Daten in den Aufträgen über die Ameise zu aktualisieren besteht ebenfalls, auch wenn über einen kleinen Umweg.
  1. Aufträge werden wie oben im Schritt 1 exportiert.
  2. Um die später Aufträge wieder in der JTL zu aktualisieren, bedienen wir uns dieser der Hilfe der Ameise. Wir legen uns einen Ordner an, in der wir eine Batch-Datei erstellen, die die eintreffenden Dateien automatisch in die Ameise schiebt - jedoch nicht zu den Aufträgen, sondern zu den "Eigenen Feldern" des dazugehörigen Kunden.
  3. Sobald die "Eigenen Felder" des Kunden befüllt wurden, kann man mithilfe eines manuellen Auftrag-Workflows innerhalb der Aufträge die Daten aus dem Kundenkonto in die "Eigenen Felder" der Aufträge schrieben lassen. Da es über die Kunden-Workflows keine Möglichkeit gibt, die Daten an die Aufträge zu übergeben, bleibt dies die einzige Möglichkeit, was schade ist, da die Ameise das Kundenkonto triggert. Über den genannten manuellen Workflow muss man dann letztendlich den Workflow auslösen und die Daten landen wie gewünscht im Auftrag. Auch Positionen lassen sich so entfernen, hinzufügen und ergänzen.

Letztlich wäre es aber mein Wunsch, ich könnte die Daten über die Ameise aktualisieren. Warum das über die Ameise nicht funktioniert, aber im vollen Umfang über die Workflows, bleibt für mich schleierhaft.
 

wawi-dl

Sehr aktives Mitglied
29. April 2008
6.618
794
Wir suchen lediglich einen Weg, wie man einen Auftrag von außerhalb der Wawi als geändert markieren kann.
In der Wawi würde das bedeutetm Auftrag öffnen und schließen, schon werden alle Workflows unter "Auftrag geändert" ausgeführt.

Das würde uns schon helfen um vieles weiter zu automatisieren.
 

mvh

Sehr aktives Mitglied
26. Oktober 2011
1.060
401
Wir suchen lediglich einen Weg, wie man einen Auftrag von außerhalb der Wawi als geändert markieren kann.
In der Wawi würde das bedeutetm Auftrag öffnen und schließen, schon werden alle Workflows unter "Auftrag geändert" ausgeführt.

Das würde uns schon helfen um vieles weiter zu automatisieren.
Moin.
Nur zum Testen und ohne Gewähr und Kommentare.
Nutzung: RunWawiWorkflow -s=".\JTLWAWI" -d=eazybusiness -u=sa -p=MeinSaPasswort -k=10000 -i=3
3 heißt Auftrag Geändert.
 

Anhänge

  • RunWorkflow.zip
    8,4 KB · Aufrufe: 23
  • Ich liebe es
  • Gefällt mir
Reaktionen: ple und wawi-dl

wawi-dl

Sehr aktives Mitglied
29. April 2008
6.618
794
Vielen Dank dir, ich schaue es mir schnellstens an, kam leider noch nicht dazu ... mega! Feedback kommt.
 

wawi-dl

Sehr aktives Mitglied
29. April 2008
6.618
794
Vielen Dank dir, ich schaue es mir schnellstens an, kam leider noch nicht dazu ... mega! Feedback kommt.
Ein Feedback steht noch aus, fast vergessen.

Stand heute mit viel versuchen, haben wir zwar über die ExternDLL den Auftrag als geändert markiert, der Workflow reagiert auch darauf, aber unsere anderen Prozesse werden offenbar nicht von der DLL unterstützt.

Wir haben eine automatische Versandart-Klassifizierung (Scoring) entwickelt, die jedem Auftrag die passende Versandart zuweist (Brief, Großbrief, eBay Plus, Paket uvm.).
Manuelle Workflows werden bei uns verwendet um den Versand auszulösen und Versandlabels zu drucken, was an sich funktioniert.

Triggert man aber den manuellen Workflow per ExternDLL an (egal ob direkt oder Auftrag ändern), wird zwar der Versand usw alles gesetzt, aber die Daten werden nicht an Portokasse / DHL gesendet (Sendungsdatenexport). Auftrag ist versendet, hat aber keine Sendungsnummer oder Meldungen im Log(manueller Workflow geht).

@SHAAN hast du die API für Versand schon testen können?
 

RealCasi

Offizieller Servicepartner
SPBanner
18. August 2016
103
11
Moers
Firma
Casitec
Ein Feedback steht noch aus, fast vergessen.

Stand heute mit viel versuchen, haben wir zwar über die ExternDLL den Auftrag als geändert markiert, der Workflow reagiert auch darauf, aber unsere anderen Prozesse werden offenbar nicht von der DLL unterstützt.

Wir haben eine automatische Versandart-Klassifizierung (Scoring) entwickelt, die jedem Auftrag die passende Versandart zuweist (Brief, Großbrief, eBay Plus, Paket uvm.).
Manuelle Workflows werden bei uns verwendet um den Versand auszulösen und Versandlabels zu drucken, was an sich funktioniert.

Triggert man aber den manuellen Workflow per ExternDLL an (egal ob direkt oder Auftrag ändern), wird zwar der Versand usw alles gesetzt, aber die Daten werden nicht an Portokasse / DHL gesendet (Sendungsdatenexport). Auftrag ist versendet, hat aber keine Sendungsnummer oder Meldungen im Log(manueller Workflow geht).

@SHAAN hast du die API für Versand schon testen können?
Spannendes Thema.

Wenn es in einer solchen Situation um ALLE Workflows geht, die auf "Auftrag geändert" laufen sollen, und das "viele" sind, ist das Mittel meiner Wahl oft ein Dummy-Ameisen-Import. Also schreibe eine CSV, importiere sie über eine ps1 oder bat und schon laufen die WF los. Inhaltlich kann man das Anmerkungsfeld mit dem Anmerkungsfeld überschreiben oder sonst eine Dummy-Aktion halt. Nicht sonderlich elegant, aber pragmatisch.

Wir hatten auch schon öfter Situation, dass es in der konkreten Situation nur auf 1 Workflow ankam, je nach zuvor ausgeführter Operation. Zack, ab damit in die Workflow-Queue und gut ist. Dabei gelernt, dass man auch an sich sofort laufende Workflows in die Queue packen kann.
Schon schicker.

LG Casi
 

wawi-dl

Sehr aktives Mitglied
29. April 2008
6.618
794
Wir haben uns über die JTL API etwas gebaut, damit der Auftrag als geändert markiert wird, es werden nun auch alle Workflows wie über JTL Wawi angestoßen.

Die JTL Wawi Extern DLL kann ich abraten, diese ist OUT und VERALTET.

WorkflowQueue wir oben beschrieben ist keine Lösung, da der Workflow sofort ausgeführt werden muss.

Wir planen das Plugin evtl. auch für alle offiziell anzubieten, sobald wir das Projekt abgeschlossen haben.
 
Ähnliche Themen
Titel Forum Antworten Datum
Neu Amazon Aufträge vereinzelt unter "Externe Rechnungen" Amazon-Anbindung - Fehler und Bugs 1
Aufträge auf die Pikliste legen bringt Fehler DataTreeListView JTL-Wawi 1.11 2
Neu Zwei eBay-Aufträge (identische Adresse) zusammen versenden, aber getrennte Rechnungen behalten – JTL-Wawi 1.9.6.5 User helfen Usern - Fragen zu JTL-Wawi 1
GLS-Aufträge stehen auf „Teilgeliefert“, obwohl vollständig versendet – kein Versandkostenartikel vorhanden (JTL 1.10.14.1) JTL-Wawi 1.10 0
Neu Anzeige / Summe der Aufträge zu den Auftragspaketen in der Rechnung ?! User helfen Usern - Fragen zu JTL-Wawi 8
"Fehler beim Laden der Daten" in Liste Aufträge und Rechnungen JTL-Wawi 1.11 4
Neu Pickliste hängt fest – Aufträge gesperrt, nicht in Versand sichtbar User helfen Usern - Fragen zu JTL-Wawi 3
Auswertung Aufträge Stichtag JTL-Wawi 1.11 4
Lieferbare Aufträge werden nicht auf WMS-Picklisten gesetzt JTL-Wawi 1.11 4
JTL Fulfillment Network Reservierte Aufträge, die nicht gelöscht werden können JTL-Wawi 1.10 0
Neu JTL Fulfillment Network Reservierte Aufträge, die nicht gelöscht werden können Schnittstellen Import / Export 1
Artikel Gehen nicht aus In Aufträge raus nach Versand JTL-Wawi 1.11 1
Abonnements durch WORKER automatisch erstellen ?? falsches Erstelldatum Aufträge JTL-Wawi 1.11 1
Neu Pickliste nach Teillieferung automatisch löschen Arbeitsabläufe in JTL-WMS / JTL-Packtisch+ 0
Neu FBA-Streckenlager wird nicht mehr automatisch ausgebucht Einrichtung und Installation von JTL-eazyAuction 0
Neu Offene Amazon Bestellung automatisch übernehmen User helfen Usern - Fragen zu JTL-Wawi 2
Neu Bon automatisch drucken setzt sich zurück JTL-POS - Fehler und Bugs 0
Neu Couponfeld nach Eingabe eines coupons automatisch ausblenden lassen Allgemeine Fragen zu JTL-Shop 4
Neu hood.de - Wie kann ich Dateien (z.B. Sicherheitsdatenblatt) automatisch einbinden? Einrichtung und Installation von JTL-eazyAuction 1

Ähnliche Themen