Neu Vermerk Teillieferung auf Lieferschein ausgeben

  • Ersteller des Themas Ersteller des Themas GaKa
  • Erstellungsdatum Erstellungsdatum

GaKa

Aktives Mitglied
15. Juli 2021
5
2
Hallo Liebes Forum,

ich würde gerne bei einer Teillieferung einen entsprechenden Vermerk auf dem Lieferschein ausgeben lassen. Da manche Bestellungen aufgrund des Drop-Shipments auf mehrere Teillieferung aufesplittet wird und ohne diesen Vermerk die Kunden teils verwirrt sind ob wir Positionen storniert oder gar vergesssen haben. Leider konnte ich im Forum dazu nichts finden und es wäre klasse, wenn jemand hierzu eine Lösung hätte.

Über die Suche bin ich bereits auf die Ausgabe der Rückstände auf dem Lieferschein gestoßen (https://forum.jtl-software.de/threa...illieferung-auf-lieferschein-ausgeben.123711/) was allerdings für mich leider nicht passt, da ja beide Lieferscheine zeitgleich / bzw, kurz hintereinander erstellt werden und somit keine wirklichen Rückstände entstehen. Da es auch diverse Lieferungen gibt die nur aus einem Lieferschein bestehen, ist ein Dauerhaftervermerk auf dem Lieferschein leider auch nicht wirklich praktikabel.

Gibt es hier eine "einfache" Lösung für dieses Problem?

Ich bedanke mich herzlich im Vorfeld für eure Hilfe bei meinem Problem
 
  • Gefällt mir
Reaktionen: SOLIX

frankell

Sehr aktives Mitglied
9. September 2019
2.685
841
Flensburg
Hallo Daniel,

Du kannst folgenden Code in einer alten Vorlage (deutsche Variablenbegriffe) verwenden:

Code:
If(JTL_DirectQuery("
IF
    EXISTS(
        SELECT 1
        FROM tLieferscheinPos AS LP
        JOIN Verkauf.tAuftragPosition AS AP ON LP.kBestellPos = AP.kAuftragPosition
        WHERE LP.fAnzahl < AP.fAnzahl AND AP.kAuftrag = "+str$(Vorgang.Auftrag.InterneAuftragsnummer)+"
    )

    OR

    (
        SELECT COUNT(*)
        FROM Verkauf.tAuftragPosition
        WHERE kAuftrag = "+str$(Vorgang.Auftrag.InterneAuftragsnummer)+" AND nType <> 2
    )
    >
    (
        SELECT COUNT(*)
        FROM tLieferscheinPos
        WHERE kLieferschein = "+str$(Vorgang.InterneLieferscheinnummer)+"
    )

SELECT 1;
") = "1", "Teillieferung")

Den String Teillieferung kannst Du natürlich nach eigenem Belieben ändern.

Was macht der Code:
Der erste Teil überprüft, ob es eine Lieferscheinposition gibt, deren Menge kleiner ist als die der entsprechenden Auftragspositionen. Der zweite Teil prüft, ob es im Auftrag mehr Positionen gibt als Lieferscheinpositionen. Die Versandposition des Auftrags wird nicht mitgezählt, denn die landet auch nicht im Lieferschein.

Ist mindestens ein Teil zutreffend, wird 1 ausgegeben, und die 1 wiederum sorgt für die Ausgabe des Strings.

In neuen Vorlagen (englische Variablenbegriffe) muss nur die Variable Vorgang.Auftrag.InterneAuftragsnummer durch ihre Entsprechung ersetzt werden.

Und letzter Hinweis: Außer der Artikel- und Versandposition gibt es noch mehr Auftragspositionstypen wie Verpackungen und Gebühren etc., die hier nicht ausgeschlossen werden.

VG,
Frank
 
  • Gefällt mir
Reaktionen: zuhcap

Ähnliche Themen