akBenutzer
Gut bekanntes Mitglied
Hallo,
ich würde gerne einen Workflow erstellen, mit dem ich dem Anwender in der JTL-Wawi anzeigen kann, in welchen Lagerplätzen der Artikel sich befindet. Wir haben das Problem, dass bestimmte Artikel auf Klärplätzen vorhanden sind und dadurch nicht verfügbar sind. Laut Wawi sind sie in der Artikelübersicht aber in der WMS vorhanden und dies kann beim Support zu Verwirrungen führen, da man nicht immer Zugriff auf JTL-WMS hat und sich anschauen kann, ob der Artikel nun auf einem Klärplatz liegt oder nicht.
Hierzu habe ich nun eine Abfrage geschrieben, die ich dann über den Winpopper ausgeben lassen will:
Also zur Erläuterung:
1. Die // Kommentarzeilen habe ich nur für dieses Forum eingefügt, diese sind bei Nutzung zu entfernen
2. Ablauf: Ich laufe über alle Artikel und mache 2 Abfragen über die Datenbank um die Anzahl der Artikel und den Warenlagerplatznamen zu erhalten.
3. Mein Problem ist die endgültige Darstellung ich möchte die Zeile:
Artikelnummer {{ pos.Artikelnummer }} liegt {{ AnzahlArtikel }}x in {{ WarenlagerPlatzName }}
in jedem Durchlauf in eine Variable/Capture anfügen.
Aber ich habe derzeit keine Idee wie dies funktionieren soll. In dieser Ausführung ist im {{ result }} natürlich nur der letzte Artikel des Durchlaufs vorhanden.
Kann mir jemand sagen, wie ich das lösen kann?
1. Meine Ideen hierzu wären, dass ich dies als Erweiterte Eigenschaft anlege, aber wie greife ich auf die Erweiterte Eigenschaft als Variable zu damit ich sie mit dem --text "" ausgeben kann?
2. Es irgendwie hinbekommen, dass der gewünschte Text in einem Platzhalter angefügt und nicht überschrieben wird.
Danke
Gruß Artur
ich würde gerne einen Workflow erstellen, mit dem ich dem Anwender in der JTL-Wawi anzeigen kann, in welchen Lagerplätzen der Artikel sich befindet. Wir haben das Problem, dass bestimmte Artikel auf Klärplätzen vorhanden sind und dadurch nicht verfügbar sind. Laut Wawi sind sie in der Artikelübersicht aber in der WMS vorhanden und dies kann beim Support zu Verwirrungen führen, da man nicht immer Zugriff auf JTL-WMS hat und sich anschauen kann, ob der Artikel nun auf einem Klärplatz liegt oder nicht.
Hierzu habe ich nun eine Abfrage geschrieben, die ich dann über den Winpopper ausgeben lassen will:
Code:
{% for pos in Vorgang.AuftragsPositionen.Artikelpositionen -%}
// Alle Artikel eines Auftrags durchlaufen und die Summe der Warenbestände herausfinden
{% capture query1 %}
SELECT twarenlagerEingang.kWarenLagerPlatz, twarenlagerEingang.kArtikel,
CAST(SUM(twarenlagerEingang.fAnzahlAktuell) AS INT) AS fAnzahl
FROM twarenlagerEingang
JOIN dbo.tWarenLagerPlatzArtikel
ON tWarenLagerPlatzArtikel.kArtikel = tWarenLagerEingang.kArtikel
AND tWarenLagerPlatzArtikel.kWarenLagerPlatz = tWarenLagerEingang.kWarenLagerPlatz
INNER JOIN dbo.tWarenLagerPlatz
ON tWarenLagerPlatz.kWarenLagerPlatz = tWarenLagerEingang.kWarenLagerPlatz
where tWarenLagerPlatzArtikel.kArtikel = {{ pos.InterneArtikelnummer }}
and dbo.tWarenLagerPlatz.kWarenLagerPlatzTyp != 5
and dbo.tWarenLagerPlatz.kWarenLager = 2
GROUP BY twarenlagerEingang.kArtikel, twarenlagerEingang.kWarenLagerPlatz
{% endcapture -%}
{% assign kWarenlagerPlatz = query1 | DirectQuery -%}
{% for daten in kWarenlagerPlatz.Daten -%}
{% if daten.fAnzahl > 0 -%}
// Wenn der Artikel im WMS mit bestimmten Plätzen liegt, dann speichere die Anzahl für die spätere Nutzung
{% assign AnzahlArtikel = daten.fAnzahl -%}
// Ermittle den Namen des Warenlagerplatzes
{% capture query2 %}
select wlp.cName
from tWarenLagerPlatz wlp
where wlp.kWarenLagerPlatz = {{ daten.kWarenlagerPlatz }}
{% endcapture -%}
// Speichere den Warenlagerplatznamen für die spätere Nutzung
{% assign kWarenlagerPlatzName = query2 | DirectQuery -%}
{% for data in kWarenlagerPlatzName.Daten -%}
{% assign WarenlagerPlatzName = data.cName -%}
{% endfor -%}
// !!!! Problem !!!!
// Abfragenergebnis in einen Platzhalter einfügen:
{% capture result -%}
Artikelnummer {{ pos.Artikelnummer }} liegt {{ AnzahlArtikel }}x in {{ WarenlagerPlatzName }}
{% endcapture -%}
{% endif -%}
{% endfor -%}
{% endfor -%}
--text "{{ result }}"
Also zur Erläuterung:
1. Die // Kommentarzeilen habe ich nur für dieses Forum eingefügt, diese sind bei Nutzung zu entfernen
2. Ablauf: Ich laufe über alle Artikel und mache 2 Abfragen über die Datenbank um die Anzahl der Artikel und den Warenlagerplatznamen zu erhalten.
3. Mein Problem ist die endgültige Darstellung ich möchte die Zeile:
Artikelnummer {{ pos.Artikelnummer }} liegt {{ AnzahlArtikel }}x in {{ WarenlagerPlatzName }}
in jedem Durchlauf in eine Variable/Capture anfügen.
Aber ich habe derzeit keine Idee wie dies funktionieren soll. In dieser Ausführung ist im {{ result }} natürlich nur der letzte Artikel des Durchlaufs vorhanden.
Kann mir jemand sagen, wie ich das lösen kann?
1. Meine Ideen hierzu wären, dass ich dies als Erweiterte Eigenschaft anlege, aber wie greife ich auf die Erweiterte Eigenschaft als Variable zu damit ich sie mit dem --text "" ausgeben kann?
2. Es irgendwie hinbekommen, dass der gewünschte Text in einem Platzhalter angefügt und nicht überschrieben wird.
Danke
Gruß Artur
Zuletzt bearbeitet: