Neu Workflow automatisch alle 2 Stunden ausführen – Prüfung auf voraussichtliches Lieferdatum

Mike.H.

Gut bekanntes Mitglied
4. Dezember 2019
150
7
Heusenstamm
Hallo zusammen,
ich habe einen Workflow in JTL-Wawi eingerichtet, der prüft, ob das aktuelle Datum dem „voraussichtlichen Lieferdatum“ eines Auftrags entspricht. Wenn das zutrifft, wird eine Aktion ausgelöst (z. B. Statusänderung oder Benachrichtigung). Manuell lässt sich der Workflow problemlos ausführen und funktioniert wie gewünscht.

Jetzt möchte ich diesen Workflow aber automatisch alle zwei Stunden laufen lassen, damit die Prüfung regelmäßig erfolgt – unabhängig davon, ob ein Auftrag neu angelegt oder geändert wurde. Leider finde ich keine Möglichkeit, das zeitgesteuert zu automatisieren.
Meine Fragen:
• Gibt es eine Möglichkeit, Workflows in JTL-Wawi zeitgesteuert auszuführen – z. B. alle zwei Stunden?
• Falls nicht direkt über JTL-Wawi: Kann man das eventuell über JTL- Worker, ein externes Skript oder eine andere Lösung realisieren?
• Oder gibt es einen anderen Ansatz, wie man regelmäßig prüfen kann, ob das „voraussichtliche Lieferdatum“ erreicht ist?

So geht es nur manuell.

HTML clipboard {% assign heute_formatiert = Datum.Jetzt | Datum:'dd.MM.yyyy' %}
{% assign lieferdatum_formatiert = Vorgang.Lieferung.VoraussichtlichesLieferdatum | Datum:'dd.MM.yyyy' %}
{% if heute_formatiert == lieferdatum_formatiert %}
true
{% else %}
false
{% endif %}

Ich freue mich über jeden Hinweis oder Erfahrungswert!
Viele Grüße
Mike
 

frankell

Sehr aktives Mitglied
9. September 2019
2.234
674
Flensburg
Hallo Mike,

ich bezweifle, ob es sinnvoll ist, das alle zwei Stunden machen zu lassen. Wenn wie in Deinem Beispielskript nämlich nur das Datum ausschlaggebend ist und nicht noch eine Uhrzeit, dann sind alle Prüfungen nach der ersten an einem Tag bis zum Ende dieses Tages obsolet, weil sie kein anderes Ergebnis erzeugen können als die erste.

Du kannst einen Workflow sich selbst aufrufen (Workflow-Aktion "Workflow-Ereignis auslösen") und zeitversetzt, bspw. alle 24 Stunden, ausführen lassen. Das muss ein manuelles Workflow sein. Du musst dann nur darauf achten, dass Du auch ein Ende mit einbaust, damit das keine Endlosschleife wird. Am einfachsten wäre es, wenn eine Bedingung hinzukommt, dass noch nicht ausgeliefert wurde. Abgesehen von den bisherigen, noch nicht ausgelieferten Aufträgen, solltest Du einen automatischen Workflow anlegen, dessen Aufgabe nur ist, den eigentlich Workflow aufzurufen, welcher dann bspw. in 24 Stunden ausgeführt wird, und danach wieder nach 24 Stunden, und danach wieder nach 24 Stunden usw. Bis halt ausgeliefert ist. Du kannst auch 12 Stunden nehmen. Aber alle 2 Stunden ist ein bisschen over the top und ballert auch die Workflow-Queue voll.

VG,
Frank
 
  • Gefällt mir
Reaktionen: Mike.H.

Mike.H.

Gut bekanntes Mitglied
4. Dezember 2019
150
7
Heusenstamm
Hallo Mike,

ich bezweifle, ob es sinnvoll ist, das alle zwei Stunden machen zu lassen. Wenn wie in Deinem Beispielskript nämlich nur das Datum ausschlaggebend ist und nicht noch eine Uhrzeit, dann sind alle Prüfungen nach der ersten an einem Tag bis zum Ende dieses Tages obsolet, weil sie kein anderes Ergebnis erzeugen können als die erste.

Du kannst einen Workflow sich selbst aufrufen (Workflow-Aktion "Workflow-Ereignis auslösen") und zeitversetzt, bspw. alle 24 Stunden, ausführen lassen. Das muss ein manuelles Workflow sein. Du musst dann nur darauf achten, dass Du auch ein Ende mit einbaust, damit das keine Endlosschleife wird. Am einfachsten wäre es, wenn eine Bedingung hinzukommt, dass noch nicht ausgeliefert wurde. Abgesehen von den bisherigen, noch nicht ausgelieferten Aufträgen, solltest Du einen automatischen Workflow anlegen, dessen Aufgabe nur ist, den eigentlich Workflow aufzurufen, welcher dann bspw. in 24 Stunden ausgeführt wird, und danach wieder nach 24 Stunden, und danach wieder nach 24 Stunden usw. Bis halt ausgeliefert ist. Du kannst auch 12 Stunden nehmen. Aber alle 2 Stunden ist ein bisschen over the top und ballert auch die Workflow-Queue voll.

VG,
Frank
Hallo Frank,
vielen Dank für deine ausführliche und hilfreiche Antwort! Du hast völlig recht – alle zwei Stunden ist wirklich übertrieben, vor allem wenn sich das Ergebnis nach dem ersten Durchlauf am Tag nicht mehr ändert. Ich denke, ein Intervall von 12 oder 24 Stunden wäre deutlich sinnvoller.
Was ich allerdings noch nicht ganz verstanden habe:
Wie genau kann ich es umsetzen, dass mein manueller Workflow automatisch alle 12 oder 24 Stunden ausgelöst wird?
Du hast erwähnt, dass man einen Workflow sich selbst aufrufen lassen kann über die Aktion „Workflow-Ereignis auslösen“. Das klingt spannend – aber ich weiß leider nicht, wie ich das konkret einrichten muss.
Könntest du mir vielleicht ein Beispiel geben oder kurz erklären, wie man das aufsetzt?
Insbesondere:
• Wie baue ich den „Starter“-Workflow, der den eigentlichen Workflow auslöst?
• Wie stelle ich sicher, dass das Ganze nicht in einer Endlosschleife endet?
• Und wie kann ich die zeitliche Verzögerung (z. B. 24 Stunden) einbauen?
Ich wäre dir sehr dankbar für ein paar Tipps oder ein kleines Beispiel dazu!


Zurzeit sieht es so aus siehe Anhang.

Viele Grüße
Mike
 

Anhänge

  • Screenshot 2025-08-08 105632.png
    Screenshot 2025-08-08 105632.png
    32 KB · Aufrufe: 18
Zuletzt bearbeitet:

frankell

Sehr aktives Mitglied
9. September 2019
2.234
674
Flensburg
Wie genau kann ich es umsetzen, dass mein manueller Workflow automatisch alle 12 oder 24 Stunden ausgelöst wird?

Wie man eine Zeitverzögerung einstellt, weißt Du ja nach dem Screenshot zu urteilen. :) Zumindest steht bei diesem Workflow rechts oben "Ausführungsplan (zeitverzögert)".

Du hast erwähnt, dass man einen Workflow sich selbst aufrufen lassen kann über die Aktion „Workflow-Ereignis auslösen“. Das klingt spannend – aber ich weiß leider nicht, wie ich das konkret einrichten muss.

Wie ich sagte:

Workflow-Aktion "Workflow-Ereignis auslösen"


Wie baue ich den „Starter“-Workflow, der den eigentlichen Workflow auslöst?

Du legst ihn unter Auftrag - Erstellt an, keine Bedingungen und als Aktion nur "Workflow-Ereignis auslösen". Da musst Du dann nur das zum zuvor angelegten manuellen Workflow gehörende Workflow-Ereignis auswählen. Was Du auch beim manuellen Workflow selbst macht, damit der sich selbst auslöst und entsprechend der Zeitverzögerung ausgeführt wird.

Wie stelle ich sicher, dass das Ganze nicht in einer Endlosschleife endet?

Wie ich sagte:

Am einfachsten wäre es, wenn eine Bedingung hinzukommt, dass noch nicht ausgeliefert wurde.

Such einfach unter den Bedingungen nach "IstKomplettAusgeliefert". Über dem Bedingungsbaum ist ein Feld, wo "Felder durchsuchen" steht. Da kannst Du einen Suchbegriff eingeben. Ich würde Auftrag/Auftragspositionen/IstKomplettAusgeliefert nehmen.
 
  • Gefällt mir
Reaktionen: Mike.H.

Mike.H.

Gut bekanntes Mitglied
4. Dezember 2019
150
7
Heusenstamm
Wie man eine Zeitverzögerung einstellt, weißt Du ja nach dem Screenshot zu urteilen. :) Zumindest steht bei diesem Workflow rechts oben "Ausführungsplan (zeitverzögert)".



Wie ich sagte:






Du legst ihn unter Auftrag - Erstellt an, keine Bedingungen und als Aktion nur "Workflow-Ereignis auslösen". Da musst Du dann nur das zum zuvor angelegten manuellen Workflow gehörende Workflow-Ereignis auswählen. Was Du auch beim manuellen Workflow selbst macht, damit der sich selbst auslöst und entsprechend der Zeitverzögerung ausgeführt wird.



Wie ich sagte:



Such einfach unter den Bedingungen nach "IstKomplettAusgeliefert". Über dem Bedingungsbaum ist ein Feld, wo "Felder durchsuchen" steht. Da kannst Du einen Suchbegriff eingeben. Ich würde Auftrag/Auftragspositionen/IstKomplettAusgeliefert nehmen.
Danke schön ich werde es versuchen mal umzusetzen :)
 

Mike.H.

Gut bekanntes Mitglied
4. Dezember 2019
150
7
Heusenstamm
Wie man eine Zeitverzögerung einstellt, weißt Du ja nach dem Screenshot zu urteilen. :) Zumindest steht bei diesem Workflow rechts oben "Ausführungsplan (zeitverzögert)".



Wie ich sagte:






Du legst ihn unter Auftrag - Erstellt an, keine Bedingungen und als Aktion nur "Workflow-Ereignis auslösen". Da musst Du dann nur das zum zuvor angelegten manuellen Workflow gehörende Workflow-Ereignis auswählen. Was Du auch beim manuellen Workflow selbst macht, damit der sich selbst auslöst und entsprechend der Zeitverzögerung ausgeführt wird.



Wie ich sagte:



Such einfach unter den Bedingungen nach "IstKomplettAusgeliefert". Über dem Bedingungsbaum ist ein Feld, wo "Felder durchsuchen" steht. Da kannst Du einen Suchbegriff eingeben. Ich würde Auftrag/Auftragspositionen/IstKomplettAusgeliefert nehmen.
Danke nochmals.
Aber irgendwie stehe ich auf dem Schlauch.

Ich habe das so jetzt eingestellt, wie im Anhang zu sehen. Aber um diese Zeit, was ich da einstelle, löste er das nicht automatisch aus. Es funktioniert immer nur noch manuell. Hast Du noch einen Tipp für mich eventuell. Vielen lieben dank. Von wo aus wird der Workflow immer wieder angestoßen?
 

Anhänge

  • Jetzt1.png
    Jetzt1.png
    32 KB · Aufrufe: 12
  • Jetzt.png
    Jetzt.png
    127,5 KB · Aufrufe: 12
Zuletzt bearbeitet:

Terranova_

Mitglied
7. Februar 2024
8
3
Hallo Mike,
So wie ich es von deinen Screenshots sehen kann, hast du zwar mehrere Workflows, aber nur ein " Workflow Ereignis". Für den Loop brauchst du zwei Workflow Ereignisse.

Damit der Workflow mehrmals ausgeführt wird, müssen sich zwei Ereignisse immer wieder gegenseitig ausführen.
Der erste Workflow (hier Trigger) führt den zweiten (Datum prüfen) zeitversetzt aus. Der zweite macht etwas und führt dann wieder den ersten aus.
Damit das ganze dann für jeden Auftrag ausgeführt wird kannst du unter "Auftrag Erstellt" noch einen Workflow hinzufügen, der den Trigger ausführt.
 

Anhänge

  • Trigger.png
    Trigger.png
    65,5 KB · Aufrufe: 12
  • Workflow.png
    Workflow.png
    44 KB · Aufrufe: 12
  • Start.png
    Start.png
    42,2 KB · Aufrufe: 12
  • Gefällt mir
Reaktionen: Mike.H.

Mike.H.

Gut bekanntes Mitglied
4. Dezember 2019
150
7
Heusenstamm
Hallo Mike,
So wie ich es von deinen Screenshots sehen kann, hast du zwar mehrere Workflows, aber nur ein " Workflow Ereignis". Für den Loop brauchst du zwei Workflow Ereignisse.

Damit der Workflow mehrmals ausgeführt wird, müssen sich zwei Ereignisse immer wieder gegenseitig ausführen.
Der erste Workflow (hier Trigger) führt den zweiten (Datum prüfen) zeitversetzt aus. Der zweite macht etwas und führt dann wieder den ersten aus.
Damit das ganze dann für jeden Auftrag ausgeführt wird kannst du unter "Auftrag Erstellt" noch einen Workflow hinzufügen, der den Trigger ausführt.
Vielen lieben Dank, ich teste das mal. Danke.
 

frankell

Sehr aktives Mitglied
9. September 2019
2.234
674
Flensburg
  • Gefällt mir
Reaktionen: Terranova_

Terranova_

Mitglied
7. Februar 2024
8
3
Du wirst wahrscheinlich einen Grund haben, warum Du das in zwei manuellen Workflows machst, was nicht notwendig ist. Du kannst ja auch alle Bedingungen in einem setzen. Das spart ja auch ein Workflow-Ereignis, was aber nur relevant ist, wenn Du nicht JTL-Pro hast.
Hi frankell
Danke, das habe ich so nicht gewusst.
Habe die variante mit zwei Ereignissen damals in diesem Video gelernt.
Aber du hast Recht, hab das gerade getestet. Mann kann alles in einem Workflow Ereignis machen.

Frage:
In meinen eigenen Tests habe ich festgestellt, dass wenn man im Ausführungsplan eine genaue Uhrzeit einstellt, muss man "Nur letzten ausführen" leer lassen (so wie im Screenshot).
Wenn ich "Nur letzten ausführen" anwähle funktioniert es nicht.
Ist das so, oder mache ich da was falsch?
 

Anhänge

  • TestLoop.png
    TestLoop.png
    45,5 KB · Aufrufe: 9

Mike.H.

Gut bekanntes Mitglied
4. Dezember 2019
150
7
Heusenstamm
Hallo Mike,
So wie ich es von deinen Screenshots sehen kann, hast du zwar mehrere Workflows, aber nur ein " Workflow Ereignis". Für den Loop brauchst du zwei Workflow Ereignisse.

Damit der Workflow mehrmals ausgeführt wird, müssen sich zwei Ereignisse immer wieder gegenseitig ausführen.
Der erste Workflow (hier Trigger) führt den zweiten (Datum prüfen) zeitversetzt aus. Der zweite macht etwas und führt dann wieder den ersten aus.
Damit das ganze dann für jeden Auftrag ausgeführt wird kannst du unter "Auftrag Erstellt" noch einen Workflow hinzufügen, der den Trigger ausführt
Hallo Terranova_ Sorry entweder liegt es am Wetter oder an mir ;) Aber bei funktioniert das nicht.

Hallo Mike,
So wie ich es von deinen Screenshots sehen kann, hast du zwar mehrere Workflows, aber nur ein "Workflow Ereignis". Für den Loop brauchst du zwei Workflow Ereignisse.

Damit der Workflow mehrmals ausgeführt wird, müssen sich zwei Ereignisse immer wieder gegenseitig ausführen.
Der erste Workflow (hier Trigger) führt den zweiten (Datum prüfen) zeitversetzt aus. Der zweite macht etwas und führt dann wieder den ersten aus.
Damit das ganze dann für jeden Auftrag ausgeführt wird kannst du unter "Auftrag Erstellt" noch einen Workflow hinzufügen, der den Trigger ausführt.
Hallo Terranova_,
ich glaube, es liegt am Wetter – ich bekomme das einfach nicht hin.

Zum ersten Bild (von dir): Muss ich das unter Erstellt anlegen? Und das zweite sowie dritte unter Manuell?

Kann es sein, dass das, was bei dir Trigger heißt, bei dir dann Datum prüfen ist? Oder was genau hast du im Trigger drin?
Weil datum prüfen ist ja bei mir

HTML clipboard {% assign heute_formatiert = Datum.Jetzt | Datum:'dd.MM.yyyy' %}
{% assign lieferdatum_formatiert = Vorgang.Lieferung.VoraussichtlichesLieferdatum | Datum:'dd.MM.yyyy' %}
{% if heute_formatiert == lieferdatum_formatiert %}
true
{% else %}
false
{% endif %}

Muss ich nur bei Zeitversetzt eine Uhrzeit eintragen? Den Rest einfach sofort auslösen lassen?

Danke schon mal – euch allen ein schönes Wochenende!
Liebe Grüße
Mike
 
Ähnliche Themen
Titel Forum Antworten Datum
Issue angelegt [WAWI-44314] Workflow automatisch 2 Pakete erstellen bei bestimmen Produkten? JTL-Workflows - Ideen, Lob und Kritik 2
Neu Workflow: Musterbestellungen (0 € Gesamtbruttowert) automatisch ausliefern lassen User helfen Usern - Fragen zu JTL-Wawi 0
Workflow zum abrufen der Upload-Datei aus dem Shop-Auftrag JTL-Wawi 1.11 0
Beantwortet Workflow Datei schreiben Dateiname per Dotliquid Fehler Illegales Zeichen im Pfad. callerMemberName : WriteFile JTL-Workflows - Fehler und Bugs 1
Neu Workflow zum automatischen Stornieren einer Rechnung nach Versand User helfen Usern - Fragen zu JTL-Wawi 2
Neu Artikel KinderArtikel anlegen: Workflow "Artikel erstellt und Artikel geändert" werden NUR beim Vaterartikel gestartet User helfen Usern - Fragen zu JTL-Wawi 0
Stornobeleg als Workflow-Trigger JTL-Wawi 1.10 2
Neu Kartonagen nicht mehr über Workflow auswählbar nach Update auf 1.11.3 JTL-Workflows - Ideen, Lob und Kritik 0
Neu Workflow für voraussichtlichen Liefertag erstellen JTL-Workflows - Ideen, Lob und Kritik 6
Neu Workflow für voraussichtlichen Liefertag erstellen User helfen Usern - Fragen zu JTL-Wawi 1
Lieferantenbestellung per Workflow bestätigen JTL-Wawi 1.11 0
Neu Workflow: Straße enthält Postfiliale oder Paketshop JTL-Workflows - Fehler und Bugs 3
Neu Workflow 4 Wochen vor vorraus. Lieferdatum Arbeitsabläufe in JTL-Wawi 1
Überverkäufe über Workflow setzen JTL-Wawi 1.10 2
In Diskussion Workflow alle X Tage ausführen JTL-Workflows - Ideen, Lob und Kritik 5
Ausliefern Workflow über API JTL-Wawi 1.9 6
Neu Kann man das Shop-Guthaben von Kunden per Workflow beeinflussen? User helfen Usern - Fragen zu JTL-Wawi 0
JTL-Workflow | Automatisches Speichern von Rechnungen möglich? JTL-Wawi 1.9 2
In Diskussion Workflow Angebote OHNE Auftrag JTL-Workflows - Ideen, Lob und Kritik 8
Gelöst Workflow-Trigger für Selbstabholung / FFN-Versand JTL-Workflows - Fehler und Bugs 2
In Diskussion Workflow für bezahlte Aufträge eines bestimmten Lagers → Pickliste zu bestimmter Uhrzeit JTL-Workflows - Ideen, Lob und Kritik 2
In Diskussion Workflow verändert Wert JTL-Workflows - Ideen, Lob und Kritik 1
Workflow Standardlieferant JTL-Wawi 1.10 2
XML Auftragsimport per Workflow bediinen JTL-Wawi 1.8 1
Gelöst CustomWorkflow erscheint nicht in den Workflow-Aktionen JTL-Workflows - Fehler und Bugs 7
Neu Workflow um einen Artikel bei einem bestimmten Verkaufskanal zu aktivieren oder deaktivieren User helfen Usern - Fragen zu JTL-Wawi 4
Neu Mit Workflow verfügbaren Bestand aller Artikel in Datei schreiben User helfen Usern - Fragen zu JTL-Wawi 8
In Diskussion Workflow ausführen bei Lagerbestand 0 eines Lagers JTL-Workflows - Fehler und Bugs 3
Neu Workflow: WMS Lager nutzen um Versandart zu bestimmen User helfen Usern - Fragen zu JTL-Wawi 1
In Diskussion Workflow für das Austauschen von bestelltem Artikel in einem Auftrag gegen einen alternativen Artikel JTL-Workflows - Ideen, Lob und Kritik 3
Workflow soll wenn Artikel 0 Bestand für 35 Tage hat diesen auf inaktiv setzen JTL-Wawi 1.10 4
Automatischer Workflow für Versand von Gutscheinen versendet den Gutschein nicht JTL-Wawi 1.10 2
Workflow für Benachrichtigung bei Stammkunden JTL-Wawi 1.10 9
Workflow: Neue Kunden direkt einer Kundengruppe zuordnen JTL-Wawi 1.10 6
Neu Workflow Versandart prüfen und im Auftrag setzen - speziell für Stücklistenartikel User helfen Usern - Fragen zu JTL-Wawi 0
Neu Ausliefern Workflow mit variablen Ausführungszeiten je nach vorauss. Lieferdatum User helfen Usern - Fragen zu JTL-Wawi 3
In Diskussion Workflow Error While Automating Game Update Notifications JTL-Workflows - Fehler und Bugs 2
Gutschein automatisch an jeden Bon anhängen Allgemeine Fragen zu JTL-Vouchers 0
Seiten Aktualisieren sich nicht mehr automatisch beim seit einigen Updates JTL-Wawi 1.11 16
Neu Lieferstatus geht automatisch in Lieferschein erstellt Arbeitsabläufe in JTL-Wawi 1
Artikel nicht automatisch für Verkaufskanal aktivieren JTL-Wawi 1.10 2
Neu eBay-Angebote: Herstellernummer wird automatisch auf 'Nicht zutreffend' gesetzt - wie verhindern? eBay-Anbindung - Fehler und Bugs 0
Neu Auftrag automatisch nach Bestellung geht nicht Arbeitsabläufe in JTL-Wawi 2
JTL POS , Selbstabholung, Ausliefern automatisch JTL-Wawi 1.10 8
OnePageComposer - diverse HTML-Tags werden aus Richtext automatisch gelöscht Einrichtung JTL-Shop5 4
Amazon Retouren automatisch in Wawi anlegen JTL-Wawi 1.10 3
Rückerstattung wenn Zahlung nicht automatisch sondern manuell zugewiesen worden sind JTL-Wawi 1.9 0
Neu Bei Mahnlauf automatisch speichern Arbeitsabläufe in JTL-Wawi 2
Neu Automatisch generierte Eigene Felder PAYPAL_FUNDING_SOURCE und AmazonPay-Referenz User helfen Usern - Fragen zu JTL-Wawi 0
Neu JTL-WMS + eazyShipping: Versandart & Gewicht automatisch beim Scan (Stücklisten) Arbeitsabläufe in JTL-WMS / JTL-Packtisch+ 0

Ähnliche Themen