Gelöst Tagesbericht per Workflow

  • Temporäre Senkung der Mehrwertsteuer Hier findet ihr gesammelt alle Informationen, Videos und Fragen inkl. Antworten: https://forum.jtl-software.de/threads/mehrwertsteuer-senkung-vom-01-07-31-12-2020-offizieller-diskussionthread-video.129542/

LFU

Aktives Mitglied
26. Januar 2017
20
0
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.119
80
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.
 

LFU

Aktives Mitglied
26. Januar 2017
20
0
Ich finde keine Bedingung wo ich Lieferscheindatum und aktuelles Tagesdatum übereinander bekomme
 

gutberle

Sehr aktives Mitglied
29. März 2011
1.272
345
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.213
1.386
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.272
345
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.119
80
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

Aktives Mitglied
26. Januar 2017
20
0
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 Forum Antworten Erstelldatum des Themas
Neu Rechnungsdruck per Workflow funktionieren nicht immer User helfen Usern - Fragen zu JTL-Wawi 4
Neu Preise erst nach Anmeldung per Funktionsattribut steuern? Betrieb / Pflege von JTL-Shop 1
Neu Anpassung der Preise per Ameise | Indiv. VK-Brutto fehlt User helfen Usern - Fragen zu JTL-Wawi 3
Abgelehnt Versand aus dem Wareneingang mit Eazyshipping - Positionen werden nicht ausgebucht, wenn per Workflow dazugebucht Arbeitsabläufe in JTL-WMS 10
Neu Bestandsliste per Ameise importieren - Bestände enthalten 4 Bedingungen User helfen Usern - Fragen zu JTL-Wawi 1
Neu Erwartete Lieferzeit per SQL abfragen JTL-Wawi - Ideen, Lob und Kritik 2
In Diskussion Workflow - Liste mit Kinderartikel ohne Bestellvorschlag jeden Tag versenden per E-Mail JTL-Workflows - Fehler und Bugs 4
Neu Keine Seriennummern bei ausgabe von Rechnungen per Mail oder beim Speichern User helfen Usern - Fragen zu JTL-Wawi 0
Neu Staffelpreise per Ameise ändern / importieren User helfen Usern - Fragen zu JTL-Wawi 12
Neu automatisierte Rechnungserstellung per Wawi oder EasyAuction möglich? Arbeitsabläufe in JTL-Wawi 3
Neu Auftrag per Mail versendet hat 1 CSV-Datei mit Positionsaufstellung im Anhang User helfen Usern - Fragen zu JTL-Wawi 1
Neu mehrere Aufträge vom gleichen Käufer erkennen per Workflow JTL-Wawi - Ideen, Lob und Kritik 1
Neu Etsy-Preis per Workflow ändern JTL-Workflows - Ideen, Lob und Kritik 0
Neu Globale Installation der WAWI/Updates per MSI-Datei Installation von JTL-Wawi 8
Neu Bestehende Aufträge per SQL von 19% auf 16% bei gleichen Bruttopreisen ändern User helfen Usern - Fragen zu JTL-Wawi 1
Neu eBay-Shop-Kategorie 1 in der Ameise per CSV funktioniert nicht JTL-Ameise - Fehler und Bugs 7
Neu Wawi einmal Shop abgleichen lassen per Kommndozeile? Arbeitsabläufe in JTL-Wawi 2
Neu Bestandsbuchung bzw. Bestandsaubuchung per Workflow User helfen Usern - Fragen zu JTL-Wawi 0
Neu Rechnungsadresse per Import ändern (Auftragsimport?) JTL-Ameise - Fehler und Bugs 7
Gelöst Top-Artikel per Worker setzen / entfernen JTL-Workflows - Fehler und Bugs 2
Neu Shop Verfügbarkeitsanfrage per Workflow auf Einkaufsliste Arbeitsabläufe in JTL-Wawi 0
Neu Kategorientitel & -Beschreibungen in englisch per Ameise importieren!? User helfen Usern - Fragen zu JTL-Wawi 0
Offen Per Workflow Hersteller des Artikels leeren JTL-Workflows - Fehler und Bugs 8
Offen Lieferstatus per Workflow ändern JTL-Workflows - Ideen, Lob und Kritik 6
Neu Hat jemand eine Idee wie man ebay Kategorien in den ebay-Vorlagen per WF einbinden kann? User helfen Usern - Fragen zu JTL-Wawi 1
In Diskussion Versandbestätigung per Workflow versenden JTL-Workflows - Fehler und Bugs 23
Neu Status von Tickets per Workflow ändern -Auftragsbezogen Servicedesk (Beta) 0
Neu Unterkategorien bei Import per Ameise in Masse JTL-Ameise - Ideen, Lob und Kritik 2
Neu Export von Kategoriebildern per CMD-Line nicht möglich JTL-Ameise - Fehler und Bugs 5
Neu Export des aktuellen Artikelpreises im Shop per Ameise unter Berücksichtigung eventueller Sonderpreise JTL-Ameise - Ideen, Lob und Kritik 1
Neu Artikeldetailseite: per Default vor-ausgewählte Produktbilder & Varkombis bei mehreren VarKombis Allgemeine Fragen zu JTL-Shop 4
In Bearbeitung Amazon Multichannel: Versanddatum setzen per Workflow, Datum wird nicht an ebay übertragen JTL-Wawi - Fehler und Bugs 2
Offen Nur per WF auf Einkaufsliste, wen NICHT von einem bestimmten Lieferanten JTL-Workflows - Ideen, Lob und Kritik 1
Neu Keine Option zum setzen Preis auf Anfrage per Checkbox/Attribut? User helfen Usern - Fragen zu JTL-Wawi 2
Neu Angebote per Ameise bei eBay einstellen JTL-Ameise - Ideen, Lob und Kritik 9
Neu Per Workflow abfragen, ob ein vorauss. Lieferdatum gesetzt ist User helfen Usern - Fragen zu JTL-Wawi 1
Neu Import englischsprachiger Kategorie-Metadaten per Ameise? Arbeitsabläufe in JTL-Wawi 2
Offen Verständniss Frage + Tipps (Automatische Zahlungserinnerung per Workflow) JTL-Workflows - Ideen, Lob und Kritik 17
Neu Versandart ändern per Workflow - krieg ich nicht hin :( Arbeitsabläufe in JTL-Wawi 2
Gelöst JTL-WMS Bestände hinzubuchen per Ameise JTL-WMS - Ideen, Lob und Kritik 8
Neu Lieferantenbestellung per Ameisen das Lieferdatum Updaten JTL-Ameise - Fehler und Bugs 1
Offen E-Mail mit Auftragspositionen per Workflow JTL-Workflows - Ideen, Lob und Kritik 0
Neu Versandarten: Artikel "A" 1 St. per Maxibrief, ab 2 St. per DHL-Paket versenden. Wie realisiere ich das? Arbeitsabläufe in JTL-Wawi 2
Neu Artikelimport bestehender Artikel per csv mit Lagerbestand - Durchschnittlicher Einkaufspreis JTL-Ameise - Ideen, Lob und Kritik 1
Neu Verschickt ihr AGB und Widerruf noch per Mail? User helfen Usern - Fragen zu JTL-Wawi 7
In Bearbeitung Angebote mit der Wawi oder per Flatfile schliessen Amazon-Anbindung - Ideen, Lob und Kritik 3
Verwiesen an Support/SP Maximale Anzahl an Workflows per Durchgang (Worker) einstellbar JTL-Workflows - Ideen, Lob und Kritik 5
In Diskussion E-Mail-Versand per Workflow nicht im Feld "E-Mail am" angeben JTL-Workflows - Ideen, Lob und Kritik 1
Neu Rechtstexte Händlerbund per PlugIn in Englisch sind leer. Betrieb / Pflege von JTL-Shop 1
Neu Downloadartikel per Mediendatei URL bereitstellen Shopware-Connector 1
Ähnliche Themen