Neu Workflow - Stücklisten im Auftrag abfragen und korrekt in einer Mail auflisten

Ahok

Gut bekanntes Mitglied
11. September 2023
345
17
Hallo zusammen,

ich habe unten einen Code, der alle Auftragspositionen durchgeht und diese in einer Mail auflistet, wenn die Firma XYZ entweder Standard-Lieferant oder Standard-Dropshipper für diesen Artikel ist.

Das Problem:
Diese Aufträge können auch Stücklisten enthalten. Momentan listet dieser Code nur die Artikel in der Stückliste auf, wenn die Bedingungen zutreffen, nicht aber die Stückliste selbst. Gewünscht wäre, dass dann die Stückliste aufgelistet wird, der zugehörige Artikel aber nicht. Ebenso stimmt die Menge nicht in Bezug auf die Stückliste.

Beispiel:
Stückliste = "12er Karton Gurken"
Artikel in der Stückliste = "Gurke"
Die Stückliste wurde 6 mal bestellt.

Momentan listet der Code auf:
72x Gurken

Er sollte aber stattdessen auflisten:
6x 12 Karton Gurken

Da ich nicht sicher bin, wie ich Stücklisten dieser SQL Abfrage hinzufüge und in unseren Stücklisten keine Lieferanten gesetzt sind, stehe ich hier leider komplett auf dem Schlauch. Fällt jemanden ein Lösungsansatz ein?

LG Ahok

Code:
{% capture query -%}
select cNameStandard,fAnzahl,cEinheit, tartikel.fMassMenge, tMassEinheitSprache.cname from verkauf.tAuftragPosition
join tliefartikel on verkauf.tAuftragPosition.kArtikel = tliefartikel.tArtikel_kArtikel
join tlieferant on tliefartikel.tLieferant_kLieferant = tlieferant.kLieferant
join tartikel ON verkauf.tAuftragPosition.kArtikel = tartikel.kArtikel
join tMassEinheitSprache ON tartikel.kMassEinheit = tMassEinheitSprache.kMassEinheit
where
verkauf.tAuftragPosition.kAuftrag = {{ Vorgang.Stammdaten.InterneAuftragsnummer }}
and tlieferant.cFirma = 'XYZ'
and nDropShippingStandard = 1
OR verkauf.tAuftragPosition.kAuftrag = {{ Vorgang.Stammdaten.InterneAuftragsnummer }}
and tlieferant.cFirma = 'XYZ'
and nStandard = 1
{% endcapture -%}
{% assign result = query | DirectQuery -%}

<hr>
<h3 style="text-align:center;">Lieferadresse</h3>
<hr>
<table>
    <tr><th></th><td><br></td></tr>
    <tr><th style="text-align:left;">Firma:</th><td style="padding:0 0 0 15px;">{{ Vorgang.Lieferung.Lieferadresse.Firma }}</td></tr>
    <tr><th style="text-align:left;">Name:</th><td style="padding:0 0 0 15px;">{{ Vorgang.Lieferung.Lieferadresse.Vorname }} {{ Vorgang.Lieferung.Lieferadresse.Name }}</td></tr>
    <tr><th style="text-align:left;">Straße:</th><td style="padding:0 0 0 15px;">{{ Vorgang.Lieferung.Lieferadresse.Straße }}</td></tr>
    <tr><th style="text-align:left;">PLZ:</th><td style="padding:0 0 0 15px;">{{ Vorgang.Lieferung.Lieferadresse.PLZ }} {{ Vorgang.Lieferung.Lieferadresse.Ort }}</td></tr>
    <tr><th></th><td><br></td></tr>
    <tr><th style="text-align:left;">Voraussichtliches Lieferdatum:</th><td style="padding:0 0 0 15px;">{{ Vorgang.Lieferung.VoraussichtlichesLieferdatum | Datum: 'dd.MM.yyyy'}}</td></tr>
    <tr><th style="text-align:left;">Versandart:</th><td style="padding:0 0 0 15px;">{{ Vorgang.Lieferung.Versandart.Name }}</td></tr>
{% if Vorgang.Sonstiges.Anmerkung == '' -%}
{% else -%}
    <tr><th></th><td><br></td></tr>
    <tr><th style="text-align:left;">Anmerkung:</th></tr>
    <tr><td>{{ Vorgang.Sonstiges.Anmerkung }}</td></tr>
{% endif -%}
    <tr><th></th><td><br></td></tr>
</table>
<hr>
<h3 style="text-align:center;">Bestellpositionen</h3>
<hr>
<table style="width:100%;" cellpadding="10">
    <tr>
        <th style="text-align:right; border-bottom:solid 1px #131e3d;">Menge</th>
        <th style="border-bottom:solid 1px #131e3d;">Artikelname</th>
        <th style="text-align:right; border-bottom:solid 1px #131e3d;">Verkaufseinheit</th>
        <th style="text-align:right; border-bottom:solid 1px #131e3d;">Menge</th>
        <th style="text-align:left; border-bottom:solid 1px #131e3d;">je Bestelleinheit</th>
    </tr>
{% for item in result.Daten %}<tr><td style="text-align:right;">{{ item.fAnzahl | Nummer: 'N0'}}</td><td>{{ item.cNameStandard }}</td><td style="text-align:right;">{{ item.cEinheit }}</td><td style="text-align:right;">{{ item.fMassMenge| Nummer: 'N2' }}</td><td style="text-align:left;">{{ item.cName }}</td>
{% endfor -%}
</table>
 
Zuletzt bearbeitet:

Ahok

Gut bekanntes Mitglied
11. September 2023
345
17
Ich würde mich schon freuen, wenn mir jemand zeigen könnte, wie ich die Stücklisten joine. Ich habe es selbst versucht, wie unten zu sehen, aber dann gibt die Mail einfach gar nichts aus.

Code:
{% capture query -%}
select cNameStandard,fAnzahl,cEinheit, tartikel.fMassMenge, tMassEinheitSprache.cname from verkauf.tAuftragPosition
join tliefartikel on verkauf.tAuftragPosition.kArtikel = tliefartikel.tArtikel_kArtikel
join tlieferant on tliefartikel.tLieferant_kLieferant = tlieferant.kLieferant
join tartikel ON verkauf.tAuftragPosition.kArtikel = tartikel.kArtikel
join tStueckliste ON tAuftragPosition.kArtikel = tStueckliste.kArtikel
join tMassEinheitSprache ON tartikel.kMassEinheit = tMassEinheitSprache.kMassEinheit
where
verkauf.tAuftragPosition.kAuftrag = {{ Vorgang.Stammdaten.InterneAuftragsnummer }}
{% endcapture -%}
{% assign result = query | DirectQuery -%}
 

Ähnliche Themen