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.091
680
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
601
193
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
682
242
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
601
193
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.091
680
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 FollowUP Angebot JTL-Wawi - Ideen, Lob und Kritik 0
Neu E-Mail Vorlage Versandbestätigung per Workflow ausführen, wie? JTL-Workflows - Ideen, Lob und Kritik 0
In Diskussion Brauche Hilfe bei Bestand Email Workflow JTL-Workflows - Ideen, Lob und Kritik 15
In Diskussion Workflow besteht alle Test wird nur nicht ausgeführt JTL-Workflows - Fehler und Bugs 23
Verwiesen an Support Workflow artikel_erstellt wird bei LagerUmbuchung ausgelöst. JTL-Workflows - Fehler und Bugs 1
Neu Workflow Hilfe gesucht, Ersetzten eines Textes User helfen Usern - Fragen zu JTL-Wawi 4
Neu Workflow und Version für Vorhaben Starten mit JTL: Projektabwicklung & Migration 3
Neu Workflow erstellen, einen Wert aus den Stammdaten kopieren in einen anderen User helfen Usern - Fragen zu JTL-Wawi 8
Neu Workflow Auftragssplit bei DHL Export Sendungen mit mehreren Paketen User helfen Usern - Fragen zu JTL-Wawi 0
Neu Workflow Artikelnummer durch Lieferantennummer ersetzen User helfen Usern - Fragen zu JTL-Wawi 6
Neu Log bei Workflow Fehler JTL-Workflows - Ideen, Lob und Kritik 0
In Diskussion Rechnungsentwurf per Workflow? JTL-Workflows - Ideen, Lob und Kritik 7
Neu Workflow Fehler User helfen Usern - Fragen zu JTL-Wawi 1
Neu Workflow der prüft, ob eine Bestellung komplett aus einem bestimmten Lager lieferbar ist. User helfen Usern - Fragen zu JTL-Wawi 7
Neu Custum Workflow - Syntax JTL-Workflows - Ideen, Lob und Kritik 0
In Diskussion Keine Auslieferung nach Zahlungsartänderung über Workflow JTL-Workflows - Fehler und Bugs 4
Zahlungsmodul Workflow JTL-Wawi 1.9 14
Neu Workflow: Mail bei Notiz in Auftrags-Historie User helfen Usern - Fragen zu JTL-Wawi 1
Beantwortet Manueller Workflow lässt sich nicht anlegen (V 1.9.5.2) JTL-Workflows - Fehler und Bugs 13
Neu Hilfe bei Workflow - falsche Steuernummer bei Amazon hinterlegt User helfen Usern - Fragen zu JTL-Wawi 0
In Diskussion Workflow Freiposition JTL-Workflows - Fehler und Bugs 1
In Diskussion Workflow für Liefertag Wareneingang? JTL-Workflows - Ideen, Lob und Kritik 2
Neu Workflow - Wert "Netto-EK" im Auftrag auf 0,00 € setzen für eine bestimmte Kundengruppe User helfen Usern - Fragen zu JTL-Wawi 1
Neu Workflow mit verfügbarem Bestand User helfen Usern - Fragen zu JTL-Wawi 4
Von Workflow lokal gespeicherte Datei direkt wieder löschen lassen JTL-Wawi 1.8 1
Neu Per WMS Workflow API Call ausführen Arbeitsabläufe in JTL-WMS / JTL-Packtisch+ 1
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 20
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
Neu Frage an die (Hobby-) Controller: B2C Einzelhandel mit 6% Marketingbudget - das ist normal? Business Jungle 7
Neu Sonderpreise zum Mengenabverkauf von Überverkaufsprodukten - wie löst ihr das? User helfen Usern - Fragen zu JTL-Wawi 0
Neu Konto an den Shop übertragen - wie funktioniert das praktisch? Umstieg auf JTL-Shop 0
Neu Artikel mit negativem Preis (Gutschein) eingeben kompliziert...geht das einfacher? Allgemeine Fragen zu JTL-POS 1
Neu Innerhalb einer Variable -SQL Abfrage- das Wort "fett" schreiben Druck-/ E-Mail-/ Exportvorlagen in JTL-Wawi 2
Neu Hat jemand die Transglobal API (oder das Excel Bulk tool) in JTL integriert ? User helfen Usern 0
Neu Amazon Lister 2.0 Fehlercode: SLR402 Bild "1.jpg" für das Angebot mit SKU "xxxxx" auf Channel "AMAZONDEJTL" wurde nicht gefunden Amazon-Lister - Ideen, Lob und Kritik 0
Neu E-Rechnung verarbeiten, wie löst ihr das? Smalltalk 2
Neu Geht bei Euch das Aufladen der Portokasse in DHL-Onlinefrankierung? JTL-ShippingLabels - Ideen, Lob und Kritik 12
Neu JTL-Worker als Windows-Dienst - wie macht Ihr das? User helfen Usern - Fragen zu JTL-Wawi 8
eBay + Shop Bestand gleichen sich nicht ab - woran kann das liegen? JTL-Wawi 1.9 1

Ähnliche Themen