Neu Workflow erstellen wo ein Datumsfeld mit dem Datum.Jetzt verglichen wird

hupsi77

Aktives Mitglied
27. Mai 2010
66
7
Hallo,
ich versuche einen manuellen Workflow zu erstellen um "heutige Aufträge" ausdrucken zu können. Ich habe ein Datumsfeld (Eigene Feld) angelegt wo ich dann ein Datum (Termin) eintragen kann. Der Plan ist: Löse ich den Workflow aus sollen alle Aufträge
ausgedruckt werden das mit aktuellen Datum.Jetzt gleich ist. Leider bekomme ich das irgendie nicht hin. Ich habe auch leider keine super Ahnung von den DotLiquid Befehlen.

Hier mein Versuch:
{% if Vorgang.EigeneFelder.Termin.KD-Datum | FormatDate: 'tt.MM.yyyy' = Datum.Jetzt | FormatDate: 'tt.MM.yyyy' -%}
{% endif -%}

Dann als Bedingung: "Gleich" - "True"

Vieleich kann mir jemand helfen, vielen Dank schon mal im Voraus

Grüße
 

MirkoWK

Sehr aktives Mitglied
14. März 2022
817
302
Hi,

soweit ich das sehen kann warst du schon ganz knapp dran :).

So sollte es gehen:
{%- if Vorgang.EigeneFelder.Termin.KD-Datum | FormatDate: 'tt.MM.yyyy' = Datum.Jetzt | FormatDate: 'tt.MM.yyyy' -%}
true
{%- else-%}
false
{%- endif -%}

Viele Grüße
Mirko
 
  • Gefällt mir
Reaktionen: hupsi77

hupsi77

Aktives Mitglied
27. Mai 2010
66
7
Vielen Dank Mirko,
so hat es funktioniert. Die Datumsabfrage geht einwandrei.

Mir ist nur eines aufgefallen, der Workflow nur dann funktionert wenn ich den Auftrag vorher anklicke, bin ich auf einen anderen Auftrag wo kein Termin vergeben ist oder habe kein
Auftrag angewählt, dann läuft der Workflow zwar durch, aber ohne Ergebnis.

Meine Idee dahinter war, das ich z.B. morgens auf meine Aufträge gehe und kann mit einm Workflow alle Auftrag des Tages ausdrucken die z.B. "nicht geliefert" sind. Gib es
dafür auch eine Lösung ?!?!

Danke und Grüße
 

MirkoWK

Sehr aktives Mitglied
14. März 2022
817
302
Guten Morgen,

das Ding bei den Workflows ist, dass sie grundsätzlich einen Bezug haben - zb zu genau einen Artikel oder einen Auftrag. Daher löst es das gewünschte auch nur für diesen aus.
Du kannst aber auch mehrere Aufträge markieren und dann den manuellen Workflow auslösen. Er arbeitet dann je Auftrag die gewünschten Aktionen ab, sollten jeweils die Bedingungen passen.

Viele Grüße
Mirko
 
  • Gefällt mir
Reaktionen: hupsi77

mh1

Sehr aktives Mitglied
4. Oktober 2020
1.852
556
Nur mal so ein Gedanke: Nicht mit Workflows arbeiten, sondern mit Druckvorlagen
Du könntest dir im Bereich "Aufträge" eine Druckvorlage "Heutige Auftragsliste" anlegen.
Diese nimmt sich dann das Datum des Eigenen Feldes vom ausgewählten Auftrag und gibt in einem Loop alle Aufträge mit diesem Termin aus.
🤔
 

hupsi77

Aktives Mitglied
27. Mai 2010
66
7
Nur mal so ein Gedanke: Nicht mit Workflows arbeiten, sondern mit Druckvorlagen
Du könntest dir im Bereich "Aufträge" eine Druckvorlage "Heutige Auftragsliste" anlegen.
Diese nimmt sich dann das Datum des Eigenen Feldes vom ausgewählten Auftrag und gibt in einem Loop alle Aufträge mit diesem Termin aus.

Vielen dank für die Hilfe, ich denke, ich komme da alleine nicht weiter und muss mir, professionelle Hilfe suchen. Denn das übersteigt meine Kentnisse. :cool:

Grüße
Frank
 

John

Sehr aktives Mitglied
3. März 2012
3.997
991
Berlin
Nur mal so ein Gedanke: Nicht mit Workflows arbeiten, sondern mit Druckvorlagen
Du könntest dir im Bereich "Aufträge" eine Druckvorlage "Heutige Auftragsliste" anlegen.
Diese nimmt sich dann das Datum des Eigenen Feldes vom ausgewählten Auftrag und gibt in einem Loop alle Aufträge mit diesem Termin aus.
🤔

...wie soll das gehen?
Eine Druckvorlage hat ja auch immer nur ein Bezugsobjekt, nämlich den Auftrag aus dem der Druckauftrag gestartet wurde.
Wie soll innerhalb der Vorlage über alle (anderen) Aufträge geloopt werden? Trickserei mit SQL jetzt mal außen vor gelassen...

Oder meinst Du einen Exportvorlage?
 

mh1

Sehr aktives Mitglied
4. Oktober 2020
1.852
556
...wie soll das gehen?
Eine Druckvorlage hat ja auch immer nur ein Bezugsobjekt, nämlich den Auftrag aus dem der Druckauftrag gestartet wurde.
Wie soll innerhalb der Vorlage über alle (anderen) Aufträge geloopt werden? Trickserei mit SQL jetzt mal außen vor gelassen...
Ich dachte dabei in der Tat an "Tricksereien mit SQL".
Wie so oft gibt eben auch hier mehrere Lösungsansätze und es kommt halt auch drauf an, was man genau vorhat.
 

John

Sehr aktives Mitglied
3. März 2012
3.997
991
Berlin
...naja, dann hat man am Ende ne Liste mit Aufträgen, die raus müssen. Davon sind sie aber noch nicht raus.

Ich würde das ganz anders machen.

1. Rückhaltegrund "Terminauftrag" anlegen.
2. Wenn so ein Auftrag rein kommt, ihn mit diesem Grund zurück halten und das eigene Feld mit dem Ausliefertermin fülllen.
3. Workflow bauen, der prüft ob Rückhaltegrund = Terminauftrag und Ausliefertermin <= heute. Wenn bedingung erfüllt, Auftrag freigeben.

Dann einmal am Tag alle zurückgehaltenen Auftrag markierne, manuellen Workflow drüber laufen lassen und dann die durch den Workflow freigegebenen Aufträge normal ausliefern.
 

mh1

Sehr aktives Mitglied
4. Oktober 2020
1.852
556
...naja, dann hat man am Ende ne Liste mit Aufträgen, die raus müssen. Davon sind sie aber noch nicht raus.

Ich würde das ganz anders machen.

1. Rückhaltegrund "Terminauftrag" anlegen.
2. Wenn so ein Auftrag rein kommt, ihn mit diesem Grund zurück halten und das eigene Feld mit dem Ausliefertermin fülllen.
3. Workflow bauen, der prüft ob Rückhaltegrund = Terminauftrag und Ausliefertermin <= heute. Wenn bedingung erfüllt, Auftrag freigeben.

Dann einmal am Tag alle zurückgehaltenen Auftrag markierne, manuellen Workflow drüber laufen lassen und dann die durch den Workflow freigegebenen Aufträge normal ausliefern.
Hört sich gut an. Bravo für neuen Denkansatz :thumbsup:
 

hupsi77

Aktives Mitglied
27. Mai 2010
66
7
Vielen Dank für die Tips, ich werde mal sehen wie ich das umsetzten kann, denn ich kann die Aufträge nicht ausliefern, weil erst an diesem Termin arbeiten gemacht werden und dann der Auftrag fertiggestellt wird.

Ich versuche es vielleicht einmal besser zu erkären: Wir sind ein Geschäft mir Verkauf, Serive & Reparatur von TV, Hausgeräten, usw., ich möchte gerne morgens einmal die Termine für unseren Kunden ausdrucken (Formualre dafür
habe ich gebaut) und mitgeben können. Nach getaner Arbeit beim Kunden, wir der Auftrag fertig gestellt, also mit Teile/Aritkel und Arbeitszeit befüllt, und eine Rechnung geschrieben.
Im Prinzip geht es erst mal darum einen Blank-Auftrag wo Kundendaten und Fehler/Arbeitsbeschreibung stehen, dem Kundendienst-Techniker mitzugeben.

Wie ich es for hatte und Mirko mit geholfen hat, ist das schon super, nur muss dafür alle Aufträge markieren und dann den Workflow auszuführen. Weiterhin bin ich mir noch nicht sicher ob ich dann mit der Übersich ein Problem habe, wenn
die terminierten Aufträge bei "Zurückgehalten" landen, aber dass muss ich mal versuchen, wenn man das irgendwie ohne ausliefern hinbebkommt.

Gruß
Frank
 

hupsi77

Aktives Mitglied
27. Mai 2010
66
7
Ich habe das mit dem Rückhaltegrund ausprobiert. Soll heißen, wenn ich einen Auftag anlege und ein Datum ins eigene Feld eintrage bzw. ich haben ein Feld zum anhaken welches
ich abfrag (Termin erstellt - ja/nein), dann wird Duch ein Workflow der Termin auf Rückhaltung (Terminauftrag) gesetzt. Dieser Part funktioniert ohne Probleme, aber
leider geht der manuell Workfow mit der Datumsabfrage nicht wie gewünscht. Ich denke dass irgendwas an der Datumsabfrage schief liegt.

Manuellen Worfkflow (Aufträge Heute) erstellt:
1. Rückhaltegrund = Terminauftrag
2. Eigene Felder (Auftragsart) = Kundendienst
3. Terminprüfung

{%- if Vorgang.EigeneFelder.Termin.KD-Datum | FormatDate: 'tt.MM.yyyy' = Datum.Jetzt | FormatDate: 'tt.MM.yyyy' -%}
true
{%- else-%}
false
{%- endif -%}
dann die Aktion:
Ausgabe - Drucke Formular = Kundendienst

Das Ganze nochmal mit einer anderen Auftrgasart und einem anderen Formular.
Ich makiere alle Termine, dann löse ich den Workflow aus, aber trotz der Datumsabfrage werden alle Termin gedruckt, auch diese wo ein anderes Datum drin stehen. Zuerst
habe ich es mit dem Datumfeld aus den eigenen Felder versucht, wie oben zu sehen und dann das gleiche nochmal mit dem Feld "Vorauss. Lieferdatum", weil ich dachte, es
könnte vielleicht an dem Format des eigenen Datumsfeld liegen. Mit ist nämlich aufegeallen wenn ich das Feld auf einem Formular ausgeben möchte wird es
wird es es beim Ausdurck wie folgt dargestellt "dd.mm.yyyy SS:mm:ss"

Mache ich vielleicht noch einen Denkfehler?

Danke und Grüße
Frank
 

Eldra H.

Gut bekanntes Mitglied
11. November 2021
101
8
1. Rückhaltegrund "Terminauftrag" anlegen.
2. Wenn so ein Auftrag rein kommt, ihn mit diesem Grund zurück halten und das eigene Feld mit dem Ausliefertermin fülllen.
3. Workflow bauen, der prüft ob Rückhaltegrund = Terminauftrag und Ausliefertermin <= heute. Wenn bedingung erfüllt, Auftrag freigeben.

Dann einmal am Tag alle zurückgehaltenen Auftrag markierne, manuellen Workflow drüber laufen lassen und dann die durch den Workflow freigegebenen Aufträge normal ausliefern.
Hi.

Ich bin über die Forumssuche auf diesen Beitrag gestoßen:
Frage: Wenn ich in den Erweiterten Eigenschaften das Datum abgreifen möchte, kommt bei mir immer true raus. Egal wie ich die If else Bedingung ändere.

Hast du einen Ansatz, wie das Format aussehen muss, damit es richtig abgegriffen werden kann?
 
  • Gefällt mir
Reaktionen: hupsi77

hupsi77

Aktives Mitglied
27. Mai 2010
66
7
Vielleicht kann mir jemand noch mal helfen, ich komme damit leider nicht wirklich weiter.

Wenn ich eine erweiterte Abfrage wie oben beschrieben mache, diese dann als Workflow mit ist gleich "true" setzte bekomme ich immer alle markierten
Aufträge ausgedruck, auch diese wo das Termindatum nicht gleich das heutige Datum ist.

Und um das ganze etwas einfacher zu machen und vielleicht Probleme mit dem Eigenen Felder auszuschließen haben ich es mit dem Feld "voraussichtliches
Lieferdatum" ebenfall probiert. Es werden immer alle markierten Aufträge gedruckt, egal ob das Lieferdatum = dem heutigen Datum ist oder nicht.
Fotos anbei. Vielleicht hat irgendjemand noch eine Idee was schief liegt. Dank schon mal im Voraus.

Grüße
Frank
 

Anhänge

  • Lieferdatum_Termindatum-1.jpg
    Lieferdatum_Termindatum-1.jpg
    88,4 KB · Aufrufe: 13
  • Lieferdatum_Termindatum-2.jpg
    Lieferdatum_Termindatum-2.jpg
    34,5 KB · Aufrufe: 13

Eldra H.

Gut bekanntes Mitglied
11. November 2021
101
8
Vielleicht kann mir jemand noch mal helfen, ich komme damit leider nicht wirklich weiter.
Ich habe noch etwas rumprobiert.
Bei mir klappt jetzt die Abfrage. Irgendwie kann das Datumsformat bei den eigenen Feldern nicht angepasst werden.

Streiche einfach mal die Formatierung beim eigenen Feld. Hinten am Datum.Jetzt lasse es. Ggf. falsl es relevant ist ändere die Schreibweise in | Datum: 'dd.MM.yyyy'

Bei mir gibt er jetzt korrekt auf den Tag true / false aus, was ich dann als Bedingung im WF abgreifen kann.

Edit: Das ganze habe ich jetzt noch in eine Schleife eingebunden. Bei Auftragserstellung wird diese angestoßen und wiederholt sich täglich 6:00Uhr. So muss ich nichts mehr machen und alles läuft automatisiert.
 
Zuletzt bearbeitet:

mh1

Sehr aktives Mitglied
4. Oktober 2020
1.852
556
Hi.

Ich bin über die Forumssuche auf diesen Beitrag gestoßen:
Frage: Wenn ich in den Erweiterten Eigenschaften das Datum abgreifen möchte, kommt bei mir immer true raus. Egal wie ich die If else Bedingung ändere.

Hast du einen Ansatz, wie das Format aussehen muss, damit es richtig abgegriffen werden kann?

Ist zwar schon beantwortet, aber...

Ein Datum steht immer als Zeitstempel in der Datenbank. Nur für die Anzeige kannst du dir diesen Zeitstempel dann formatieren, so wie du es gerne hättest.
Wenn du diesen Datumswert dann entsprechend formatiert hast, ist dies für den Computer kein Datumswert mehr sondern einfach nur noch Text.
Das bedeutet dann: wenn du den Datumswert im Feld Lieferdatum mit einem Textfeld vergleichst, dann vergleicht er nur, ob in beiden was drinsteht.
Wenn etwas drinsteht ist das Feld den Wert TRUE.
Deine Bedingung wurde dann also: If TRUE = True und da kam als Ergebnis eben TRUE raus.

D.h. den Vergleich musst du immer mit diesem unformatierten Zeitstempel machen. Erst das Ergebnis (das ja dann auch wieder solch ein Zeitstempel ist) kannst du dann so formatieren, wie du es gerne hättest.
 

hupsi77

Aktives Mitglied
27. Mai 2010
66
7
Streiche einfach mal die Formatierung beim eigenen Feld. Hinten am Datum.Jetzt lasse es. Ggf. falsl es relevant ist ändere die Schreibweise in | Datum: 'dd.MM.yyyy'

Bei mir gibt er jetzt korrekt auf den Tag true / false aus, was ich dann als Bedingung im WF abgreifen kann.

Es tut mir wirklich leid, aber vielleicht bin auch etwas schwer von Begriff :D gerade, aber ich habe nun die die Formatierung rausgenommen aber trotzem geht es bei mir nicht.

Das habe ich gemacht:
{%- if Vorgang.EigeneFelder.Termin.KD-Datum | Datum: 'dd/MM/yyy' = Datum.Jetzt | Datum: 'dd/MM/yyyy' -%}
true
{%- else-%}
false
{%- endif -%}

Ich bekomme aber immer "true" raus, dementsprechen wenn ich alle Aufträge markiere aber nur ein dabei habe wo das Datum dem von "heute" entspricht werden trotzdem alle gedruck. Ich habe das gleiche auch dem Feld "Vorgang.Lieferung.VoraussichtlichesLieferdatum" versucht. Wenn ich "Datum:" weglasse bekomme ich eine Fehlermeldung. Also vielleicht kannst Du mir sagen was ich falsch mache, danke schon mal

Grüße
Frank
 

John

Sehr aktives Mitglied
3. März 2012
3.997
991
Berlin
Code:
{%- if Vorgang.EigeneFelder.Termin.KD-Datum | Datum: 'dd/MM/yyy' = Datum.Jetzt | Datum: 'dd/MM/yyyy' -%}
true
{%- else-%}
false
{%- endif -%}

Meiner Erfahrung nach ist dotlquid sehr beschränkt, was die Fähigkeiten angeht. Kann sein, daß diese Vergleich scheitert, weil man in einem Vergleich nicht gleichzeitig umwandeln/berechnen darf.

assign das Umgewandelte mal lieber je einer eigenen, neuen Variable und vergleiche die dann miteinandern. Da kannst Du Dir auch gleich zum debuggen vorher den Inhalt der Variablen ausgeben lassen.
 

hupsi77

Aktives Mitglied
27. Mai 2010
66
7
Also wie auch immer, bei mir funktioniert das leider nicht

@Eldra H.
Auch wenn ich die Formatierung weg lasse geht es nicht, kannst Du mir mal deine Abfrage zeigen?

@John
Leider kenne ich mich den den Befehlen und deren Bedeutung nicht komplett aus und bin da ein Anfänger. Vielleicht kannst Du mir mal anhand eines
Beispieles zeigen wie ich das mit "assing" machen könnte.

Wie gesagt, um vielleicht ein Problem mit den Eigenen Felder auszuschließen, habe ich das gleiche mit dem Feld "voraussichtlichesLieferdatum" versucht, damit geht das genauso wenig.

Gruß
Frank
 

Eldra H.

Gut bekanntes Mitglied
11. November 2021
101
8
Es tut mir wirklich leid, aber vielleicht bin auch etwas schwer von Begriff :D gerade, aber ich habe nun die die Formatierung rausgenommen aber trotzem geht es bei mir nicht.

Das habe ich gemacht:


Ich bekomme aber immer "true" raus, dementsprechen wenn ich alle Aufträge markiere aber nur ein dabei habe wo das Datum dem von "heute" entspricht werden trotzdem alle gedruck. Ich habe das gleiche auch dem Feld "Vorgang.Lieferung.VoraussichtlichesLieferdatum" versucht. Wenn ich "Datum:" weglasse bekomme ich eine Fehlermeldung. Also vielleicht kannst Du mir sagen was ich falsch mache, danke schon mal

Grüße
Frank
{%- if Vorgang.EigeneFelder.Termin.KD-Datum = Datum.Jetzt | Datum: 'dd.MM.yyyy' -%}
true
{%- else-%}
false
{%- endif -%}
 
Ähnliche Themen
Titel Forum Antworten Datum
Workflow Trigger bei Angebot-Import über Ameise JTL-Wawi 1.9 0
Neu 2.0.0: Workflow Queue wird nicht abgearbeitet via API JTL-Wawi 2.0 1
Neu Verständnisfrage zum Mahnlauf Workflow User helfen Usern - Fragen zu JTL-Wawi 0
Neu Ort mit OT per Workflow bereinigen JTL-Workflows - Ideen, Lob und Kritik 3
Neu Ausdruck Rechnung beim Workflow nicht korrekt formatiert User helfen Usern - Fragen zu JTL-Wawi 6
Worker versendet keine E-Mails mehr aus der Workflow Queue JTL-Wawi 2.0 6
Neu Workflow - Seriennummer per Mail versenden JTL-Workflows - Fehler und Bugs 1
Neu Workflow automatisch bei Warenausgang für Bestand und Puffer JTL-Wawi - Ideen, Lob und Kritik 11
workflow führt zu "keiner Rückmeldung" / Absturz JTL-Wawi 1.11 3
Artikelpuffer Email Workflow JTL-Wawi 1.11 4
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 DHL versenden 4.0 - NullReferenceException beim Erstellen von Labels JTL-ShippingLabels - Fehler und Bugs 12
Neu Mailvorlagen erstellen oder ändern Arbeitsabläufe in JTL-Wawi 4
Neu Lister 2.0 Ein Amazon Markplatz gleicht nicht ab Amazon-Lister - Fehler und Bugs 0
Neu JTL Pos liest keine Verkäufe mehr ein nach Update Einrichtung / Updates von JTL-POS 0
Neu JTL WMS Mobile Server zeigt neuerdings ein DOS-Fenster JTL-WMS / JTL-Packtisch+ - Ideen, Lob und Kritik 2
Neu OPC friert beim speichern von Änderungen ein nach JTL-Shop Update von Version 5.1.5 auf 5.6.1 JTL-Shop - Fehler und Bugs 6
Ein Schritt vor, drei zurück – warum gehen nach Updates immer wieder Grundfunktionen kaputt? JTL-Wawi 1.11 2

Ähnliche Themen