Workflow: Das automatische durschuchen ALLER Positionen mit bestimmten Namen.

mowment

Mitglied
15. Dezember 2022
10
0
Mein Problem ist aktuell, dass ich unsere Kartonagen gerne in einem frisch erstellten Auftrag automatisch einfügen möchte (Kartonage als Artikel). Ich habe bisher einen Workflow angelegt, welcher auch soweit funktioniert (er sucht einen Artikel aus der Auftragsposition dessen Name mit 6x4 endet). Nun leider hört der Workflow automatisch danach auf, da er ja sein Ziel erreicht hat. Nun zu meiner Frage:

Wie kann ich den Workflow so einstellen, dass er nicht bei dem ersten Treffer sich beendet sondern solange den Workflow ausführt bis er alle im Auftrag sich befindende Artikel mit o.g. Voraussetzung gefunden hat + er soll die Kartonage auch so oft einfügen wie der gefundene Artikel hat (z.B: er findet einen Artikel mit 6x4 am Ende, welcher einen Mengenwert von 6 hat, trägt aber nur 1x die Kartonage ein, obwohl es 6x sein sollte)
Vielen lieben Dank wenn sich jemand dem annehmen kann !

MfG
Daniel
 

John

Sehr aktives Mitglied
3. März 2012
3.806
906
Berlin
Eigene Erweiterte Eigenschaft anlegen, Rückgabewert Zahl und in der Erweiterten Eigenschaft eine Schleife über alle Positionen laufen lassen und das Vorkommen von 6x4 zählen.
Dann das Ergebnis als Rückgabewert nutzen.
 

jtldudel

Sehr aktives Mitglied
4. Januar 2018
630
200
Im Workflow hast du bei der Aktion "Position hinzufügen" ja ein Feld für die Menge. Dort kannst du über die drei kleinen Punkte rechts daneben den Editor öffnen. Da fügst du das hier ein:

{% capture query -%}
select count(kartikel) from Verkauf.tAuftragPosition where kauftrag = {{ Vorgang.Stammdaten.InterneAuftragsnummer }}
and cArtNr like '%6x4'
{% endcapture -%}
{% assign Anzahl = query | DirectQueryScalar -%}
{{ Anzahl }}

Das zählt stumpf die Anzahl der Positionen (Achtung: Nicht die Menge!) im Auftrag, dessen SKU mit 6x4 endet und fügt dir die Zahl am Ende als die Anzahl ein, wie oft die Kartonage eingefügt werden soll.
Menge könnte man noch ähnlich berücksichtigen, weiß nicht ob du das brauchst.
 

mowment

Mitglied
15. Dezember 2022
10
0
@John Leider bin ich noch neu in der Wawi Materie und weiß aktuell nicht wie ich das schreibe / bzw. wie die Lokale dafür sind. Kannst du mir ein Beispiel nennen woran ich das lernen / sehen kann? Das wäre sehr nett von dir!
 

mowment

Mitglied
15. Dezember 2022
10
0
@jtldudel nachdem ich den Workflow simuliert habe, hat der Workflow sich wieder nach dem ersten zutreffenden Artikel (mit 6x4 im Namen) sich beendet und die Suche nicht weiter fortgeführt.
 

mowment

Mitglied
15. Dezember 2022
10
0
Ich hab den Workflow jetzt so weit bekommen, dass er die Anzahl der "6x4" über cName anstatt von cArtNr nimmt. Jetzt fehlt mir nur noch die Menge der einzelnen Auftragspositionen. Nur das integrieren der Mengenanzahl wirft mir immer einen Syntaxerror raus. Hier mal mein Code:


{% capture query -%}
select count(kartikel) from Verkauf.tAuftragPosition where kauftrag = {{ Vorgang.Stammdaten.InterneAuftragsnummer }}
and cName like '%6x4'

select count(kartikel) from Verkauf.tAuftragPosition.ArtikelPositionen.nAnzahl where nAnzahl = {{ Vorgang.AuftragsPositionen.ArtikelPositionen.Anzahl }}
and nAnzahl > 0

{% endcapture -%}
{% assign Anzahl = query | DirectQueryScalar -%}
{{ Anzahl }}

EDIT:

Wenn möglich würde ich wahrscheinlich auch später von cName zu den Artikelmerkmalen wechseln, da ich da bessere Zuweisungen tätigen kann. Nur kenn ich die SQL Lokale dafür nicht
 

mowment

Mitglied
15. Dezember 2022
10
0
@MirkoWK Da bekomm ich leider weiterhin eine Fehlermeldung: "
Fehler im Befehl: Server "Verkauf" konnte in "sys.servers" nicht gefunden werden. Stellen Sie sicher, dass der richtige Servername angegeben wurde. Führen Sie ggf. die gespeicherte Prozedur "sp_addlinkedserver" aus, um den Server in "sys.servers" hinzuzufügen."
"
 

MirkoWK

Sehr aktives Mitglied
14. März 2022
791
286
das klingt seltsam - hast du wie in deinem Post oben 1 Select oder beide drin? auf diese Weise geht auf jeden Fall nur 1.

Falls du das im MS Server Management Studio testest, dann musst du noch die richtige DB aussuchen.

So sollte es aber funktionieren:
SQL:
{% capture query -%}
select sum(fAnzahl) from Verkauf.tAuftragPosition where kauftrag = {{ Vorgang.Stammdaten.InterneAuftragsnummer }}
and cName like '%6x4'
{% endcapture -%}
{% assign Anzahl = query | DirectQueryScalar -%}
{{ Anzahl }}
 

mowment

Mitglied
15. Dezember 2022
10
0
das klingt seltsam - hast du wie in deinem Post oben 1 Select oder beide drin? auf diese Weise geht auf jeden Fall nur 1.

Falls du das im MS Server Management Studio testest, dann musst du noch die richtige DB aussuchen.

So sollte es aber funktionieren:
SQL:
{% capture query -%}
select sum(fAnzahl) from Verkauf.tAuftragPosition where kauftrag = {{ Vorgang.Stammdaten.InterneAuftragsnummer }}
and cName like '%6x4'
{% endcapture -%}
{% assign Anzahl = query | DirectQueryScalar -%}
{{ Anzahl }}
Also ich teste das direkt in der Wawi und habe den oben genannten code genutzt. Sofern ich das zweite select entferne (mit dem verweiß auf die Menge) funktioniert es ja ohne Fehler. Also ich nutze 2 Selects. Aber das scheint ja wie von dir beschrieben nicht zu funktionieren. Hier zur Erklärung der Code der Fehlerhaft ist:


{% capture query -%}
select count(kartikel) from Verkauf.tAuftragPosition where kauftrag = {{ Vorgang.Stammdaten.InterneAuftragsnummer }}
and cName like '%6x4'

select sum(fAnzahl) from Verkauf.tAuftragPosition.ArtikelPositionen.nAnzahl where nAnzahl = {{ Vorgang.AuftragsPositionen.ArtikelPositionen.Anzahl }}
and nAnzahl > 0


{% endcapture -%}
{% assign Anzahl = query | DirectQueryScalar -%}
{{ Anzahl }}
 

mowment

Mitglied
15. Dezember 2022
10
0
So... Jetzt hab ich etwas mehr geschaft. Mit dem folgenden Code habe ich jetzt die Artikelanzahl und die gesamtmenge an Artikel gefunden.:

{% capture query -%}
{% assign Gesamtmenge = 0 -%}
select count(kartikel) and from Verkauf.tAuftragPosition where kauftrag = {{ Vorgang.Stammdaten.InterneAuftragsnummer }}
and cName like '%6x4'
{% for Artikelbeschreibungen in Vorgang.AuftragsPositionen.ArtikelPositionen -%}
{% assign Gesamtmenge = Gesamtmenge | Plus: Artikelbeschreibungen.Menge -%}
{% endfor -%}
{% endcapture -%}
{% assign Anzahl = query | DirectQueryScalar -%}
{{ Anzahl }}
{{ Gesamtmenge | Floor }}


Jetzt würde ich gerne nur noch die zwei Module miteinander verknüpfen, sodass er mir bei der "select" suche direkt die Artikel UND die Menge raussucht (also quasi die Artikelsuche rausnehmen sondern direkt nach Menge suchen von Positionen mit dem vermerk, dass diese "6x4" im Namen haben müssen.)

Kann mir da jemand bei dem vermischen der Codes helfen? Hab da jetzt mehrere Stunden probiert und nur Syntax-errors bekommen.

MfG
Daniel
 

mowment

Mitglied
15. Dezember 2022
10
0
Ich fühl mich so als ob ich mit mir selbst ein Gespräch hier führe, ABER ich habe es geschafft! Der folgende Code geht den Auftrag durch und findet alle gesuchten Artikel und ihre Menge (Berücksichtigt nur die Menge um keine doppelten Einträge zu haben). :


{% capture query -%}
{% assign Gesamtmenge = 0 -%}
select sum(fAnzahl) from Verkauf.tAuftragPosition where kauftrag = {{ Vorgang.Stammdaten.InterneAuftragsnummer }}
and cName like '%NAME DES ARTIKELS DEN MAN SUCHT' --> das "%" kann sowohl vor- als auch nach dem Namen eingefügt werden und besagt, dass das Schlagwort Vor-oder nach dem "%" kommt (also z.B: %Ball --> "Bunter Ball" oder Ball% --> Ball Groß. Oder %Ball% --> Bunter Ball Groß) (nur als Hilfe für Leute die dasselbe Problem und dieselben Fragen wie ich habe haha)

{% endcapture -%}
{% assign Anzahl2 = query | DirectQueryScalar -%}
{{ Anzahl2 }}
 

jtldudel

Sehr aktives Mitglied
4. Januar 2018
630
200
Ich fühl mich so als ob ich mit mir selbst ein Gespräch hier führe, ABER ich habe es geschafft! Der folgende Code geht den Auftrag durch und findet alle gesuchten Artikel und ihre Menge (Berücksichtigt nur die Menge um keine doppelten Einträge zu haben). :


{% capture query -%}
{% assign Gesamtmenge = 0 -%}
select sum(fAnzahl) from Verkauf.tAuftragPosition where kauftrag = {{ Vorgang.Stammdaten.InterneAuftragsnummer }}
and cName like '%NAME DES ARTIKELS DEN MAN SUCHT' --> das "%" kann sowohl vor- als auch nach dem Namen eingefügt werden und besagt, dass das Schlagwort Vor-oder nach dem "%" kommt (also z.B: %Ball --> "Bunter Ball" oder Ball% --> Ball Groß. Oder %Ball% --> Bunter Ball Groß) (nur als Hilfe für Leute die dasselbe Problem und dieselben Fragen wie ich habe haha)

{% endcapture -%}
{% assign Anzahl2 = query | DirectQueryScalar -%}
{{ Anzahl2 }}
Das ist btw die gleiche Lösung die MirkoWK weiter oben schon gepostet hatte :D
 

John

Sehr aktives Mitglied
3. März 2012
3.806
906
Berlin
Die Lösung hier ist stressig, weil SQL und das bei Updates seitenes der Datenstruktur der Wawi evtl. angepasst werden muß.

Nimm das hier:

Code:
{% assign AnzahlGesamt = 0 -%}
{% for Position in Vorgang.AuftragsPositionen.ArtikelPositionen -%}
{% if Position.Bezeichnung | Matches: '6x4' -%}
{% assign AnzahlGesamt = AnzahlGesamt | Plus: Position.Menge -%}
{% endif -%}
{% endfor -%}
{{ AnzahlGesamt }}

Das nimmst Du als Wert für die Anzahl deiner hinzuzufügenden Positionen.
Und mit dem gleichen Code machst Du Dir in den Workflow Bedingungen eine Eigene Erweiterte Eigenschaft mit Rückgabewert ZAHL. Die Erweiterte Eigenschaft prüfst Du dann auf > 0 als Deine Workflow Bedingung

In dem Code wird generell auf Vorkommen von 6x4 geprüft. Nicht auf endet mit. Das könnte man aber per RegEx anpassen.
 
  • Gefällt mir
Reaktionen: jtldudel
Ähnliche Themen
Titel Forum Antworten Datum
Workflow soll wenn Artikel 0 Bestand für 35 Tage hat diesen auf inaktiv setzen JTL-Wawi 1.10 1
Automatischer Workflow für Versand von Gutscheinen versendet den Gutschein nicht JTL-Wawi 1.10 2
Workflow für Benachrichtigung bei Stammkunden JTL-Wawi 1.10 9
Workflow: Neue Kunden direkt einer Kundengruppe zuordnen JTL-Wawi 1.10 4
Neu Workflow: Musterbestellungen (0 € Gesamtbruttowert) automatisch ausliefern lassen User helfen Usern - Fragen zu JTL-Wawi 0
Neu Workflow Versandart prüfen und im Auftrag setzen - speziell für Stücklistenartikel User helfen Usern - Fragen zu JTL-Wawi 0
Neu Ausliefern Workflow mit variablen Ausführungszeiten je nach vorauss. Lieferdatum User helfen Usern - Fragen zu JTL-Wawi 3
Neu Workflow Error While Automating Game Update Notifications JTL-Workflows - Fehler und Bugs 0
Neu Auslesen Bestand per Lager für Workflow zur Anzeige im Onlineshop User helfen Usern - Fragen zu JTL-Wawi 2
Neu Workflow automatisch alle 2 Stunden ausführen – Prüfung auf voraussichtliches Lieferdatum User helfen Usern - Fragen zu JTL-Wawi 11
In Diskussion Workflow zur Zählen von Retouren und Bestellungen von einem Kunden JTL-Workflows - Ideen, Lob und Kritik 1
In Diskussion Externe E-Mail mit Auftragsdaten per Workflow erzeugen JTL-Workflows - Fehler und Bugs 10
Neu Workflow Amazon Fristen + Bestellung filtern und Ausliefern User helfen Usern - Fragen zu JTL-Wawi 3
In Diskussion Workflow „Rechnung drucken“ wird nicht automatisch ausgeführt JTL-Workflows - Fehler und Bugs 7
Neu Kommentar / Notiz einblenden lassen bei Retoure am WMS? Oder Workflow bei Retoure mit kommentiertem Auftrag? Arbeitsabläufe in JTL-WMS / JTL-Packtisch+ 0
Beantwortet Workflow löst nicht aus, obwohl alle Bedingungen erfüllt JTL-Workflows - Fehler und Bugs 1
In Diskussion Workflow wird ausgeführt obwohl Bedingung nicht zutrifft. JTL-Workflows - Fehler und Bugs 9
Beantwortet Workflow Auftrag über FFN ausliefern wenn Ware eingelagert JTL-Workflows - Ideen, Lob und Kritik 6
Workflow mit Bedingung Lieferant wird nicht mehr ausgeführt JTL-Wawi 1.9 1
Seit Update 1.10.12.0 – Keine Rechnungserstellung per Workflow bei FBA-Aufträgen JTL-Wawi 1.10 3
Neu Workflow Amazon Versandgruppe ändern User helfen Usern - Fragen zu JTL-Wawi 0
In Diskussion Per Workflow aktuelle Kategorie als Attribut hinterlegen JTL-Workflows - Ideen, Lob und Kritik 5
Neu Workflow lößt bei Track & Trace nicht aus User helfen Usern - Fragen zu JTL-Wawi 1
In Diskussion JTL WAWI + FFN + OrangeConnex Workflow für Versand und Lagerbestand JTL-Workflows - Ideen, Lob und Kritik 0
In Diskussion Workflow kurze Pause per Batch - Fehler "Die Eingabeumleitung wird nicht unterstützt" JTL-Workflows - Ideen, Lob und Kritik 6
In Diskussion Workflow auf Zahlungseingang und Zahlungsweise JTL-Workflows - Ideen, Lob und Kritik 1
In Diskussion Per Workflow Versandart ändern - EK wird nicht korrigiert JTL-Workflows - Ideen, Lob und Kritik 1
In Bearbeitung Workflow funktioniert nicht - Bedingung: Seriennummer JTL-Workflows - Fehler und Bugs 32
Neu Menge von Auftragspositionen per Workflow ändern User helfen Usern - Fragen zu JTL-Wawi 4
In Diskussion Workflow Stücklistenbestandteile ausgeben JTL-Workflows - Ideen, Lob und Kritik 1
Neu Externe Belege per Workflow speichern Amazon-Anbindung - Fehler und Bugs 3
Verwiesen an Support Probleme mit dem Workflow JTL-Workflows - Fehler und Bugs 2
Workflow-Hilfe Zahlungserinnerung nach 3 Werktagen & Storno nach 7 Werktagen ohne Zahlung JTL-Wawi 1.10 7
Neu Zustellzeit EXPRESS Sendungen - als Bedingung für Workflow User helfen Usern - Fragen zu JTL-Wawi 1
Neu Workflow - Ausliefern - Jeden Tag um 04:00 Uhr, außer Sa. User helfen Usern - Fragen zu JTL-Wawi 4
Neu Wie kann es sein, dass ein "Rechnung erstellt" - Workflow 3 Tage später nochmal ausgelöst wird? User helfen Usern - Fragen zu JTL-Wawi 5
In Diskussion Rechnung per mail / Workflow gibt Fehler aus JTL-Workflows - Fehler und Bugs 6
Kauf und Leasingoptinen in einem Artikel geht das? JTL-Wawi 1.9 0
Preis im Warenkorb für 10 min sichern, wenn Preis geändert wurde. Ist das möglich? Einrichtung JTL-Shop5 3
Neu Kann ich irgendwie ausgeben, welches JTL-Konto das Dokument gedruckt hat? Druck-/ E-Mail-/ Exportvorlagen in JTL-Wawi 11
Neu Ist das ein BUG JTL-Ameise - Fehler und Bugs 1
Neu Die Zahlungsart SOFORT ist eine Plugin-Zahlungsart für Mollie. Das zugehörige Plugin ist jedoch nicht installiert! Allgemeine Fragen zu JTL-Shop 0
Neu Rahmen um die Kategorien, geht das ? Allgemeine Fragen zu JTL-Shop 3
Neu Amazon Lister 2.0 "für das Verkaufskonto 'Amazon.de Lister' konnten keine Versandregeln gefunden werden. ..." 1.10.12.0 Amazon-Lister - Fehler und Bugs 1
Bild "TT-EC15-main.png" für das Angebot mit SKU "TT-EC15" auf Channel "OTTODEJTL" wurde nicht gefunden JTL-Wawi 1.9 0
Neu Mehrsprachige Startseite mit /en/ URL-Struktur ohne doppelte OPC-Pflege. ie löst ihr das? Allgemeine Fragen zu JTL-Shop 1
Neu Große Bilder im Shop (Slider, Blog, Galerie etc.) nachträglich optimieren – wie macht ihr das? Allgemeine Fragen zu JTL-Shop 2
Neu Ändern des Dokumententitels oder andere Wege der Datenübergabe in das Dokument hinein für Artikeletiketten. Druck-/ E-Mail-/ Exportvorlagen in JTL-Wawi 3
Neu Umsatzsteuerfreie Shopify-Bestellungen an JTL-Wawi übertragen – wie macht ihr das? Shopify-Connector 1
Das Hinzufügen von Seriennummern zu einem Artikel ist nicht möglich JTL-Wawi 1.10 6

Ähnliche Themen