Gelöst Workflow via Kommando ausführen / "Multiversand"

fza

Aktives Mitglied
17. Juni 2015
4
0
Hallo miteinander,

wir haben beim Versand das Problem, dass manchmal mehrere Aufträge in ein Paket zusammengepackt werden müssen. Dabei muss für jeden Auftrag separat die Rechnung mit ins Paket, aber natürlich darf der Versanddaten-Export nur einmal ausgeführt werden. Wir haben relativ viele Kunden aus Italien und die wollen natürlich Versandkosten sparen, schließen sich dann zusammen und bestellen mehr oder weniger in einem Schwung, brauchen aber eben alle eine eigene Rechnung. Das ganze nenne ich der Einfachheit halber mal "Multiversand".

Bisher haben wir alle Aufträge pro Person einzeln erfasst, uns die Aufträge mit diversen Mitteln markiert, teilweise manuell Listen geführt, damit es auffällt, wo ein Auftrag dazu gehört. Beim Ausliefern machen wir dann nur für einen Auftrag den Versanddaten-Export und für die restlichen Aufträge einfach nur "Versanddatum setzen". Das klappt meistens ganz gut, aber halt nicht immer. Und dann geht das Geschrei los oder wird Versandkosten-technisch ganz schön teuer. Und ihr könnt euch ja vorstellen, dass wenn einer der Mitarbeiter was übersieht, schnell Chaos entsteht.

Daher will ich das gerne so weit irgendwie möglich automatisieren. Idee: Alle Kunden, die "zusammengehören", haben alle ein bestimmtes Kundenattribut oder gehören einer bestimmten Kundengruppe an. Bei den einzelnen Aufträgen setzen wir eine bestimmte Auftragsfarbe, dann weiß man, dass ins Paket mehrere Aufträge gehören. Mit einem externen Tool (Excel mit SQL- Connector oder so) kann man die offenen und jeweils zusammengehörenden Aufträge geordnet anzeigen lassen. Soweit das Auftragsmanagement. Beim Versand wird's schwieriger. Pro Multiversand wird ein Auftrag von uns ausgewählt, bei dem die Versandkosten drauf kommen und für den der Versanddaten-Export stattfindet. Wenn ich den jetzt ausliefere, sollen aber automatisch alle anderen Aufträge auch ausgeliefert werden mit Rechnungsdruck. Mit einem Skript und einer SQL-Query kann ich mir ja alle Aufträge raussuchen, die ins Paket gehören, aber wie teile ich der Wawi mit, dass bitte meine Ware ausgebucht wird?

Bam.

Damit das klappt, bräuchte ich einen Workflow mit dem ich das Ausliefern für andere Aufträge als den aktuellen Anstoßen kann. Geht ja aber leider nicht. Und ich will den Support damit nicht nerven, weil ich bin eher dafür, dass die statt neuen Funktionen lieber mal die ganzen Fehler in der Wawi ausmerzen... Habe jetzt folgende Fragen:
  • Gibt es eine Möglichkeit einen Workflow für ein bestimmtes Objekt (hier: Auftrag) per Kommandozeile (programmatisch) anzustoßen? Also z.B. dem Worker zu sagen "hey, Auftrag 123 wurde geändert" oder so. Egal, Hauptsache irgendwas mit dem Auftrag als Objekt. Das würde mir ja schon reichen, alles andere kann ich dann da mit Aktionen erledigen.
  • Wenn nicht per Kommando, vielleicht per SQL? Heiße Kandidaten sind die Tabellen "tWorklog", "tWorkflowQueue" und "tWorkflowEvent", wo die einzelnen Wawi-Instanzen offenbar alle Vorgänge reinschreiben und der Worker, der im ganzen Netzwerk ja nur einmal läuft, arbeitet das dann nacheinander durch. Ich kann mir jetzt umständlich durchs Profiling herleiten, was da intern passiert. Aber wenn sich jemand schon die Arbeit gemacht hat, wäre ich sehr dankbar, wenn derjenige seine Erfahrungen teilen könnte ;)
Ich brauch nicht zu sagen, dass ich so wenig wie möglich in der Datenbank rumbasteln will. Dinge wie "Ausliefern" sollten über die Wawi gesteuert werden, damit ich nicht bei jedem Update bangen muss, ob meine Skripts noch gehen. D.h. SQL-Trigger usw. will ich eher nicht nutzen müssen.

Tausend Dank für jede Hilfe, jede Idee und jede Anmerkung!

Felix
 

gre000

Sehr aktives Mitglied
28. Juli 2015
911
92
Ja du kannst Workflows extern triggern.

Mit der JTLwawiExtern.dll
Doku: http://developer.jtl-software.de/pr...ne-entwickler/wiki/JTLwawiExterndll_einbinden

Von Marcos Software gab es hier im Forum auch meiner Meinung 3 nützlich Hinweise:

AW: (Manuelle) Workflows per Kommandozeile/API starten

3 kurze Hinweise für alle, die die WawiExtern.dll nutzen :

1) diese ist als nur unter 32Bit Umgebungen kompiliert, falls ihr 64Bit oder gemischt nutzen wollt, müsst ihr euch einen kleinen Wrapper schreiben
2) bitte beachtet, dass wenn ihr die Assembly erst dynamisch zur Laufzeit ladet, diese nicht wieder entladen werden, bevor der Workflow durchgelaufen ist. Manche Workflows wie beispielsweise die, die mit Mails zu tun haben werden asynchron abgearbeitet. Rückgabe der jeweiligen Methode ist also u.U. bevor die Workflow durch ist - wer zu diesem Zeitpunkt aber schon wieder entlädt, verhindert die weitere Ausführung des Workflows.
3) Manche Bibliotheken die von der WawiExtern (nach)geladen werden (z.B. Mail) prüfen ihre benötigten Lizenzen im realen Ausführungsverzeichnis (wenn die dann fehlt gibts lustige Fallbacks wie die gleiche Mail zig mal zu senden oder einfach den Text innerhalb der Mail ändern ;) ). Ein einfaches setzen der AppDomain BaseDirectory aufs JTL Programmverzeichnis reicht hier nicht, ebenso CurrentDirectory per Invoke. Was geht ist das legen eines Wrappers ins JTL Programmverzeichnis (oder gar der eigenen Anwendung) wovon wir aber dringend abraten würden, weil einfach unsauber (und du weißt nie, wer wann was bei welcher Install / Uninstall / Update Action wie wo und warum aufräumt). Guter gangbarer Weg ist der Aufruf eines eigenen Wrappers aus dem eigenen Verzeichnis per ProcessStart und dem setzen des Working Directories aufs JTL Programmverzeichnis (für entsprechende nachzuladende Lizenzen). Hat gleichzeitig den Vorteil, dass damit auch direkt Punkt 1) abgearbeitet werden kann.
 

wawi-dl

Sehr aktives Mitglied
29. April 2008
5.923
568
WawiExtern.dll sollte man nur benutzen, wenn man Ahnung davon hat.

Wir suchen aktuell auch eine Möglichkeit, Workflows manuell anzutriggern, da nicht immer alle Workflow-Möglichkeiten zur Verfügung stehen, die man sich wünscht.
 

SebastianB

Moderator
Mitarbeiter
6. November 2012
2.083
335
Hi,

die JTLWawiExtern.dll wird von uns offiziell unterstützt - wir haben ja auf der Wiki Seite ein entsprechendes Beispiel veröffentlicht. Ebenso gibt es auf der feedback.jtl-software.de Seite einen entsprechenden Bereich.

Gruß,
Sebastian
 
Ähnliche Themen
Titel Forum Antworten Datum
Neu API Integration via Workflow Arbeitsabläufe in JTL-Wawi 8
JTL Mahnwesen Workflow- Email nach 30 Tagen noch nicht bezahlt. JTL-Wawi 1.8 0
Neu Workflow der bei Stücklisten: Überverkäufe de-/aktivieren User helfen Usern - Fragen zu JTL-Wawi 11
Neu Workflow Aktion E-Mail senden kann nicht Plain und HTML Email zusammen versenden Arbeitsabläufe in JTL-Wawi 6
Workflow Manuell HTML Request wie Server Antwort verarbeiten JTL-Wawi 1.7 0
Workflow Marktplätze - Otto, Kaufland, etc. JTL-Wawi 1.6 0
Workflow Artikel + Anzahl in Einkaufsliste aktualisieren JTL-Wawi 1.8 0
Neu Workflow Web-Request Post für mollie Arbeitsabläufe in JTL-Wawi 5
Workflow MwSt.-Sätze ersetzen 0% -> 19% ändert netto in Positionen aber nicht in der Auftragssumme JTL-Wawi 1.7 2
In Diskussion Automatische Zuweisung der Kategorien für Artikel durch Workflow JTL-Workflows - Ideen, Lob und Kritik 3
In Bearbeitung Workflow offene Aufträge zusammenfassen bei ausgelieferten JTL-Workflows - Ideen, Lob und Kritik 1
Neu Workflow-Auswahl ... mit ins Kontext-Menü aufnehmen (rechten Maustaste) JTL-Wawi - Ideen, Lob und Kritik 2
Neu Benachrichtigung per Workflow bei Wareneingang User helfen Usern - Fragen zu JTL-Wawi 24
Workflow für Artikel versandklassen JTL-Wawi 1.7 1
Gelöst Per Workflow im Servicedesk eine Mail versenden. Gelöste Themen in diesem Bereich 4
Workflow für Versandart Wenn/Und JTL-Wawi 1.7 0
Workflow für Amazon Zahlart erstellen JTL-Wawi 1.7 0
In Diskussion Workflow von Stornobelege Rechnung JTL-Workflows - Ideen, Lob und Kritik 1
Workflow Auftraqspositionen per Email an Kunden senden JTL-Wawi 1.7 3
Gelöst Servicedesk Workflow Datei erstellen um einen Auftrag zu ändern Gelöste Themen in diesem Bereich 1
Neu Workflow mit Freipositionen in Email Gelöste Themen in diesem Bereich 3
Neu Workflow > Rechnungen > Label Setzen ? (1.8.11) User helfen Usern - Fragen zu JTL-Wawi 6
Neu Workflow Ereignis auslösen wenn alle Bedingungen erfüllt sind. Sonst anderes Ereignis auslösen. JTL-Wawi - Ideen, Lob und Kritik 0
Beantwortet Kunde von Firma per Workflow setzen JTL-Workflows - Ideen, Lob und Kritik 1
Neu Workflow für Rechnung gesucht Arbeitsabläufe in JTL-Wawi 1
Workflow - Debitorennummer JTL-Wawi 1.8 2
In Diskussion Workflow - Artikelmerkmale setzen? JTL-Workflows - Ideen, Lob und Kritik 2
Workflow: Mahnungen - Fehler JTL-Wawi 1.8 5
Neu Workflow Lieferantenartikel-Nummer vor Artikelname setzen JTL-Wawi 1.7 1
In Diskussion Workflow wenn offene Rechnungen, dann weitere offene Aufträge sperren und im Kundensatz Sperrung setzten. JTL-Workflows - Ideen, Lob und Kritik 0
Workflow für Kaufland greift nicht mehr 1.8.11.0 kaufland.de - Anbindung (SCX) 5
[JTL-WAWI API] - Trigger Sales Order Workflow Event JTL-Wawi 1.8 3
Workflow-Bug: 1.8.11 Attribute in Workflow setzen JTL-Wawi 1.8 10
In Diskussion Workflow, Wert setzen aus Zwischenablage/Clipboard JTL-Workflows - Ideen, Lob und Kritik 0
Neu EK-Preise per Workflow in Lieferantenbestellung einfügen? User helfen Usern - Fragen zu JTL-Wawi 0
Neu Workflow Rechnungsvorlage ändern klappt nicht - Wawi 1.7.13.1 User helfen Usern - Fragen zu JTL-Wawi 0
Neu per Workflow: WhatsApp oder ähnliches senden User helfen Usern - Fragen zu JTL-Wawi 0
Workflow Bug: Rechnungskorrektur erstellen aus Retoure JTL-Wawi 1.8 4
Gelöst In Workflow auf Stücklistenartikel zugreifen und dessen Eigenschaften anzeigen Gelöste Themen in diesem Bereich 7
Neu Manueller Workflow alle Artikel markieren funktioniert nicht JTL-Wawi - Fehler und Bugs 3
Englische Artikelbezeichnung in einem Workflow JTL-Wawi 1.7 0
In Diskussion Workflow für unbearbeitete Pickliste (versehentlich unbearbeitete in Auftrag verpacken verschieben) JTL-Workflows - Ideen, Lob und Kritik 2
Neu Suche Workflow Bedingung: "Wenn nicht storniert?" User helfen Usern - Fragen zu JTL-Wawi 2
Speichern von Retouren-Workflow schlägt fehl (JTL 1.6.39.0) JTL-Wawi 1.6 2
Neu Workflow: Vorname bei Auftragserstellung löschen Wawi 1.5 Gelöste Themen in diesem Bereich 3
Neu Vorschlag: Per Workflow Tickets erstellen Servicedesk (Beta) 1
Neu Workflow - Oberkategorie prüfen Eigene Übersichten in der JTL-Wawi 10
In Bearbeitung Dropshipping Bestellungen via unicorn2 landen auf nicht existierender Pickliste JTL-Workflows - Fehler und Bugs 2
SQL Abfrage via Ameise: Seriennummer u. weitere Daten JTL-Wawi 1.8 0

Ähnliche Themen