SQL-Abfrage für eigene Übersicht im Verkauf – Aufträge zu Angeboten prüfen

Andrej Jr

Mitglied
25. Februar 2025
12
1
Hallo zusammen,

ich möchte in JTL-Wawi eine SQL-Abfrage erstellen, die mir eine Übersicht aller Angebote zeigt, zu denen bereits ein Auftrag existiert. Die Abfrage soll folgende Daten ausgeben:

  • Auftragsnummer
  • Auftragsstatus
  • Auftrag Erstell-Datum
  • Benutzer, der den Auftrag erstellt hat
Mein aktueller Ansatz:

SQL:
SELECT o.cAuftragsnr AS [Auftragsnummer], o.cStatus AS [Auftragsstatus], o.dErstelldatum AS [Auftrag Erstell Datum], b.cName AS [Erstellt von]

FROM [eazybusiness].[Auftrag].[tAuftrag] o JOIN [eazybusiness].[Angebot].[tAngebot] a ON o.kAngebot = a.kAngebot LEFT JOIN [eazybusiness].[dbo].[tBenutzer] b ON o.kBenutzer = b.kBenutzer

WHERE a.kAngebot = @Key -- Hier den Platzhalter @Key verwenden


Trotz dieses Ansatzes funktioniert die Abfrage nicht richtig. Ich suche dringend nach einer funktionierenden Lösung oder alternativen Ideen. Vielen Dank im Voraus für eure Unterstützung!
 
Zuletzt bearbeitet:

MirkoWK

Sehr aktives Mitglied
14. März 2022
835
305
ich möchte in JTL-Wawi eine SQL-Abfrage erstellen, die mir eine Übersicht aller Angebote zeigt, zu denen bereits ein Auftrag existiert. Die Abfrage soll folgende Daten ausgeben:

Hi, schau mal, ob das hier weiterhilft:
(Deine Wawi-Version wäre natürlich interessant)

SQL:
SELECT
    o.cAuftragsnr AS 'Angebotsnummer',
    o.nAuftragStatus AS 'Angebotsstatus',
    --o.nKomplettAusgeliefert AS 'Angebots-Lieferstatus', -- alternativ
    o2.cAuftragsNr AS 'Auftragsnummer',
    o2.nAuftragStatus AS 'Auftragsstatus',
    --o2.nKomplettAusgeliefert AS 'Auftrags-Lieferstatus', -- alternativ
    o2.dErstellt AS 'Auftrag Erstell Datum',
    b.cName AS 'Auftrag Erstellt von'
FROM
    Verkauf.tAuftrag o
    LEFT JOIN Verkauf.tAuftrag o2 ON o2.kAuftragQuelle = o.kAuftrag AND o2.nType = 1 AND o.nType = 0
    LEFT JOIN tBenutzer b ON o2.kBenutzer = b.kBenutzer
WHERE
    o.nType = 0
    AND o2.kAuftrag IS NOT NULL
    --AND o.kAuftrag = @KEY -- Kommentar entfernen, wenn alle zu sehen sein sollen
ORDER BY
    o.dErstellt DESC

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

der-rasenmaeher.de

Aktives Mitglied
23. Juli 2009
74
7
Hallo,
ich habe 1.9.8.0 und würde gerne eine Eigene Übersicht erstellen.
Habe aber nicht das Richtige gefunden.
Ich möchte in der Eigenen Übersicht in Verkauf folgendes haben:
- Artikelnummer
- HAN
- Positionsname
- Durchschn Einkaufspreis(netto)
- Brutto-VK
- Hersteller
- Warengruppe
Hat schon jemand solch einen SQL-Befehl oder kann mir das erstellen?

Vielen Dank und Gruß
Peter
 

frankell

Sehr aktives Mitglied
9. September 2019
2.685
840
Flensburg
Hallo Peter,

da das relativ simpel war:

SQL:
SELECT 
    AP.fAnzahl AS 'Menge', 
    ART.cArtNr AS 'Artikelnr.', 
    ART.cHAN AS 'HAN', 
    AP.cName AS 'Positionsname', 
    ART.fEKNetto AS 'EK netto', 
    ART.fVKNetto*1.19 AS 'VK brutto Std', 
    AP.fVkNetto*1.19 AS 'VK brutto Pos', 
    H.cName AS 'Hersteller', 
    WG.cName AS 'Warengruppe' 
FROM 
    Verkauf.tAuftragPosition AS AP 
    LEFT JOIN tArtikel AS ART ON AP.kArtikel = ART.kArtikel 
    LEFT JOIN tWarengruppe AS WG ON ART.kWarengruppe = WG.kWarengruppe 
    LEFT JOIN tHersteller AS H ON ART.kHersteller = H.kHersteller 
WHERE 
    AP.kAuftrag =
@key

Es werden alle Positionen ausgegeben, also nicht nur Artikelpositionen. Du hast zwar keine Mengenangabe genannt, aber sollte vielleicht dennoch enthalten sein. Die sonstigen Zahlenwerte beziehen sich aber auf je ein Stück.

VG,
Frank
 

der-rasenmaeher.de

Aktives Mitglied
23. Juli 2009
74
7
Hallo Frank,
vielen Dank für deine Mühe,
Es wird leider nur die Überschrift angezeigt, was mache ich falsch?
Gruß
Peter
 

dapole

Sehr aktives Mitglied
27. Oktober 2014
155
30
Du musst schon eineen Auftrag anklicken, damit die 'Werte' für deienen gewählten Auftrag angezeigt wqerden können ....

[...]

LEFT JOIN tHersteller AS H ON ART.kHersteller = H.kHersteller
WHERE
AP.kAuftrag =
@key
[...]

-> @key: Der selektierte Datensatz (markierte) -> Ist kein Datensatz m arkiert, gibt es auch keine Werte
 

frankell

Sehr aktives Mitglied
9. September 2019
2.685
840
Flensburg
Hallo Peter,

Angezeigt wird nur etwas, wenn Du auch einen Auftrag oben in der Liste auswählst. 🙂
 

frankell

Sehr aktives Mitglied
9. September 2019
2.685
840
Flensburg
Sorry, die Beiträge wurden mir noch nicht angezeigt. Sonst hätte ich mir den vorher ja sparen können.

Du hast aber auch mindestens JTL Advanced, oder?
 

frankell

Sehr aktives Mitglied
9. September 2019
2.685
840
Flensburg
Ok, dann liegt es daran schon mal nicht.

Auch wenn es nicht dran scheitern sollte, aber nimm mal en Zeilenumbruch zwischen AP.kAuftrag = und @key weg und schreibe das k von @key groß, also:

AP.kAuftrag = @Key

Das ist eigentlich nur Kosmetik, aber nur um sicherzugehen.

Ansonsten könnte ich mir das nicht erklären, bei mir funktioniert es. Getestet in einer 1.9.7.0 und einer 1.10.10.4.

BIst Du auch sicher, dass Du die Eigene Übersicht im Bereich "Verkauf" erstellt hast?
 

frankell

Sehr aktives Mitglied
9. September 2019
2.685
840
Flensburg
Nimm mal bitte nur zum Test die ganzen Berechtigungen weg, so dass da am Ende nur steht: Für alle Benutzergruppen sichtbar.
 

frankell

Sehr aktives Mitglied
9. September 2019
2.685
840
Flensburg
Andere "Eigene Übersichten" funktionieren aber, oder? Nicht dass am Ende nur die Lizenz für die Eigenen Übersichten fehlt. 🙂

Wenn es aber auch daran nicht liegt, dann würde ich mal ein Ticket bei JTL aufmachen. Am Code selbst liegt es ja nicht.
 

der-rasenmaeher.de

Aktives Mitglied
23. Juli 2009
74
7
... jetzt habe ich die Lösung.
Das Feld, in dem die Positionen angezeigt werden, war zu klein🤦‍♂️ - da soll man drauf kommen.
Allerdings sind alle Zahlen mit 10 Stellen hinter dem Komma angegeben
 

frankell

Sehr aktives Mitglied
9. September 2019
2.685
840
Flensburg
😀

Geht auch mit weniger/ohne Nachkommastellen:

SQL:
SELECT
    CAST(AP.fAnzahl AS INT) AS 'Menge',
    ART.cArtNr AS 'Artikelnr.',
    ART.cHAN AS 'HAN',
    AP.cName AS 'Positionsname',
    ART.fEKNetto AS 'EK netto',
    CAST(ART.fVKNetto*1.19 AS MONEY) AS 'VK brutto Std',
    CAST(AP.fVkNetto*1.19 AS MONEY) AS 'VK brutto Pos',
    H.cName AS 'Hersteller',
    WG.cName AS 'Warengruppe'
FROM
    Verkauf.tAuftragPosition AS AP
    LEFT JOIN tArtikel AS ART ON AP.kArtikel = ART.kArtikel
    LEFT JOIN tWarengruppe AS WG ON ART.kWarengruppe = WG.kWarengruppe
    LEFT JOIN tHersteller AS H ON ART.kHersteller = H.kHersteller
WHERE
    AP.kAuftrag = @Key
 
  • Gefällt mir
Reaktionen: hula1499

Ähnliche Themen