Neu Versanddatenimport per JTLWawiExtern - Mail-Aktion in Workflow wird nicht ausgelöst

Oddn

Aktives Mitglied
8. Juli 2022
11
1
Mit Hilfe eines C# Programms und der JTLWawiExtern.dll importieren wir automatisiert Versanddaten ins JTL. Das funktioniert, Trackingnummern und Versanddatum werden den Lieferscheinen richtig zugeordnet und in den Hintergrundprozessen ist zu sehen, dass auch die Workflows, die unter "Lieferscheine - versendet" angelegt sind, ausgeführt werden, sobald die Versanddaten importiert werden.

Allerdings befindet sich in diesem Workflow auch eine Aktion "Ausgabe", mit der der Kunde die Rechnung per E-Mail erhält. Als Ausgabeobjekt ist eingestellt "Lieferscheine\Auftrag\Zahlungen\Letzte Rechnung\Ausgabeobjekt", Ausgabemodus: Mailen. Diese Aktion wird (laut Hintergrundprozess- Log) ausgeführt und der Workflow erfolgreich beendet. Allerdings wird die Mail nicht versendet.
Beim manuellen Import der Versanddaten unter "Versand" - "Versanddaten importieren" wird die Mail hingegen versendet und steht dann auch in der Kundenhistorie als "Rechnung 'RE12345' wurde per E-Mail an den Kunden gesendet".

Hat von euch jemand eine Idee, an was es liegen kann, dass die Mail nicht versendet wird?
 

zaxxo

Offizieller Servicepartner
SPBanner
29. November 2022
135
59
Michelstadt
Firma
Zaxxo UG (haftungsbeschränkt)
Das erklärt es. Die Problematik ist, dass der Prozess der Konsolenanwendung sofort nach Abschluss deines Programmcodes beendet wird. Das killt auch sämtliche Threads die noch von JTL laufen. Da das Mailen standardmäßig asynchron ausgeführt wird, läuft hier also ein Thread, der aber zu früh beendet wird. Du hast zwei offizielle Möglichkeiten:

1.) Du aktivierst im Workflow die Option "Auf Ausgabe warten" und stellst ein entsprechendes Timeout ein (ich mache immer 60.000 ms)

2.) Du machst am Ende deines Programms noch ein Thread.Sleep(60000)

Es gibt auch noch eine andere Möglichkeit, die deutlich besser funktioniert und der Prozess auf alle Threads wartet und sich dann auch sofort beendet, aber das ist sehr inoffiziell, weswegen ich das hier nicht öffentlich beschreiben will ;)
 

zaxxo

Offizieller Servicepartner
SPBanner
29. November 2022
135
59
Michelstadt
Firma
Zaxxo UG (haftungsbeschränkt)
Wobei ich dir zur ersten Möglichkeit rate. Das Sleep ist viel zu unsicher. Falls viele Workflows ausgeführt werden, kann es mal kürzer mal länger als dein Sleep dauern und dann hast du wieder die gleichen Probleme.
 

Oddn

Aktives Mitglied
8. Juli 2022
11
1
Das hat leider nichts gebracht. Die Versanddaten werden nach wie vor importiert, aber es erscheint folgende Meldung bei den Hintergrundprozessen: "Timeout bei Ausgabe callerMemberName: .ctor".
 

zaxxo

Offizieller Servicepartner
SPBanner
29. November 2022
135
59
Michelstadt
Firma
Zaxxo UG (haftungsbeschränkt)
Dann weiß ich es leider auch nicht. Kompilierst du dein Projekt im 32bit Modus? AnyCPU und 64bit macht manchmal Probleme mit der ExternDLL.
 

zaxxo

Offizieller Servicepartner
SPBanner
29. November 2022
135
59
Michelstadt
Firma
Zaxxo UG (haftungsbeschränkt)
Vielleicht kannst du mal zum Testen in den Workflow statt einer Ausgabe Aktion eine Mailen Aktion einfügen, und erstmal schauen, ob das funktioniert.
 

SMIT

Offizieller Servicepartner
SPBanner
4. November 2019
115
23
Verl
Firma
SMIT Digital Services
Hallo,
ich habe heute auch etwas rumgespielt, und das über einen HttpListener gemacht.
Ich meine damit, das die Versanddaten via POST an das c# Programm gesendet wird.
Dieses läuft als Dienst und wartet quasi nur auf Anfragen, und wird nie beendet.
Dann klappt das auch mit dem mailen ohne Sleep und co..

Edit: Ich sehe gerade das ich die Wokflows auch alle auf "Verzögert 1 min" habe. Vielleicht genügt das ja schon?

Grüße
 
Zuletzt bearbeitet:
Ähnliche Themen
Titel Forum Antworten Datum
Beantwortet Workflow Datei schreiben Dateiname per Dotliquid Fehler Illegales Zeichen im Pfad. callerMemberName : WriteFile JTL-Workflows - Fehler und Bugs 1
Bildimporte per Ameise ein "netter" Zeitvertreib JTL-Wawi 1.11 0
Lieferantenbestellung per Workflow bestätigen JTL-Wawi 1.11 0
Fehler Export PDF Datei / Senden per Email JTL-Wawi 1.11 2
Alternativtext für Artikelbilder per Ameise pro Plattform setzen JTL-Wawi 1.10 0
Neu Kundengruppe per SQL löschen User helfen Usern - Fragen zu JTL-Wawi 3
Neu Aktivierung des Kundenkontos per Bestätigungsemail Allgemeine Fragen zu JTL-Shop 5
Neu Kann man das Shop-Guthaben von Kunden per Workflow beeinflussen? User helfen Usern - Fragen zu JTL-Wawi 0
Neu "Ist Standard Dropshipping Lieferant" per Ameise exportieren User helfen Usern - Fragen zu JTL-Wawi 5
XML Auftragsimport per Workflow bediinen JTL-Wawi 1.8 1
neue Zahlungsart "Barter", trotzdem erscheint "Zahlung per Überweisung und QR-Code" JTL-Wawi 1.10 1
Neu Die Leiferantendaten bei Artikelstammdaten lassen sich per Ameise nicht ändern User helfen Usern - Fragen zu JTL-Wawi 6
Neu Rechnungsversand per Mail ohne Auslieferprozess Arbeitsabläufe in JTL-Wawi 3
Neu Kategorien per Ameise importieren Schnittstellen Import / Export 8

Ähnliche Themen