In Diskussion Brauche Hilfe bei Bestand Email Workflow

info@it42life

Mitglied
14. September 2023
14
2
Hallo,
und zwar habe ich bei uns einen Workflow der eine Warnungsmail schreibt mit folgenden Text wenn der Bestand unter 60 fällt.

HTML clipboard Der Artikel {{ Vorgang.Artikel.Allgemein.Stammdaten.Name }} mit der Artikelnummer {{ Vorgang.Artikel.Allgemein.Stammdaten.ArtNrSku }} muss geprüft werden ggf. nachgebucht werden.

Jetzt möchte ich das die Stücklistenartikel und die Bestände dazu mit in der Mail vorkommen.
Finde nur leider die Reiter nicht im Vorgang, kann mir da jemand evtl. helfen?

mfg. das Team von IT42Life
 

frankell

Sehr aktives Mitglied
9. September 2019
2.557
777
Flensburg
Hallo,
und zwar habe ich bei uns einen Workflow der eine Warnungsmail schreibt mit folgenden Text wenn der Bestand unter 60 fällt.

HTML clipboard Der Artikel {{ Vorgang.Artikel.Allgemein.Stammdaten.Name }} mit der Artikelnummer {{ Vorgang.Artikel.Allgemein.Stammdaten.ArtNrSku }} muss geprüft werden ggf. nachgebucht werden.

Jetzt möchte ich das die Stücklistenartikel und die Bestände dazu mit in der Mail vorkommen.
Finde nur leider die Reiter nicht im Vorgang, kann mir da jemand evtl. helfen?

mfg. das Team von IT42Life

Hallo @info@it42life,

wo hast Du den Workflow angelegt? Unter "Artikel - Warenlagerausgang - Minusbuchung"? Je nachdem, wann die Meldung notwendig ist (also wenn bspw. "Bestand < 60" eher "verfügbarer Bestand < 60" meint), kommen auch andere Plazierungen in Frage.

Und Du meinst wahrscheinlich die Stücklistenkinder inklusive deren Beständen. Das geht bei einem Artikel-Workflow nur über eine SQL-Abfrage.
 

info@it42life

Mitglied
14. September 2023
14
2
Hallo @info@it42life,

wo hast Du den Workflow angelegt? Unter "Artikel - Warenlagerausgang - Minusbuchung"? Je nachdem, wann die Meldung notwendig ist (also wenn bspw. "Bestand < 60" eher "verfügbarer Bestand < 60" meint), kommen auch andere Plazierungen in Frage.

Und Du meinst wahrscheinlich die Stücklistenkinder inklusive deren Beständen. Das geht bei einem Artikel-Workflow nur über eine SQL-Abfrage.
ja das war der übliche Reiter dazu, aber wie kann ich die SQL anfrage denn über den Workflow starten? ist das überhaupt möglich?
 

frankell

Sehr aktives Mitglied
9. September 2019
2.557
777
Flensburg
ja das war der übliche Reiter dazu, aber wie kann ich die SQL anfrage denn über den Workflow starten? ist das überhaupt möglich?

Im Mailtext kannst Du auch Ergebnisse von SQL-Abfragen einbauen:
https://guide.jtl-software.com/jtl-wawi/vorlagen/anwendungsbeispiele-direkter-datenbank-zugriff/

Hier wäre das: Wenn der Artikel eine Stückliste ist (bzw. ein Stücklistenvater), liste mir alle Stücklistenkinder mit deren Verfügbarkeiten auf. Dafür sind alle notwendigen Felder da.

Aber bist Du firm mit SQL und der Wawi-Datenbank?
 

info@it42life

Mitglied
14. September 2023
14
2
Im Mailtext kannst Du auch Ergebnisse von SQL-Abfragen einbauen:
https://guide.jtl-software.com/jtl-wawi/vorlagen/anwendungsbeispiele-direkter-datenbank-zugriff/

Hier wäre das: Wenn der Artikel eine Stückliste ist (bzw. ein Stücklistenvater), liste mir alle Stücklistenkinder mit deren Verfügbarkeiten auf. Dafür sind alle notwendigen Felder da.

Aber bist Du firm mit SQL und der Wawi-Datenbank?
Mit der direkten SQL Abfrage bzw. mit der Wawi Datenbank, hab ich mit der Kodierung direkt noch nicht zu tuen gehabt, aber da bin ich gern gewillt die schritte anzugehen.
Oder gibt es da für mich eine einfache Art?
 

Verkäuferlein

Sehr aktives Mitglied
29. April 2012
2.618
1.073
Hallo,
und zwar habe ich bei uns einen Workflow der eine Warnungsmail schreibt mit folgenden Text wenn der Bestand unter 60 fällt.

HTML clipboard Der Artikel {{ Vorgang.Artikel.Allgemein.Stammdaten.Name }} mit der Artikelnummer {{ Vorgang.Artikel.Allgemein.Stammdaten.ArtNrSku }} muss geprüft werden ggf. nachgebucht werden.

Jetzt möchte ich das die Stücklistenartikel und die Bestände dazu mit in der Mail vorkommen.
Finde nur leider die Reiter nicht im Vorgang, kann mir da jemand evtl. helfen?

mfg. das Team von IT42Life
Hallo @info@it42life,

wo hast Du den Workflow angelegt? Unter "Artikel - Warenlagerausgang - Minusbuchung"? Je nachdem, wann die Meldung notwendig ist (also wenn bspw. "Bestand < 60" eher "verfügbarer Bestand < 60" meint), kommen auch andere Plazierungen in Frage.

Und Du meinst wahrscheinlich die Stücklistenkinder inklusive deren Beständen. Das geht bei einem Artikel-Workflow nur über eine SQL-Abfrage.

Das wird meines Erachtens nicht funktionieren, weil seitens JTL immer noch nicht umgesetzt.

Die Wawi kann schlichtweg nicht auf (reguläre) Bestandsveränderungen im Workflowsystem reagieren.

Es wird hier nur auf (manuelle) Minusbuchungen bzw. (manuelle) Plusbuchungen reagiert.

Siehe:
https://issues.jtl-software.de/issues/WAWI-10099 (bald 9 Jahre alt, nach Votes auf Platz 14 und auf Status "Mittelfristig")
https://issues.jtl-software.de/issues/WAWI-51411
https://issues.jtl-software.de/issues/WAWI-24438
 

frankell

Sehr aktives Mitglied
9. September 2019
2.557
777
Flensburg
Das wird meines Erachtens nicht funktionieren, weil seitens JTL immer noch nicht umgesetzt.

Die Wawi kann schlichtweg nicht auf (reguläre) Bestandsveränderungen im Workflowsystem reagieren.

Es wird hier nur auf (manuelle) Minusbuchungen bzw. (manuelle) Plusbuchungen reagiert.

Siehe:
https://issues.jtl-software.de/issues/WAWI-10099 (bald 9 Jahre alt, nach Votes auf Platz 14 und auf Status "Mittelfristig")
https://issues.jtl-software.de/issues/WAWI-51411
https://issues.jtl-software.de/issues/WAWI-24438

Das ist leider zutreffend. Sollte hier aber kein Hinderungsgrund sein, einen weiteren unter Versand - Lieferscheine - Erstellt anzulegen. Auch wenn man dem anderen Thread entnehmen kann, wie sehr mir das gegen den Strich geht. :D
 

frankell

Sehr aktives Mitglied
9. September 2019
2.557
777
Flensburg
Mit der direkten SQL Abfrage bzw. mit der Wawi Datenbank, hab ich mit der Kodierung direkt noch nicht zu tuen gehabt, aber da bin ich gern gewillt die schritte anzugehen.
Oder gibt es da für mich eine einfache Art?

Puh, eine einfache Art ... Ich weiß nicht, ob es so etwas überhaupt gibt.

Die Basics von SQL sollte man sich schon aneignen sowie die Basics von DotLiquid (anhand der Beispiele im JTL-Guide), und dann probieren, probieren, probieren. Innerhalb der Wawi kannst Du keine schreibenden Queries verwenden. Da kannst Du beim Testen also nichts kaputt machen, wenn Du bspw. einen Testworkflow anlegst, der keine Bedingung hat oder eine, die nie zutreffen wird und nur eine Mail an Dich selbst schickt. Dann kannst Du im Textfeld herumtesten, bis der Arzt kommt. Du musst ihn theoretisch noch nicht einmal wirklich ausführen. Das Ergebnis kannst Du Dir in der Vorschau immer ausgeben lassen, ohne den Workflow ausgegeben zu haben.

Hier im Forum findest Du eine Vielzahl an Codes für DotLiquid und auch reines SQL (solange da nicht CREATE, UPDATE, INSERT, DELETE vorkommen), die Du einfach dazu nutzen kannst, sie zu verstehen. Das fällt am Anfang natürlich schwer, aber nach und nach wird's besser, auch mit Herumspielen, also Änderungen des Codes, um zu schauen, wie das Verhalten nach der Änderung ist. Das Schöne an all den Codes hier im Forum ist, dass es keine rein theoretischen Beispiele sind, sondern echte aus der Praxis.

Aber da das viel Zeit in Anspruch nimmt, kannst Du vielleicht erst einmal mit diesem Code was für die Auflistung der Stücklistenkomponenten anfangen, wenn es sich um eine Stückliste handelt. Sonst der normale Text:

HTML:
{% if Vorgang.Artikel.Sonstiges.IstStückliste -%}
<p>Die Stückliste unter dem Artikel {{ Vorgang.Artikel.Allgemein.Stammdaten.Name }} mit der Artikelnummer {{ Vorgang.Artikel.Allgemein.Stammdaten.ArtNrSku }} muss geprüft werden ggf. nachgebucht werden.</p>
<p>Stücklistenkomponenten:</p>
{% capture query -%}
SELECT
    ART.cArtNr,
    ART.cName,
    CAST(SL.fAnzahl AS INT) AS fAnzahl,
    CAST(LB.fVerfuegbar AS INT) AS fVerfuegbar
FROM
    tStueckliste AS SL
JOIN
    vStandardArtikel AS ART ON SL.kArtikel = ART.kArtikel
JOIN
    tlagerbestand AS LB ON SL.kArtikel = LB.kArtikel
WHERE
    SL.kVaterArtikel = {{ Vorgang.Artikel.Allgemein.Stammdaten.InterneArtikelnummer }}
ORDER BY
    SL.nSort ASC
{% endcapture -%}
{% assign result = query | DirectQuery -%}
<style>
td {
  text-align: left;
  padding-right: 15px;
  border-bottom: 1px solid #ddd;
}
.bold { 
  font-weight: bold;
}
</style>
<table>
<tr class="bold">
<td>cArtNr</td>
<td>cName</td>
<td>fAnzahl</td>
<td>fVerfuegbar</td>
</tr>
{% for item in result.Daten -%}
<tr>
<td>{{ item.cArtNr }}</td>
<td>{{ item.fAnzahl }}</td>
<td>{{ item.cName }}</td>
<td>{{ item.fVerfuegbar }}</td>
</tr>
{% endfor -%}
</table>
{% else -%}Der Artikel {{ Vorgang.Artikel.Allgemein.Stammdaten.Name }} mit der Artikelnummer {{ Vorgang.Artikel.Allgemein.Stammdaten.ArtNrSku }} muss geprüft werden ggf. nachgebucht werden.
{% endif -%}

Das Ganze gibt die Stücklistenkomponenten als HTML-Tabelle aus, die ein bisschen formatiert ist.

Die verwendeten Variablen funktionieren so nur dort, wo der Workflow im Moment sitzt. Wenn noch einer wie vorgeschlagen unter Versand - Lieferscheine - Erstellt angelegt wird, braucht es eine Bedingung und eine zweite Schleife (für alle Auftragspositionen, die unter 60 Stück gefallen sind), in der die Prüfung auf Stückliste und die dann notwendige weitere Schleife für die Stücklistenkomponenten befindet.
 

info@it42life

Mitglied
14. September 2023
14
2
Puh, eine einfache Art ... Ich weiß nicht, ob es so etwas überhaupt gibt.

Die Basics von SQL sollte man sich schon aneignen sowie die Basics von DotLiquid (anhand der Beispiele im JTL-Guide), und dann probieren, probieren, probieren. Innerhalb der Wawi kannst Du keine schreibenden Queries verwenden. Da kannst Du beim Testen also nichts kaputt machen, wenn Du bspw. einen Testworkflow anlegst, der keine Bedingung hat oder eine, die nie zutreffen wird und nur eine Mail an Dich selbst schickt. Dann kannst Du im Textfeld herumtesten, bis der Arzt kommt. Du musst ihn theoretisch noch nicht einmal wirklich ausführen. Das Ergebnis kannst Du Dir in der Vorschau immer ausgeben lassen, ohne den Workflow ausgegeben zu haben.

Hier im Forum findest Du eine Vielzahl an Codes für DotLiquid und auch reines SQL (solange da nicht CREATE, UPDATE, INSERT, DELETE vorkommen), die Du einfach dazu nutzen kannst, sie zu verstehen. Das fällt am Anfang natürlich schwer, aber nach und nach wird's besser, auch mit Herumspielen, also Änderungen des Codes, um zu schauen, wie das Verhalten nach der Änderung ist. Das Schöne an all den Codes hier im Forum ist, dass es keine rein theoretischen Beispiele sind, sondern echte aus der Praxis.

Aber da das viel Zeit in Anspruch nimmt, kannst Du vielleicht erst einmal mit diesem Code was für die Auflistung der Stücklistenkomponenten anfangen, wenn es sich um eine Stückliste handelt. Sonst der normale Text:

HTML:
{% if Vorgang.Artikel.Sonstiges.IstStückliste -%}
<p>Die Stückliste unter dem Artikel {{ Vorgang.Artikel.Allgemein.Stammdaten.Name }} mit der Artikelnummer {{ Vorgang.Artikel.Allgemein.Stammdaten.ArtNrSku }} muss geprüft werden ggf. nachgebucht werden.</p>
<p>Stücklistenkomponenten:</p>
{% capture query -%}
SELECT
    ART.cArtNr,
    ART.cName,
    CAST(SL.fAnzahl AS INT) AS fAnzahl,
    CAST(LB.fVerfuegbar AS INT) AS fVerfuegbar
FROM
    tStueckliste AS SL
JOIN
    vStandardArtikel AS ART ON SL.kArtikel = ART.kArtikel
JOIN
    tlagerbestand AS LB ON SL.kArtikel = LB.kArtikel
WHERE
    SL.kVaterArtikel = {{ Vorgang.Artikel.Allgemein.Stammdaten.InterneArtikelnummer }}
ORDER BY
    SL.nSort ASC
{% endcapture -%}
{% assign result = query | DirectQuery -%}
<style>
td {
  text-align: left;
  padding-right: 15px;
  border-bottom: 1px solid #ddd;
}
.bold {
  font-weight: bold;
}
</style>
<table>
<tr class="bold">
<td>cArtNr</td>
<td>cName</td>
<td>fAnzahl</td>
<td>fVerfuegbar</td>
</tr>
{% for item in result.Daten -%}
<tr>
<td>{{ item.cArtNr }}</td>
<td>{{ item.fAnzahl }}</td>
<td>{{ item.cName }}</td>
<td>{{ item.fVerfuegbar }}</td>
</tr>
{% endfor -%}
</table>
{% else -%}Der Artikel {{ Vorgang.Artikel.Allgemein.Stammdaten.Name }} mit der Artikelnummer {{ Vorgang.Artikel.Allgemein.Stammdaten.ArtNrSku }} muss geprüft werden ggf. nachgebucht werden.
{% endif -%}

Das Ganze gibt die Stücklistenkomponenten als HTML-Tabelle aus, die ein bisschen formatiert ist.

Die verwendeten Variablen funktionieren so nur dort, wo der Workflow im Moment sitzt. Wenn noch einer wie vorgeschlagen unter Versand - Lieferscheine - Erstellt angelegt wird, braucht es eine Bedingung und eine zweite Schleife (für alle Auftragspositionen, die unter 60 Stück gefallen sind), in der die Prüfung auf Stückliste und die dann notwendige weitere Schleife für die Stücklistenkomponenten befindet.
Ist das geil hab es noch etwas Angepasst, da die die html Kodierungen wenn ich diese in den Workflow eingefügt hab mit gesendet wurden
sah dann zu erst so aus:
Der Artikel Aopen DE35-HD 240 GB SSD ohne win 10 mit der Artikelnummer 202206291690eB-240 GB SSD-ohne muss geprüft werden ggf nachgebucht werden.
<p>Die Stückliste unter dem Artikel Aopen DE35-HD 240 GB SSD ohne win 10 mit der Artikelnummer 202206291690eB-240 GB SSD-ohne muss geprüft werden ggf. nachgebucht werden.</p>
Stücklistenkomponenten:
<style>
td {
text-align: left;
padding-right: 15px;
border-bottom: 1px solid #ddd;
}
.bold {
font-weight: bold;
}
</style>
<table>
<tr class="bold">
<td>cArtNr</td>
<td>cName</td>
<td>fAnzahl</td>
<td>fVerfuegbar</td>
</tr>
<tr>
<td>202209261731eB</td>
<td>1</td>
<td>[Barebone] Aopen DE35-HD</td>
<td>443</td>
</tr>
<tr>
<td>202205121670eB-1</td>
<td>2</td>
<td>Apacer 2GB SOD PC3-10600 CL9 SO-DIMM [1x2GB]</td>
<td>465</td>
</tr>
<tr>
<td>202212121803eB</td>
<td>1</td>
<td>[Netzteil] [Out: 19V 3,42 A] Für Aopen DE35 HD oder DE3100</td>
<td>0</td>
</tr>
<tr>
<td>202212121804eB</td>
<td>1</td>
<td>[ 0-2m ]-[ geb ]-[ Mickey Mouse ] Kaltgeräte Kabel</td>
<td>709</td>
</tr>
<tr>
<td>202201021030eB</td>
<td>1</td>
<td>2,5 Zoll SSD Flash Drive Notebook 240 GB</td>
<td>54</td>
</tr>
</table>

hab es dann angepasst und kam dann so raus:

Der Artikel Aopen DE35-HD 240 GB SSD ohne win 10 mit der Artikelnummer 202206291690eB-240 GB SSD-ohne muss geprüft werden ggf nachgebucht werden.
Die Stückliste unter dem Artikel Aopen DE35-HD 240 GB SSD ohne win 10 mit der Artikelnummer 202206291690eB-240 GB SSD-ohne muss geprüft werden ggf. nachgebucht werden.
Stücklistenkomponenten:


Artikelnummer: 202209261731eB
1
[Barebone] Aopen DE35-HD
Bestand: 443


Artikelnummer: 202205121670eB-1
2
Apacer 2GB SOD PC3-10600 CL9 SO-DIMM [1x2GB]
Bestand: 465


Artikelnummer: 202212121803eB
1
[Netzteil] [Out: 19V 3,42 A] Für Aopen DE35 HD oder DE3100
Bestand: 0


Artikelnummer: 202212121804eB
1
[ 0-2m ]-[ geb ]-[ Mickey Mouse ] Kaltgeräte Kabel
Bestand: 709


Artikelnummer: 202201021030eB
1
2,5 Zoll SSD Flash Drive Notebook 240 GB
Bestand: 54



Also vielen Dank, das ist genau das was ich brauchte.
 

frankell

Sehr aktives Mitglied
9. September 2019
2.557
777
Flensburg
Gerne! Schön, dass es funktioniert! :)

Aber bitte bedenken: Wenn nur dieser Workflow unter Artikel - Warenlagerausgang - Minusbuchung angelegt ist und auch bei einer Ausbuchung im Versandprozess funktionieren soll, funktioniert es gerade nicht. Siehe oben.

da die die html Kodierungen wenn ich diese in den Workflow eingefügt hab mit gesendet wurden

Da hättest Du auch einfach nur das Häkchen bei "HTML Email" in der Workflow-Aktion setzen können. Dadurch wird in der E-Mail alles hübsch als HTML ausgegeben, also ohne die Kodierungen. ;)

Hier noch mal mit zwei Mini-Korrekturen:

HTML:
{% if Vorgang.Artikel.Sonstiges.IstStückliste -%}
<p>Die Stückliste unter dem Artikel {{ Vorgang.Artikel.Allgemein.Stammdaten.Name }} mit der Artikelnummer {{ Vorgang.Artikel.Allgemein.Stammdaten.ArtNrSku }} muss geprüft werden ggf. nachgebucht werden.</p>
<p>Stücklistenkomponenten:</p>
{% capture query -%}
SELECT
    ART.cArtNr,
    ART.cName,
    CAST(SL.fAnzahl AS INT) AS fAnzahl,
    CAST(LB.fVerfuegbar AS INT) AS fVerfuegbar
FROM
    tStueckliste AS SL
JOIN
    vStandardArtikel AS ART ON SL.kArtikel = ART.kArtikel
JOIN
    tlagerbestand AS LB ON SL.kArtikel = LB.kArtikel
WHERE
    SL.kVaterArtikel = {{ Vorgang.Artikel.Allgemein.Stammdaten.InterneArtikelnummer }}
ORDER BY
    SL.nSort ASC
{% endcapture -%}
{% assign result = query | DirectQuery -%}
<style>
td {
  text-align: left;
  padding-right: 15px;
  border-bottom: 1px solid #ddd;
}
.bold {
  font-weight: bold;
}
</style>
<table>
<tr class="bold">
<td>cArtNr</td>
<td>cName</td>
<td>fAnzahl</td>
<td>fVerfuegbar</td>
</tr>
{% for item in result.Daten -%}
<tr>
<td>{{ item.cArtNr }}</td>
<td>{{ item.cName }}</td>
<td>{{ item.fAnzahl }}</td>
<td>{{ item.fVerfuegbar }}</td>
</tr>
{% endfor -%}
</table>
{% else -%}<p>Der Artikel {{ Vorgang.Artikel.Allgemein.Stammdaten.Name }} mit der Artikelnummer {{ Vorgang.Artikel.Allgemein.Stammdaten.ArtNrSku }} muss geprüft werden ggf. nachgebucht werden.</p>
{% endif -%}
 

info@it42life

Mitglied
14. September 2023
14
2
Gerne! Schön, dass es funktioniert! :)

Aber bitte bedenken: Wenn nur dieser Workflow unter Artikel - Warenlagerausgang - Minusbuchung angelegt ist und auch bei einer Ausbuchung im Versandprozess funktionieren soll, funktioniert es gerade nicht. Siehe oben.



Da hättest Du auch einfach nur das Häkchen bei "HTML Email" in der Workflow-Aktion setzen können. Dadurch wird in der E-Mail alles hübsch als HTML ausgegeben, also ohne die Kodierungen. ;)

Hier noch mal mit zwei Mini-Korrekturen:

HTML:
{% if Vorgang.Artikel.Sonstiges.IstStückliste -%}
<p>Die Stückliste unter dem Artikel {{ Vorgang.Artikel.Allgemein.Stammdaten.Name }} mit der Artikelnummer {{ Vorgang.Artikel.Allgemein.Stammdaten.ArtNrSku }} muss geprüft werden ggf. nachgebucht werden.</p>
<p>Stücklistenkomponenten:</p>
{% capture query -%}
SELECT
    ART.cArtNr,
    ART.cName,
    CAST(SL.fAnzahl AS INT) AS fAnzahl,
    CAST(LB.fVerfuegbar AS INT) AS fVerfuegbar
FROM
    tStueckliste AS SL
JOIN
    vStandardArtikel AS ART ON SL.kArtikel = ART.kArtikel
JOIN
    tlagerbestand AS LB ON SL.kArtikel = LB.kArtikel
WHERE
    SL.kVaterArtikel = {{ Vorgang.Artikel.Allgemein.Stammdaten.InterneArtikelnummer }}
ORDER BY
    SL.nSort ASC
{% endcapture -%}
{% assign result = query | DirectQuery -%}
<style>
td {
  text-align: left;
  padding-right: 15px;
  border-bottom: 1px solid #ddd;
}
.bold {
  font-weight: bold;
}
</style>
<table>
<tr class="bold">
<td>cArtNr</td>
<td>cName</td>
<td>fAnzahl</td>
<td>fVerfuegbar</td>
</tr>
{% for item in result.Daten -%}
<tr>
<td>{{ item.cArtNr }}</td>
<td>{{ item.cName }}</td>
<td>{{ item.fAnzahl }}</td>
<td>{{ item.fVerfuegbar }}</td>
</tr>
{% endfor -%}
</table>
{% else -%}<p>Der Artikel {{ Vorgang.Artikel.Allgemein.Stammdaten.Name }} mit der Artikelnummer {{ Vorgang.Artikel.Allgemein.Stammdaten.ArtNrSku }} muss geprüft werden ggf. nachgebucht werden.</p>
{% endif -%}
hab das jetzt mal mit den Häkchen gemacht, mein großen Respekt und Dank. Sieht richtig gut aus, danke dafür.
 

frankell

Sehr aktives Mitglied
9. September 2019
2.557
777
Flensburg

info@it42life

Mitglied
14. September 2023
14
2
Damit meinst Du Variationskombinationen, also Kindartikel, die ihrerseits Stücklistenväter sind? Da würde mir nicht mal ein Grund einfallen, warum das da nicht funktionieren sollte.
ich verstehe aber leider auch nicht das wenn ich den workflow Testen möchte, das diverse Artikel da im Vorschlag nicht auftauchen. Auch der Hauptartikel nicht
 

frankell

Sehr aktives Mitglied
9. September 2019
2.557
777
Flensburg
ich verstehe aber leider auch nicht das wenn ich den workflow Testen möchte, das diverse Artikel da im Vorschlag nicht auftauchen. Auch der Hauptartikel nicht

Gesetzt den Fall, dass der Workflow immer noch bei "Artikel - Warenlagerausgang - Minusbuchung" angelegt ist, werden, wenn man auf "Workflow testen" klickt, nur Warenlagerausgänge angezeigt. Die Liste sieht zwar aus wie eine allgemeine Artikelliste, ist es aber nicht. Ist ein Artikel noch nie ausgebucht worden, taucht er da auch nicht auf. Und wo ich das grad schrieb, kam mit dann die Idee, dass Stücklistenväter womöglich da überhaupt nicht auftauchen, da diese in Wahrheit nicht "ausgebucht" werden, sondern vielmehr die Stücklistenkinder. Und tatsächlich, so scheint es auch zu sein. :confused:

Erschwerend hinzu kommt, dass, auch wenn alle Minusbuchungen aufgelistet werden und man auch mit denen testen kann, der Workflow nicht (!) für Minusbuchungen funktioniert, die aus einem Versandprozess resultieren (siehe Beiträge 6, 7 und Ende 8).

Was Du in Beitrag 9 geschrieben hast, war das aus einem realen Prozess heraus oder "nur" aus dem "Workflow testen" heraus?
 

info@it42life

Mitglied
14. September 2023
14
2
Gesetzt den Fall, dass der Workflow immer noch bei "Artikel - Warenlagerausgang - Minusbuchung" angelegt ist, werden, wenn man auf "Workflow testen" klickt, nur Warenlagerausgänge angezeigt. Die Liste sieht zwar aus wie eine allgemeine Artikelliste, ist es aber nicht. Ist ein Artikel noch nie ausgebucht worden, taucht er da auch nicht auf. Und wo ich das grad schrieb, kam mit dann die Idee, dass Stücklistenväter womöglich da überhaupt nicht auftauchen, da diese in Wahrheit nicht "ausgebucht" werden, sondern vielmehr die Stücklistenkinder. Und tatsächlich, so scheint es auch zu sein. :confused:

Erschwerend hinzu kommt, dass, auch wenn alle Minusbuchungen aufgelistet werden und man auch mit denen testen kann, der Workflow nicht (!) für Minusbuchungen funktioniert, die aus einem Versandprozess resultieren (siehe Beiträge 6, 7 und Ende 8).

Was Du in Beitrag 9 geschrieben hast, war das aus einem realen Prozess heraus oder "nur" aus dem "Workflow testen" heraus?
Also deine Vermutung scheint zu stimmen, auch der Workflow an sich funktioniert nicht mit den Realen umständen.
Was ich aber testen konnte ist wenn ich allein beim Workflow Test ein Bauteil suche und den Artikel nehme wo das in der Beschreibung mit Vorkommt wird das auch umgesetzt. Jetzt ist die Frage wie bekommt man das mit den Workflow umgesetzt.
 

frankell

Sehr aktives Mitglied
9. September 2019
2.557
777
Flensburg
Also deine Vermutung scheint zu stimmen, auch der Workflow an sich funktioniert nicht mit den Realen umständen.
Was ich aber testen konnte ist wenn ich allein beim Workflow Test ein Bauteil suche und den Artikel nehme wo das in der Beschreibung mit Vorkommt wird das auch umgesetzt. Jetzt ist die Frage wie bekommt man das mit den Workflow umgesetzt.
Hm, dann muss man das Pferd von hinten aufzäumen. Man geht also nicht vom Stücklistenvater aus, sondern von den Stücklistenkindern.

Artikel-Workflow:
Prüfung, ob der Artikel zu einer Stückliste gehört. Wenn ja, dann Ausgabe der gesamten Stückliste mit den Verfügbarkeiten aller Stücklistenkinder. Nur: Wenn ein Artikel mehreren Stücklisten angehört, werden auch alle Stücklisten ausgegeben. Das Durchiterieren jeder Stückliste mit jeweiliger in sich geschlossener Ausgabe ist nicht profan.

Wenn auch Ausbuchungen aus Versandprozessen mit einbezogen werden sollen, muss man sich zunächst entscheiden, welcher Moment entscheidend sein soll.
Wenn es der Versandmoment sein soll, dann ein Lieferschein-Workflow, wenn es bereits die Reduzierung von "Verfügbar" sein soll, also Erstellung des Auftrags, dann Auftrags-Workflow:
Durchiterieren durch alle Artikel mit Prüfung, ob sie zu einer Stückliste gehören. Weiter wie oben. Hier hat man also ggf. mehrere Artikel, die auch noch ihrerseits zu mehreren Stücklisten gehören können.

Das ist echt nicht profan. :D
 

info@it42life

Mitglied
14. September 2023
14
2
Tut uns leid das wir uns so lange nicht gemeldet haben, wir hatte viele Probleme und den Weihnachtsverkauf der uns mächtig in die Schranken gesetzt hat, nun werden wir uns den Problem wieder zuwenden auch nochmal alles aufarbeiten.
Werden uns dies spezifisch gern nochmal melden wenn wir da nicht zurecht kommen und auch auf ihr Angebot zurück greifen.
 
  • Gefällt mir
Reaktionen: frankell
Ähnliche Themen
Titel Forum Antworten Datum
JTL POS an WaWi anbinden Hilfe benötigt JTL-Wawi 1.11 4
Rechnungen ohne Nummer beim Drucken/Mailen (Vorschau korrekt) - Hilfe benötigt JTL-Wawi 1.11 0
Hilfe: EK-Preise werden nicht beim Import importiert? JTL-Wawi 1.11 3
Neu Hilfe, Daten (Wawi) wurden geklaut Allgemeine Fragen zu JTL-Shop 5
Neu Reihenfolge der Länder (bei der Versandkostenberechnung) Betrieb / Pflege von JTL-Shop 2
Neu Workflow Ereignis "Position hinzufügen" bei Angebote User helfen Usern - Fragen zu JTL-Wawi 0
Neu Kundenrabatte bei Auftragsimport JTL-Ameise - Fehler und Bugs 0
Neu Rückverfolgung des Verkaufskanal bei Angeboten aus dem Shop User helfen Usern - Fragen zu JTL-Wawi 3
Neu Rückverfolgung des Verkaufskanal bei Angeboten aus dem Shop Eigene Übersichten in der JTL-Wawi 0
Neu welche Sync Benutzer Daten in Shop und WAWI bei neu-Hosting über JTL Allgemeine Fragen zu JTL-Shop 0
welche Sync Benutzer Daten in Shop und WAWI bei neu-Hosting über JTL JTL-Wawi 1.11 0
Neu Gelangensbestätigungen bei innergemeinschaftlichen Lieferungen? User helfen Usern - Fragen zu JTL-Wawi 1
Neu SaaS Connector – product.push Performance-Problem bei Shopware 6.6 Shopware-Connector 1
Neu Ständig neue Angebote von JTL und Fallen bei Unaufmerksamkeit Smalltalk 26
Export Zahlungen Amazon marketplace bei Kombi OSS und FBA erfolgt nach JTL2DATEV unvollständig JTL-Wawi 1.9 0
Neu Massive 504 Timeouts bei Bot-Crawl (JTL-Hosting) – PHP-Worker-Pool als Flaschenhals? JTL-Shop - Fehler und Bugs 2
Neu Hinweisfeld bei Versandarten: HTML Code möglich? Betrieb / Pflege von JTL-Shop 0
Neu Hinweis bei B2B-IGL User helfen Usern - Fragen zu JTL-Wawi 5
Aktualisierung Artikelbilder bei Kaufland nicht möglich? kaufland.de - Anbindung (SCX) 0
Neu Fehlermeldung bei Farbänderung im Nova oder Nova Child Theme Templates für JTL-Shop 2
Skonto bei Barzahlung wird angezeigt, aber nicht vom Rechnungsbetrag abgezogen JTL-Wawi 1.9 11
Neu Fehler bei Artikel Filter in der Wawi JTL-Wawi - Fehler und Bugs 2
Neu Bei Gutschein einlösen kein Rückgeld möglich Allgemeine Fragen zu JTL-POS 0
Neu SPAM durch die Eingabeseite bei den Kundendaten JTL-Shop - Fehler und Bugs 67
Inaktive Zahlungsart wird bei Eingangsrechnungen angezeigt JTL-Wawi 1.11 0
Neu Shopify Connector Fehlermeldung bei Kategoriebildern Shopify-Connector 6
Neu Eigenen Firmennamen bei eingehenden Anrufen anzeigen lassen Smalltalk 2
Neu Bei Abgleich steuerfreie Lieferung VAT ID importieren Shopify-Connector 3
Neu Lieferzeiten Angabe bei "wenn ausverkauft" und schon in Beschaffung ist Allgemeine Fragen zu JTL-Shop 0
Neu Wo ist der Worker Status hin? Bei mir ist in Version 1.11.4 nicht mehr zu finden? User helfen Usern - Fragen zu JTL-Wawi 7
Fehlerhafte Bestandsberechnung bei Stücklisten JTL-Wawi 1.9 0
Neu Rabatt auf Zahlungsart wird bei Lieferung ins EU-Ausland mit falscher MwSt berechnet? Betrieb / Pflege von JTL-Shop 0
Datenfiltereinstellung funktioniert bei Mail Vorlage nicht. JTL-Wawi 1.9 2
Neu Eingabefeld der PayPal Kreditkartenzahlung wird bei eingeloggten Kundenkonto nicht angezeigt JTL-Shop - Fehler und Bugs 1
Neu Wieder Rundungsdifferenzen bei Coupon! Shopware-Connector 2
Neu Alle Kindartikel in Beständen, bzw. bei Lager JTL-Wawi - Fehler und Bugs 1
Wichtig Änderungen bei der Installation des Shopify Connectors ab 01.01.2026 Shopify-Connector 0
Artikelnummern-Konflikt bei JTL-WaWi-Import aus Shopify, SEO-Ranking erhalten JTL-Wawi 1.10 1
Neu 503 Service Unavailable bei Payrexx Webhook nach Plugin-Update - wer hat das auch? Plugins für JTL-Shop 0
Neu DPD Fehler bei der Anmeldung JTL-ShippingLabels - Fehler und Bugs 1
Neu Fehler bei der Anmeldung nach Update auf 1.11.5 Installation von JTL-Wawi 11
letzter EK bei der Lagerbewertung JTL-Wawi 1.10 2
Steuer Einstellung bei Sonderpreis und nach OSS Landauswahl JTL-Wawi 1.10 0
Neu JTL-Shop 5.2.3 – Google-Shoppin-Plugin 2.3.0: Mehrere Rückgaberichtlinien (DE + Ausland) bei einem Feed / return_policy_label Plugins für JTL-Shop 0
Neu eBay Angebotsimport : Fehler bei der Kommunikation mit dem eA-Server eBay-Anbindung - Fehler und Bugs 0
Neu Fehlerhafte bzw, leere Labels bei DHL & DPD JTL-ShippingLabels - Fehler und Bugs 1
1.11.5 Weiterhin Absturz bei Aufruf des Zahlungsmoduls JTL-Wawi 1.11 6
Neu Sendungsnummern per Mail versenden bei mehreren Paketen User helfen Usern - Fragen zu JTL-Wawi 6
Neu Sendungsnummer bei Auslieferung an Shopify senden Shopify-Connector 3
Nummernkreis bei gesplitteten Aufträgen "#" Symbol in "-" ändern JTL-Wawi 1.10 1

Ähnliche Themen