Gelöst Workflow Liefertermin vom Lieferant in Feld "Erhältlich ab:" eintragen

Mark01000

Aktives Mitglied
9. April 2020
17
1
(wenn falsches Forum bitte verschieben, danke)

Hallo Zusammen,

ich wollte mir gerade mal eben ;) einen Workflow basteln komme aber nicht weiter. Mit den einfachen Variablen ist das nicht zu lösen.

Ziel des Workflows ist es, dass der Liefertermin, der in der Lieferantenbestellung eingegeben wurde (ja wir pflegen das) in das Feld "Erhältlich ab:" bei den Artikelstammdaten einzutragen. Das hat dann den Effekt, dass im ( Shopware-) Shop angezeigt werden kann wann der Artikel wieder verfügbar sein wird.

Vorab möchte ich sagen, dass ich von dem neuen Workflow inspiriert bin den Kunden über die Lieferverzögerung zu informieren den Manuel Pietzsch eingestellt hat.

Als Bedingung wird abgefragt (UND Verknüpfung)
1. ob der Lagerbestand des Artikels gleich 0 ist
2. ob eine Lieferantenbestellung vorliegt (habe ich aus dem oben genannten WF genommen) (wenn mehrere Bestellungen vorliegen, dann nehme den nächstgelegenen Liefertermin)

sollte dies der Fall sein dann

Wert setzen : Artikel\Allgemein\Lager\Erscheint am
hier kann man aber nur einen festen Wert setzen. Leider kenn ich mich mit DotLiquid noch nicht aus, so dass man hier den Wert aus der Lieferantenbestellung übernehmen kann.
Hier ist es auch egal wenn der Termin nicht gepflegt wurde und in der Vergangenheit liegt, dann wird im (Shopware-)Shop der normale Hinweis angezeigt.

Der Code für die erweiterten Eigenschaften ob eine Lieferantenbestellung vorliegt schein so in den Artikeln nicht zu funktionieren, da beim Testen immer die Antwort true kommt.

1620396523182.png


Da steht auch was von einem Syntaxfehler, wie kann man das korrigieren, oder sollte man das neu schreiben. Oder taugt der Code dafür gar nicht???
Code:
{% capture query -%}
DECLARE @kBestellung AS INT = {{ Vorgang.Stammdaten.InterneAuftragsnummer }};

SELECT COUNT(*) AS Anzahl
FROM
(
    SELECT  vBestellPosLieferInfoFIFO2012.kBestellung,
            vBestellPosLieferInfoFIFO2012.kBestellPos,
            MIN(ZulaufAnDatum.dLieferdatum) AS dLieferungEingetroffen
    FROM
    (
        SELECT  tLieferantenBestellungPos.kArtikel,     
                tLieferantenBestellungPos.dLieferdatum,
                SUM(tLieferantenBestellungPos.fAnzahlOffen) OVER (PARTITION BY tLieferantenBestellungPos.kArtikel ORDER BY tLieferantenBestellungPos.dLieferdatum ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) AS fZulaufAnDatum
        FROM tLieferantenBestellungPos
        JOIN dbo.tLieferantenBestellung ON tLieferantenBestellungPos.kLieferantenBestellung = tLieferantenBestellung.kLieferantenBestellung
        WHERE   tLieferantenBestellung.nStatus IN (20, 30) -- Lieferantenbestellung mit Zuläufen berücksichtigen
                AND tLieferantenBestellungPos.kArtikel > 0
    ) ZulaufAnDatum
    JOIN VersandIntern.vBestellPosLieferInfoFIFO2012 ON ZulaufAnDatum.kArtikel = vBestellPosLieferInfoFIFO2012.kArtikel
    WHERE   vBestellPosLieferInfoFIFO2012.fAnzahlFehlbestand > 0.0
            AND vBestellPosLieferInfoFIFO2012.fAnzahlFehlbestand <= ZulaufAnDatum.fZulaufAnDatum       
    GROUP BY    vBestellPosLieferInfoFIFO2012.kBestellung,
                vBestellPosLieferInfoFIFO2012.kBestellPos,
                vBestellPosLieferInfoFIFO2012.kArtikel
) AS BestellposLieferung
WHERE BestellposLieferung.kBestellung = @kBestellung;
{% endcapture -%}
{{ query | DirectQueryScalar }}

Ähnlich wie mit dem Workflow "Kunden über Lieferverzögerungen informieren" möchte ich damit erreichen, dass wenn ein Kunde ohne diesen Hinweis den Artikel bestellt und es länger dauert als die standardmäßig eingetragenen (bei mir) 5 Tage, mich erbost anruft, dass es aber länger dauere mit der Lieferung.
Vielleicht bestellt er erst gar nicht, kann ja sein, aber es schont dann dieNerven und Zeit, da viele eh dann Ihr Geld wiederhaben wollen. Also Arbeit für Nichts.

Vielen Dank für Eure Hilfe
 

jtldudel

Sehr aktives Mitglied
4. Januar 2018
636
207
Hab jetzt nicht alles durchgeschaut aber als Tipp, du kannst einfach die Variable {{ Vorgang.Stammdaten.InterneAuftragsnummer }} verwenden für kBestellung, du brauchst diese nicht extra in einer eigenen Variable unterbringen.
Du brauchst dann auch nicht mit ; den Befehl abschließen.
Ob du das rausbekommst was du willst hab ich jetzt noch nicht geschaut :D

{% capture query -%}
SELECT COUNT(*) AS Anzahl
FROM
(
SELECT vBestellPosLieferInfoFIFO2012.kBestellung,
vBestellPosLieferInfoFIFO2012.kBestellPos,
MIN(ZulaufAnDatum.dLieferdatum) AS dLieferungEingetroffen
FROM
(
SELECT tLieferantenBestellungPos.kArtikel,
tLieferantenBestellungPos.dLieferdatum,
SUM(tLieferantenBestellungPos.fAnzahlOffen) OVER (PARTITION BY tLieferantenBestellungPos.kArtikel ORDER BY tLieferantenBestellungPos.dLieferdatum ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) AS fZulaufAnDatum
FROM tLieferantenBestellungPos
JOIN dbo.tLieferantenBestellung ON tLieferantenBestellungPos.kLieferantenBestellung = tLieferantenBestellung.kLieferantenBestellung
WHERE tLieferantenBestellung.nStatus IN (20, 30) -- Lieferantenbestellung mit Zuläufen berücksichtigen
AND tLieferantenBestellungPos.kArtikel > 0
) ZulaufAnDatum
JOIN VersandIntern.vBestellPosLieferInfoFIFO2012 ON ZulaufAnDatum.kArtikel = vBestellPosLieferInfoFIFO2012.kArtikel
WHERE vBestellPosLieferInfoFIFO2012.fAnzahlFehlbestand > 0.0
AND vBestellPosLieferInfoFIFO2012.fAnzahlFehlbestand <= ZulaufAnDatum.fZulaufAnDatum
GROUP BY vBestellPosLieferInfoFIFO2012.kBestellung,
vBestellPosLieferInfoFIFO2012.kBestellPos,
vBestellPosLieferInfoFIFO2012.kArtikel
) AS BestellposLieferung
WHERE BestellposLieferung.kBestellung = {{ Vorgang.Stammdaten.InterneAuftragsnummer }}
{% endcapture -%}
 
Ähnliche Themen
Titel Forum Antworten Datum
In Diskussion Workflow bei fehlerhaften Bankabgleich JTL-Workflows - Ideen, Lob und Kritik 3
In Diskussion Workflow für Erinnerungen an bevorstehende Lieferungen JTL-Workflows - Ideen, Lob und Kritik 0
Neu Lagerkommentar 1 per Workflow füllen User helfen Usern - Fragen zu JTL-Wawi 6
Neu Suche Workflow: Erstbestellung Shop auf Rechnung -> Auftrag Zurückhalten JTL-Wawi - Ideen, Lob und Kritik 1
1.11.7 Workflow versendet soll Rechnung 1x drucken, druckt aber 2x JTL-Wawi 1.11 1
Neu Auftrag - Lieferstatus mit Workflow exportieren Arbeitsabläufe in JTL-Wawi 3
In Diskussion Workflow mit UND / ODER - Bedingung erstellen JTL-Workflows - Ideen, Lob und Kritik 7
Using short screen recordings for JTL-Wawi workflow documentation – anyone doing this? JTL-Wawi 2.0 3
Neu Werte erhöhen per Workflow User helfen Usern - Fragen zu JTL-Wawi 4
In Diskussion Workflow OpenAI JTL-Workflows - Ideen, Lob und Kritik 1
Workflow Trigger bei Angebot-Import über Ameise JTL-Wawi 1.9 1
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 1
In Diskussion 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 Überverkäufe vom System deaktiviert? User helfen Usern - Fragen zu JTL-Wawi 12
Neu Probleme mit Import Datenbank vom Server auf lokal JTL-Wawi 2.0 User helfen Usern - Fragen zu JTL-Wawi 4
1.11.8 - Mengen aus FBA Umlagerungen werden nicht vom verfügbaren Bestand abgezogen JTL-Wawi 1.11 7

Ähnliche Themen