Teillieferung erlauben

Hendrik_1971

Aktives Mitglied
26. Juli 2022
38
0
Hallo,
kann mir jemand sagen, wie ich abfragen kann ob im Auftrag/Ausliefern Teillieferung erlauben aktiviert wurde?

Hintergrund ist, dass ich gerne allen Aufträge die Teillieferung erlauben einen Farbstatus geben möchte für die Übersicht in WMS
 
Zuletzt bearbeitet:

frankell

Sehr aktives Mitglied
9. September 2019
2.300
695
Flensburg
Ah, über einen Workflow. Das wäre doch mal nen Hinweis am Anfang wert gewesen.

Ich glaube, das geht nur über ne Erweiterte Eigenschaft. Hier ein Beispiel mit dem Rückgabetyp Boolean:

SQL:
{% capture query -%}
SELECT
    nWMSTeillieferung
FROM
    Verkauf.lvAuftragsverwaltung
WHERE
    kAuftrag = {{ Vorgang.Stammdaten.InterneAuftragsnummer }}
{% endcapture -%}
{% assign result = query | DirectQueryScalar -%}
{% if result -%}True{% else -%}False{% endif -%}
 

Hendrik_1971

Aktives Mitglied
26. Juli 2022
38
0
Hey Frankell,
danke für die Antwort. Kann es sein, dass nWMSTeillieferung erst gesetzt wird wenn die Auslieerung erfolgt?
Ich suche den Marker, der gesetzt wird wenn ich in WAWI im Fenster "Ausliefern" Teillieferung aktiviere.

Ich hatte noch dbo.tPicklisteVorlage (nTeillieferungen ) gefunden aber das scheint auch nicht zu funktionieren

oder kunde.lvauftraege (nWMSTeillieferung)
Aber bei letzterem bekomme ich keine Antwort :(
Irgendwie habe ich einen Denkfehler drin...
 

Hendrik_1971

Aktives Mitglied
26. Juli 2022
38
0
Ok danke. Kannst du mir mit der Abfrage noch mal helfen weil ich den Bezug zum aktuellen Afutrag nicht hinbekomme.

{% capture query -%}
SELECT
nTeillieferungErlaubt
FROM
tBestellungWMSFreigabe
WHERE
kAuftrag = ?????
{% endcapture -%}
{% assign result = query | DirectQueryScalar -%}
{% if result -%}True{% else -%}False{% endif -%}
 

MirkoWK

Sehr aktives Mitglied
14. März 2022
810
294
es müsste in deiner Fragezeichen-Zeile heißen:

kBestellung = {{ Vorgang.Stammdaten.InterneAuftragsnummer }}
 

Hendrik_1971

Aktives Mitglied
26. Juli 2022
38
0
da bekomme ich aber immer ein false zurück

{% capture query -%}
SELECT
nTeillieferungErlaubt
FROM
tBestellungWMSFreigabe
WHERE
kBestellung = {{ Vorgang.Stammdaten.InterneAuftragsnummer }}
{% endcapture -%}
{% assign result = query | DirectQueryScalar -%}
{% if result -%}True{% else -%}False{% endif -%}
 

MirkoWK

Sehr aktives Mitglied
14. März 2022
810
294
es ist doch etwas komplizierter, da in der Tabelle eine Chronologie vorhanden ist und man nach dem aktuellen Wert schauen muss, da die Option ja mal gesetzt oder wieder entfernt werden kann.

Daher sollte es so gehen:

SQL:
{% capture query -%}
DECLARE @KEY AS INT = {{ Vorgang.Stammdaten.InterneAuftragsnummer }}
DECLARE @MAXDATUM AS DATETIME = (SELECT MAX(dZeitstempel) FROM tBestellungWMSFreigabe WHERE kBestellung = @KEY);


SELECT
    nTeillieferungErlaubt
FROM
    tBestellungWMSFreigabe
WHERE
    kBestellung = @KEY
    AND dZeitstempel = @MAXDATUM
{% endcapture -%}
{% assign result = query | DirectQueryScalar -%}
{% if result == 1 -%}True{% else -%}False{% endif -%}
 

MirkoWK

Sehr aktives Mitglied
14. März 2022
810
294
ich würde in erster Linie immer erstmal im Workflow direkt einen Vorschauauftrag aussuchen, in dem Fall einen mit und einen ohne teilliefern und dort mal schauen, was die result-Variable ausgibt - das kann man dann besser interpretieren. bei mir im Test hatte es funktioniert.
 

Hendrik_1971

Aktives Mitglied
26. Juli 2022
38
0
Hey Mirko,
ja hatte ich gemcht aber dummerweise 2 Aufträge dir den Status nicht gesetzt hatten. Meine Doofheit ;-(
Klappt super. Besten Dank