Neu Ich brauche mal eure Hilfe da ich kein SQL kann!

gnarx

Sehr aktives Mitglied
18. Januar 2018
3.889
545
Ich brauche unbedingt eine SQL Abfrage für die Mailvorlagen und für die Rechnung.
Und zwar wird bei Teillieferung das im Feld Versandstatus angezeigt. Leider ist das nie als Variable vorhanden, auch nicht als Offene Artikel.
Jedenfalls nie dort wo ich es gebrauchen kann. Ich habe nun 2 Tage versucht das hinzubekommen, geiht nicht.

Vielleicht kann mir ja jemand ein SQL dafür hier posten.
 

MirkoWK

Sehr aktives Mitglied
14. März 2022
830
305
Vielleicht ist das was hier:

SQL:
SELECT
    CASE
        WHEN SUM(fAnzahlGeliefert) = 0 THEN 'offen'
        WHEN SUM(fAnzahlOffen) = 0 THEN 'geliefert'
        ELSE 'teilgeliefert'
    END AS 'Status'
FROM
    Verkauf.tAuftragPositionEckdaten
WHERE
    kAuftrag = [AuftragsID]

Viele Grüße
Mirko
 
  • Gefällt mir
Reaktionen: gnarx

gnarx

Sehr aktives Mitglied
18. Januar 2018
3.889
545
Kannst du bitte für mich Doofen genau sagen wie ich das in eine Mail einbinde bzw. auch in die Rechnung?
 

MirkoWK

Sehr aktives Mitglied
14. März 2022
830
305
für die Rechnung musste ich den Code grundsätzlich noch etwas anpassen, da der Bezug ein anderer ist. Hatte das versehentlich für die Auftragsebene gemacht..
Das in den eckigen Klammern war als Platzhalter gedacht ;) :

Druckvorlage Rechnung:
SQL:
COND(JTL_DirectQuery("SELECT
    CASE
        WHEN SUM(eck.fAnzahlGeliefert) = 0 THEN 'offen'
        WHEN SUM(eck.fAnzahlOffen) = 0 THEN 'geliefert'
        ELSE 'teilgeliefert'
    END AS 'Status'
FROM
    Verkauf.tAuftragPositionEckdaten eck
    LEFT JOIN tRechnung r ON r.tBestellung_kBestellung = eck.kAuftrag
WHERE
    r.kRechnung = " + str$(Report.InternalId,0,0))='teilgeliefert','-Teillieferung')

Mailvorlage Rechnung:
SQL:
{%- capture query -%}
SELECT
    CASE
        WHEN SUM(eck.fAnzahlGeliefert) = 0 THEN 'offen'
        WHEN SUM(eck.fAnzahlOffen) = 0 THEN 'geliefert'
        ELSE 'teilgeliefert'
    END AS 'Status'
FROM
    Verkauf.tAuftragPositionEckdaten eck
    LEFT JOIN tRechnung r ON r.tBestellung_kBestellung = eck.kAuftrag
WHERE
    r.kRechnung = {{ Report.InternalId }}
{%- endcapture -%}
{%- assign result = query | DirectQueryScalar -%}
{%- if result == 'teilgeliefert' -%}Teillieferung{%- endif -%}

Hoffe das hilft.
 
  • Gefällt mir
Reaktionen: gnarx

Ähnliche Themen