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.567
784
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: 20
Zuletzt bearbeitet:

frankell

Sehr aktives Mitglied
9. September 2019
2.567
784
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: 13
  • Jetzt.png
    Jetzt.png
    127,5 KB · Aufrufe: 13
Zuletzt bearbeitet:

Terranova_

Aktives 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.567
784
Flensburg
  • Gefällt mir
Reaktionen: Terranova_

Terranova_

Aktives 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: 10

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
Artikelpuffer Email Workflow JTL-Wawi 1.11 2
Neu Workflow Ereignis "Position hinzufügen" bei Angebote User helfen Usern - Fragen zu JTL-Wawi 0
Neu Workflow - Bedingung Lieferstatus User helfen Usern - Fragen zu JTL-Wawi 4
Workflow: Artikel geändert -> bat-script ausführen JTL-Wawi 1.11 2
Neu Workflow funktioniert nicht so wie gewollt :) User helfen Usern - Fragen zu JTL-Wawi 1
In Diskussion Workflow Abweichung Preise > Emailreport JTL-Workflows - Ideen, Lob und Kritik 3
Neu Workflow Auslöser: Artikel gelöscht User helfen Usern - Fragen zu JTL-Wawi 0
Neu Mahnwesen per Workflow automatisieren User helfen Usern 0
Neu Ebay-Artikelimport triggert Workflow "Artikel geändert" nicht JTL-Wawi - Fehler und Bugs 0
Neu Workflow Überfällige Mahnung an Inkassoanwalt übergeben JTL-Workflows - Ideen, Lob und Kritik 0
JTL Workflow - Email addresse von Rechnungsadresse JTL-Wawi 1.9 5
Neu JTL REST API einen Workflow ausführen und benutzerspezifischen Drucker ansteuern User helfen Usern 0
Neu Retouren Variablen in Workflow für Rechnungskorrektur Wert & Korrekturbetrag JTL-Workflows - Ideen, Lob und Kritik 0
Neu JTL-Wawi 1.11.5: Sequenzieller Kundenexport mit Workflow und SQL-Queue Schnittstellen Import / Export 2
Workflow Druckvorlage personalisierte Artikel JTL-Wawi 1.11 2
Seit dem Update auf JTL Wawi 1.11.4 funktioniert der Workflow "Datei Schreiben" nicht JTL-Wawi 1.11 1
Workflow - Werte setzen JTL-Wawi 1.11 0
Seit Update auf 1.11.4 Workflow für Kartonauswahl gibt error JTL Das Objekt mit Nullwert muss einen Wert haben. BrowsePk: 152325 WorkflowAktionId: 155 JTL-Wawi 1.11 1
Neu Workflow Artkel bereits bestellt Arbeitsabläufe in JTL-Wawi 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
Abonnements durch WORKER automatisch erstellen ?? falsches Erstelldatum Aufträge JTL-Wawi 1.11 1
Neu hood.de - Wie kann ich Dateien (z.B. Sicherheitsdatenblatt) automatisch einbinden? Einrichtung und Installation von JTL-eazyAuction 1
Neu Artikelbild verknüpfen verknüpft nur alle Bilder, wenn kein Bild 1 da ist JTL-Ameise - Fehler und Bugs 0
Neu Wokflow alle Sendenummer in eine Mail User helfen Usern - Fragen zu JTL-Wawi 2
Neu nach Update nicht alle Rechnungen mehr an Amazon Amazon-Anbindung - Fehler und Bugs 0
Neu Versandlistendruck - alle Dienstleister sortiert drucken User helfen Usern - Fragen zu JTL-Wawi 0
Neu Alle Kindartikel in Beständen, bzw. bei Lager JTL-Wawi - Fehler und Bugs 1
Neu Rechnung nur für bestimmte Kundengruppe drucken, aber für alle Erstellen Druck-/ E-Mail-/ Exportvorlagen in JTL-Wawi 1
Neu Bestellungen werden nicht mehr übertragen: Der Shop hat nicht alle Zahlungen gesendet. WooCommerce-Connector 0

Ähnliche Themen