Gelöst Tagesbericht per Workflow

LFU

Gut bekanntes Mitglied
26. Januar 2017
163
23
Düsseldorf
Ich möchte gerne einen Tagesbericht der erfolgten Sendungen als Datei per Workflow ausgeben. Irgend wie bekomme ich die Bedingungen nicht so hin, dass ein Gesamtbericht vom aktuellen Tag Zeitgesteuert ausgegeben wird. Mich beschleicht der Gedanke, dass scheint so generell nicht zu gehen. Oder habe ich etwas übersehen und es gibt doch eine Chance?
 

maydo

Sehr aktives Mitglied
28. März 2011
2.133
85
DE-Fulda
Ich möchte gerne einen Tagesbericht der erfolgten Sendungen als Datei per Workflow ausgeben. Irgend wie bekomme ich die Bedingungen nicht so hin, dass ein Gesamtbericht vom aktuellen Tag Zeitgesteuert ausgegeben wird. Mich beschleicht der Gedanke, dass scheint so generell nicht zu gehen. Oder habe ich etwas übersehen und es gibt doch eine Chance?

einen generellen "cron" Trigger gibt es derzeit nicht.

Was nimmst du als auslösendes Ereignis ?

Eine Möglichkeit wäre, einen manuellen Workflow erstellen und diesen über wawi_extern.dll per cron antriggern.
 

gutberle

Sehr aktives Mitglied
29. März 2011
1.292
395
Hi @LFU,

erst einmal hat @maydo Recht, was Du willst ist eine Art "cron" basierten, automatisch zu einer bestimmten Zeit aufrufbaren Trigger und den gibt es aktuell nicht. Grundsätzlich geht aber schon was, nur die automatische Auslösung musst Du Dir klemmen.

Den Vergleich, ob ein bestimmter Lieferschein z.B. Heute erstellt wurde, geht über eine "Erweiterte Eigenschaft" in den Workflows. Die findest Du ganz unten in der Liste der Bedingungs-Variablen, Du würdest Dir dort eine neue Erweiterte Eigenschaft anlegen, ihr einen "sprechenden" Namen geben und folgenden Code in das Fenster eingeben ...
Code:
{% assign DatumVersand = Vorgang.Erstelldatum | Date:'ddMMyyyy' -%}
{% assign DatumHeute = Datum.Jetzt | Date:'ddMMyyyy' -%}
{% if DatumVersand == DatumHeute -%}
1
{% else -%}
0
{% endif -%}

Nach Bestätigung mit OK, kannst Du dann im Bedingungs-Auswahlfenster unter dem Punkt "Erweiterte Eigenschaften" Deinen sprechenden Namen auswählen und den Rückgabewert dann mit dem Operator "Gleich" auf den Wert "1" prüfen und dann unten eine Aktion auslösen, weil dieser Lieferschein von Heute stammt.

Das ist aber ziemlich suboptimal, denn das musst Du für alle Lieferscheine von Hand oder nach Markieren aller Lieferschein für alle gemeinsam ausführen und der Workflow wird dann im Zweifel für ALLE Deine Versandaktivitäten bis zurück zum Sankt Nimmerleinstag separat ausgeführt. - Zeit für eine Kaffeepause ... :confused:

Eleganter wird es, wenn Du zwar wie oben eine "Erweiterte Eigenschaft" anlegst, aber statt dem Code von oben die Arbeit eine SQL Abfrage machen läßt, die direkt in der Datenbank aus der Versandliste diejenigen raussucht, die von Heute stammen und sie mitsamt ein paar nützlichen Infos in einer Tabelle zurückliefert. Dann muss man nur noch in einer Schleife über die Tabellenzeilen laufen und die Infos ausgeben. Das sähe dann so aus...
Code:
{% capture query -%}
SELECT t2.cLieferscheinNr AS 'LieferscheinNr', t4.cKundenNr AS 'KundenNr', t3.cBestellNr AS 'BestellNr',
        CASE WHEN t1.cIdentCode = '' THEN '<Kein IdentCode>' END AS 'IdentCode',
        CASE WHEN t1.cHinweis = '' THEN '<Kein Hinweis>' END AS 'Hinweis'
        FROM tVersand AS t1
    INNER JOIN tLieferschein AS t2 ON t2.kLieferschein=t1.kLieferschein
    INNER JOIN tBestellung AS t3 ON t3.kBestellung=t2.kBestellung
    INNER JOIN tkunde AS t4 ON t4.kKunde=t3.tKunde_kKunde
    WHERE CONVERT(DATE,t1.dVersendet)=CONVERT(DATE,GETDATE())
{% endcapture -%}
{% assign VersandListe = query | DirectQuery -%}
LieferscheinNr;KundenNr;BestellNr;IdentCode;Hinweis
{% for item in VersandListe.Daten -%}
{{ item.LieferscheinNr }};{{ item.KundenNr }};{{ item.BestellNr }};{{ item.IdentCode }};{{ item.Hinweis }}
{% endfor -%}

In der Summe bräuchtest Du also eine Workflow-Bedingung, die prüft, ob Heute zumindest ein Versand stattgefunden hat und eine Aktion, die dann und nur dann die Versanaktivitäten sammelt und übergibt/ausgibt, hier also Schritt für Schritt ...

1. Workflow Bedingung anlegen, neue "Erweiterte Eigenschaft" anlegen, "Anzahl Heute Versendet" nennen und folgenden Code reinkopieren ...
Code:
{% assign result = 'SELECT COUNT(dVersendet) FROM tVersand WHERE CONVERT(DATE,dVersendet)=CONVERT(DATE,GETDATE())' | DirectQueryScalar -%}
{{ result }}
2. Eine Ebene höher als Vergleichsoperator "Ungleich" und als Wert "0" setzen. Damit wird die Workflow-Aktion nur dann ausgelöst, wenn "nicht kein" Versand stattgefunden hat.
>> Diesen umständlichen Vergleich wähle ich, weil die Wawi aktuell noch keine echten "größer als" und "kleiner als" Zahlenvergleiche macht, sondern immer nur String-Vergleiche. Das ändert sich bald und dann testet man auf "Größer als" und "0".
3. Workflow Aktion anlegen, als Aktion z.B. Email schreiben, An, Betreff, etc. ist alles Deins, aber bei "Text" klickst Du auf den "..." Button und kommst wieder in eine Art "Erweiterte Eigenschaft".
4. Dort kopierst Du dann den längeren Code von oben rein.
5. Ok, ok klicken, fertsch!

Da es aber auch nach dieser Odysee ja immer noch keinen automatisch zeitgetriggerten Workflow gibt, löst Du diesen Versandaktivitäten Workflow aus, indem Du abends einmal in Deine Versandliste gehst, irgendeinen Lieferschein anklickst, damit die Box mit den manuellen Workflows rechts unter der Liste aktiv wird, wählst Deinen "Heute Versendet" Workflow aus und voilá "You have mail !" ... :)

Gruß,
Ingmar
 

Rico Giesler

Offizieller Servicepartner
SPBanner
10. Mai 2017
13.243
1.513
Hallo @LFU
Je nach dem was du genau ausgegeben haben möchtest könnte man es auch recht simpel lösen:

Du machst unter Lieferschein versendet einen zeitversetzten Workflow um 1 Minute der die von dir gewählten Daten in eine Datei schreibt.
Als Dateiname lässt du das heutige Datum setzen.
Zum Ende wählst du aus: "an vorhandene Datei anhängen"!!!

Was passiert dadurch?
- sobald der erste Lieferschein des Tages versendet wird, erstellt der Workflow eine Datei mit dem heutigen Datum und den von dir gewünschten Daten.
- nun kommt der nächste Lieferschein und der Workflow erkennt, dass es für heut schon eine Datei gibt.
- er erweitert nun die vorhandene Datei um die Daten von dem zweiten Lieferschein.
- dies passiert bis 23:59:59 Uhr - danach erkennt der Workflow dass es für das neue Datum noch keine Datei gibt und erstellt wieder eine und fängt von neuem an.

Somit hast du von jedem Tag die Infos gesammelt in einer Datei inkl. Datum des Tages als die Lieferscheine versendet wurden.
 
  • Gefällt mir
Reaktionen: maydo und gutberle

gutberle

Sehr aktives Mitglied
29. März 2011
1.292
395
Super Idee, Rico! - @LFU: Falls Du bestimmte Variablen nicht im Baum der verfügbaren Variablen findest, kannst Du immer noch auf eine SQL Abfrage ausweichen, um die nötigen Daten zusammenzubekommen. Ich habe jetzt beim Durchschauen des Baums zum Beispiel keinen IdentCode gefunden, kann aber auch sein, dass ich einfach nur blind bin.

Aber falls so etwas fehlt, kann man sich das ja leicht in der DB besorgen. Der für Rico's Vorschlag modifizierte SQL Code von oben sähe zum Beispiel so aus...
Code:
{% capture query -%}
SELECT t3.cBestellNr AS 'BestellNr', t2.cLieferscheinNr AS 'LieferscheinNr', t4.cKundenNr AS 'KundenNr',
        CASE WHEN t1.cIdentCode = '' THEN '<Kein IdentCode>' END AS 'IdentCode',
        CASE WHEN t1.cHinweis = '' THEN '<Kein Hinweis>' END AS 'Hinweis'
        FROM tVersand AS t1
    INNER JOIN tLieferschein AS t2 ON t2.kLieferschein=t1.kLieferschein
    INNER JOIN tBestellung AS t3 ON t3.kBestellung=t2.kBestellung
    INNER JOIN tkunde AS t4 ON t4.kKunde=t3.tKunde_kKunde
    WHERE t1.kLieferschein={{ Vorgang.InterneLieferscheinNummer }}
{% endcapture -%}
{% assign VersandListe = query | DirectQuery -%}
{% for item in VersandListe.Daten -%}
{{ item.LieferscheinNr }};{{ item.KundenNr }};{{ item.BestellNr }};{{ item.IdentCode }};{{ item.Hinweis }}
{% endfor -%}
... es werden also nicht mehr die Infos für alle heutigen Lieferungen, sondern nur die Infos für den an den Workflow übergebenen Liefervorgang geholt und als Text aufbereitet.
Die Formatierung ist dann natürlich Deine Sache, aber der Text würde dann nach Rico's Anleitung immer hinten an die bestehende Tagesdatei angehängt werden.
 

maydo

Sehr aktives Mitglied
28. März 2011
2.133
85
DE-Fulda
Hallo @LFU
Je nach dem was du genau ausgegeben haben möchtest könnte man es auch recht simpel lösen:

Du machst unter Lieferschein versendet einen zeitversetzten Workflow um 1 Minute der die von dir gewählten Daten in eine Datei schreibt.
Als Dateiname lässt du das heutige Datum setzen.
Zum Ende wählst du aus: "an vorhandene Datei anhängen"!!!

Was passiert dadurch?
- sobald der erste Lieferschein des Tages versendet wird, erstellt der Workflow eine Datei mit dem heutigen Datum und den von dir gewünschten Daten.
- nun kommt der nächste Lieferschein und der Workflow erkennt, dass es für heut schon eine Datei gibt.
- er erweitert nun die vorhandene Datei um die Daten von dem zweiten Lieferschein.
- dies passiert bis 23:59:59 Uhr - danach erkennt der Workflow dass es für das neue Datum noch keine Datei gibt und erstellt wieder eine und fängt von neuem an.

Somit hast du von jedem Tag die Infos gesammelt in einer Datei inkl. Datum des Tages als die Lieferscheine versendet wurden.


sehr gute Idee :)
 

LFU

Gut bekanntes Mitglied
26. Januar 2017
163
23
Düsseldorf
Vielen Dank für die vielen guten Ideen. Ich habe das Problem jetzt über einen Workflow gelöst:
Versand > Lieferscheine Versendet
Bedingung > Versendet gleich true > Auftrag.Kunde.Kunde.Adrtesse.Nachnahme enthält "XXXX"
Aktion > Datei Schreiben > Dateiname Datum > an Vorhandene Datei anhängen

das funktioniert so super
 
Ähnliche Themen
Titel Forum Antworten Datum
In Diskussion Problem mit Steuerberechnung bei Freieretoure auf Tagesbericht und in Statistiken JTL-POS - Fehler und Bugs 4
Neu Per WMS Workflow API Call ausführen Arbeitsabläufe in JTL-WMS / JTL-Packtisch+ 1
Neu Berichtscontainer per Formel sortieren Druck-/ E-Mail-/ Exportvorlagen in JTL-Wawi 0
Neu Frage zur Kartonagen Verwaltung in JTL WMS 1.8 - Karton per Scan ersetzen? Arbeitsabläufe in JTL-WMS / JTL-Packtisch+ 1
Neu Ware direkt in ein Standardlager einbuchen per SQL StoreProcedure dbo.spWarenlagerEingangSchreiben Schnittstellen Import / Export 8
Rechnung per Mail - Anhang (Rechnung) wird nicht erzeugt. JTL-Wawi 1.9 2
In Diskussion Versand bei Selbstabholern per Worker setzen JTL-Workflows - Fehler und Bugs 3
Neu Per Plugin Felder für das Newsletter-Anmeldungs-Template hinzufügen Technische Fragen zu Plugins und Templates 2
Neu Bild per SQL Query aus lesen aus von Artikel Bildplattform Druck-/ E-Mail-/ Exportvorlagen in JTL-Wawi 0
Neu Idee: Manuelle Workflows per Rechtsklick Gelöste Themen in diesem Bereich 4
Abgleich per Worker 2.0 UND manuell nicht mehr möglich JTL-Wawi 1.8 3
Neu Abfrage per Erweiterter Eigenschaft zu Lieferstatus aller Bestellungen eines Kunden User helfen Usern - Fragen zu JTL-Wawi 0
Rechnung per Mail versenden JTL-Wawi 1.9 2
Neu Barzahlung per POS generiert auf einmal "Geldtransit Barzahlung" JTL-POS - Fehler und Bugs 0
Neu JTL verschickt keinen Link zur Sendungsverfolgung per Mail Druck-/ E-Mail-/ Exportvorlagen in JTL-Wawi 0
Neu Warenkorb in Euro per JavaScript ermitteln? Allgemeine Fragen zu JTL-Shop 1
Neu CustomWorkflow zum Setzen von einem Hinweis für Auftragspositionen (Wert aus Eigene Felder per Workflow) Dienstleistung, Jobs und Ähnliches 13
Neu CustomWorkflow zum SPERREN von Kunden (Auswahl eines Kunden/Auftrages/Rechnung per Workflow) Dienstleistung, Jobs und Ähnliches 0
Neu Preis auf Anfrage Button per CSS änderbar ? User helfen Usern - Fragen zu JTL-Wawi 0
Neu Rechnung per Mail an eine bestimmte Mailadresse Arbeitsabläufe in JTL-Wawi 1
Worker (Ausgabe der geschriebenen Rechnunge per Mail JTL-Wawi 1.9 1
Neu 1. Shop spiegeln: Per WaWi? / 2. DB bi-di-replication /Master-Slave 3. RAMdisk 4. WaWi auch spiegeln? Onlineshop-Anbindung 3
Neu Merkmal eindeutig per SQL zuordnen Druck-/ E-Mail-/ Exportvorlagen in JTL-Wawi 0
In Diskussion Fragen zur Rechnungserstellung via Workflow JTL-Workflows - Ideen, Lob und Kritik 2
In Diskussion Manueller Workflow zeitgestuert JTL-Workflows - Ideen, Lob und Kritik 15
Neu Workflow Adresse prüfen auf deutsche Kunden eingrenzen Gelöste Themen in diesem Bereich 6
Neu Brauche Hilfe bei einen Workflow in Sachen Versand Eigene Übersichten in der JTL-Wawi 6
Neu Permanenten Excel-Log über Workflow führen User helfen Usern - Fragen zu JTL-Wawi 2
Workflow DotLiquid: KomplettLieferbarAusLager zeigt FFN Lager an obwohl nicht komplett lieferbar aus diesem Lager JTL-Wawi 1.9 1
In Diskussion Workflow für eBays neues "Kaufabbruch"-Feature JTL-Workflows - Ideen, Lob und Kritik 2
In Diskussion Workflow zum Drucken von Shipping Labels JTL-Workflows - Ideen, Lob und Kritik 3
Neu Workflow für Warenpost nur wenn bestimmte Artikel in Bestellung User helfen Usern - Fragen zu JTL-Wawi 1
Workflow - Vorbestellung ausschließen von Storno JTL-Wawi 1.9 1
Neu Manueller Workflow/ automatischer Workflow Gelöste Themen in diesem Bereich 8
Rechnungsadresse Email Workflow Bedingungen für Rechnung erstellt fehlt JTL-Wawi 1.8 0
In Diskussion Flexible Eingabemaske um Werte/ Parameter an Workflow zu übergeben JTL-Workflows - Ideen, Lob und Kritik 5
In Diskussion Idee für Workflow - Lagerbewertung zum Monatsende an das Steuerbüro JTL-Workflows - Ideen, Lob und Kritik 2
Neu Workflow nur wenn bestimmte Artikel nicht vorhanden User helfen Usern - Fragen zu JTL-Wawi 2
Neu Workflow Zahlung setzen bei Rechnungskorreturen bzw. Retouren User helfen Usern - Fragen zu JTL-Wawi 0
Neu Workflow: Artikel aus Kategorie löschen, wenn Sonderpreis abgelaufen Arbeitsabläufe in JTL-Wawi 0
Problem bei Workflow-Erstellung: Lieferzeit erhöhung" funktioniert nicht JTL-Wawi 1.8 16
Neu Custom Workflow: Lieferschein (Paket) Anmerkung setzen User helfen Usern - Fragen zu JTL-Wawi 0
Gelöst [ERLEDIGT] Hilfe bei workflow: Reiter Auftrag, Rechnung drucken und ausliefern. Gelöste Themen in diesem Bereich 3
Workflow braucht evig :-D JTL-Wawi 1.8 3
In Diskussion Workflow manuell funktioniert, automatisch nicht JTL-Workflows - Ideen, Lob und Kritik 7
Neu [Workaround] Auftrag: Bearbeiter über Workflow wechselen JTL-Wawi 1.9 User helfen Usern - Fragen zu JTL-Wawi 0
Neu Workflow testen --> Auftrag auswählen --> Wawi hängt (keine Rückmeldung) JTL-Wawi - Fehler und Bugs 2
[Bug] JTL-Wawi 1.9 | Auftrag: Statustext in Workflow Variablen leer | gelöst: [SQL] JTL-Wawi 1.9 0
Neu Merkmale & Cross Selling Artikel auf Kindartikel übertragen - Mit manuellen Workflow Ereignis auslösen möglich? User helfen Usern - Fragen zu JTL-Wawi 0
In Bearbeitung Workflow-Management Optimierung/Filterung JTL-Workflows - Ideen, Lob und Kritik 4

Ähnliche Themen