Neu Kundengruppen Preis in den Erweiterten Eigenschaften abfragen

JuergenSaenger

Sehr aktives Mitglied
19. August 2013
462
59
Genthin
Für einen Workflow, möchte ich mir über die Erweiterten Eigenschafen den Brutto VK (Variable vorhanden), den EK (Variable vorhanden, und die Preise von zwei Kundengruppen anzeigen lassen.

Leider findet man in keinem der Fragen im Forum, die Lösung wie ich den Preis für Kundengruppe XY abfrage.

Hat jemand vielleicht die Lösung?

1588966995401.png
 

fluxel

Aktives Mitglied
17. April 2019
31
10
Hückelhoven
Hallo Jürgen,

die Preise in der Wawi sind zusätzlich noch nach der Plattform aufgefächert (z.B. Onlineshop). Möchtest du die Preise der Kundengruppe aus der Sicht der Wawi oder aus er Sicht eines Shops angezeigt haben?

Gruß
Hendrik
 

JuergenSaenger

Sehr aktives Mitglied
19. August 2013
462
59
Genthin
Hallo Jürgen,

die Preise in der Wawi sind zusätzlich noch nach der Plattform aufgefächert (z.B. Onlineshop). Möchtest du die Preise der Kundengruppe aus der Sicht der Wawi oder aus er Sicht eines Shops angezeigt haben?

Gruß
Hendrik
Wieder was gelernt, was ja eigentlich offensichtlich ist ... Danke! :)

Ich benötige die Preise für JTL-WaWi. Wir würden real.de gerne als weiteren " Shop" anbinden, aber dafür ne Multishop Lizenz ist es dann - aktuell - nicht wert ...

1589018904233.png
 

fluxel

Aktives Mitglied
17. April 2019
31
10
Hückelhoven
BTW: Wenn du Unicorn nutzt, wird der Shop für die Plattform auch ohne Multishop-Lizenz angelegt. Es reicht aber die Preise beim " JTL-Wawi "-Tab zu setzen und macht die Abfrage auch etwas leichter.

Nun zu deinem Problem:

Du kannst die Datenbank-Funktion dbo.ifGetPrice nutzten. Diese gibt dir den Brutto-Preis zurück.
Paramter sind: kArtikel, kKunde, kKundengruppe, kShop, fAnzahl

Das ganze kannst du in DotLiquid in etwa so aufbauen:

Code:
{% capture query %}
SELECT FORMAT(dbo.ifGetPrice({{ Vorgang.Allgemein.Stammdaten.InterneArtikelnummer }}, 0, (SELECT kKundenGruppe FROM tKundenGruppe WHERE cName='Endkunden'), 0, 0), 'N2', 'de')
{% endcapture -%}\
{% assign result = query | DirectQueryScalar %}\
{{ result }}

In dem Snipsel musst du noch bei 'Endkunden' den Namen deiner Kundengruppe in den Hochkommas einfügen.
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: andy-sun

wawi-dl

Sehr aktives Mitglied
29. April 2008
6.727
813
Hi Jürgen,

mal ein kurzer Schnipsel von mir, mit dem kannst du Artikelnummer eingeben und bekommst eine Auflistung aller Preise mit Staffeln.

Hast dann immer Listenpreis und die jeweiligen Staffelpreise je Kundengruppe, den Rest siehe Email ;)

Code:
SELECT        tArtikel.cArtNr,
            tKundenGruppe.cName AS 'Kundengruppe',
            FORMAT(CAST((tArtikel.fVKNetto * 1.19) AS DECIMAL(20, 2)), 'N', 'de-de') + ' €' AS 'VK Listenpreis (Brutto)',
            FORMAT(CAST((tPreisDetail.fNettoPreis * 1.19) AS DECIMAL(20, 2)), 'N', 'de-de') + ' €' AS 'VK Staffelpreis (Brutto)',
            tPreisDetail.nAnzahlAb AS 'Abnahme',
            tEinheitSprache.cName AS 'Einheit',
            CONVERT(VARCHAR, CAST(tPreisDetail.fProzent AS DECIMAL(20, 1))) + '%' AS 'Prozent'
FROM        tArtikel INNER JOIN
            tPreis ON tArtikel.kArtikel = tPreis.kArtikel INNER JOIN
            tPreisDetail ON tPreis.kPreis = tPreisDetail.kPreis INNER JOIN
            tKundenGruppe ON tPreis.kKundenGruppe = tKundenGruppe.kKundenGruppe INNER JOIN
            tEinheitSprache INNER JOIN
            tEinheit ON tEinheitSprache.kEinheit = tEinheit.kEinheit ON tEinheit.kEinheit = tArtikel.kVerkaufsEinheit
WHERE        tArtikel.cArtNr = 'PT-T105'
            AND tKundenGruppe.cName = 'Endkunden'
 

Anhänge

  • view.jpg
    view.jpg
    20,6 KB · Aufrufe: 29
  • Gefällt mir
Reaktionen: JuergenSaenger

fluxel

Aktives Mitglied
17. April 2019
31
10
Hückelhoven
Hi Jürgen,

mal ein kurzer Schnipsel von mir, mit dem kannst du Artikelnummer eingeben und bekommst eine Auflistung aller Preise mit Staffeln.

Hast dann immer Listenpreis und die jeweiligen Staffelpreise je Kundengruppe, den Rest siehe Email ;)

Code:
SELECT        tArtikel.cArtNr,
            tKundenGruppe.cName AS 'Kundengruppe',
            FORMAT(CAST((tArtikel.fVKNetto * 1.19) AS DECIMAL(20, 2)), 'N', 'de-de') + ' €' AS 'VK Listenpreis (Brutto)',
            FORMAT(CAST((tPreisDetail.fNettoPreis * 1.19) AS DECIMAL(20, 2)), 'N', 'de-de') + ' €' AS 'VK Staffelpreis (Brutto)',
            tPreisDetail.nAnzahlAb AS 'Abnahme',
            tEinheitSprache.cName AS 'Einheit',
            CONVERT(VARCHAR, CAST(tPreisDetail.fProzent AS DECIMAL(20, 1))) + '%' AS 'Prozent'
FROM        tArtikel INNER JOIN
            tPreis ON tArtikel.kArtikel = tPreis.kArtikel INNER JOIN
            tPreisDetail ON tPreis.kPreis = tPreisDetail.kPreis INNER JOIN
            tKundenGruppe ON tPreis.kKundenGruppe = tKundenGruppe.kKundenGruppe INNER JOIN
            tEinheitSprache INNER JOIN
            tEinheit ON tEinheitSprache.kEinheit = tEinheit.kEinheit ON tEinheit.kEinheit = tArtikel.kVerkaufsEinheit
WHERE        tArtikel.cArtNr = 'PT-T105'
            AND tKundenGruppe.cName = 'Endkunden'

Sollte eine Kundengruppe keinen eigenen Preis haben, gibt es keine Ergebnisse. Desweiteren hat nicht jeder Artikel 19 % USt.
Ich hab dein SQL mal etwas in Bezug auf die Kundengruppen modifiziert:
SQL:
SELECT    tArtikel.cArtNr,
        tKundenGruppe.cName AS 'Kundengruppe',
        CONCAT(FORMAT(dbo.ifGetPrice(tArtikel.kArtikel, 0, 0, 0, 0), 'N2', 'de-de'), ' ', tWaehrung.cName) AS 'VK Listenpreis (Brutto)',
        CONCAT(FORMAT(dbo.ifGetPrice(tArtikel.kArtikel, 0, tKundenGruppe.kKundenGruppe, 0, 0), 'N2', 'de-de'), ' ', tWaehrung.cName) AS 'VK Kundengruppe (Brutto)'
FROM tArtikel
CROSS JOIN tKundenGruppe
CROSS JOIN tWaehrung
WHERE    tWaehrung.nStandard = 1
        AND tArtikel.cArtNr = '123'
 

wawi-dl

Sehr aktives Mitglied
29. April 2008
6.727
813
Es war nur kurz geschrieben um die wichtigsten Eckdaten zu verknüpfen, wenn man es ganz richtig haben will, dann mit Steuersatz und Steuerzone.
Währung haben wir rausgelassen, unser Fokus lag hier auf Laufkundschaft, um schnell eine Preisauskunft zu geben.

Artikelnummer anpassen und alles sollte passen.

Code:
SELECT        tArtikel.cArtNr,
            tKundenGruppe.cName AS 'Kundengruppe',
            FORMAT(CAST((tArtikel.fVKNetto * ((tSteuersatz.fSteuersatz/100)+1)) AS DECIMAL(20, 2)), 'N', 'de-de') + ' €' AS 'VK Listenpreis (Brutto)',
            FORMAT(CAST((tPreisDetail.fNettoPreis * ((tSteuersatz.fSteuersatz/100)+1)) AS DECIMAL(20, 2)), 'N', 'de-de') + ' €' AS 'VK Staffelpreis (Brutto)',
            tPreisDetail.nAnzahlAb AS 'Abnahme',
            tEinheitSprache.cName AS 'Einheit',
            CONVERT(VARCHAR, CAST(tPreisDetail.fProzent AS DECIMAL(20, 1))) + '%' AS 'Prozent'
FROM        tArtikel
INNER JOIN    tPreis ON tArtikel.kArtikel = tPreis.kArtikel
INNER JOIN    tPreisDetail ON tPreis.kPreis = tPreisDetail.kPreis
INNER JOIN    tKundenGruppe ON tPreis.kKundenGruppe = tKundenGruppe.kKundenGruppe
INNER JOIN    tEinheitSprache
INNER JOIN    tEinheit ON tEinheitSprache.kEinheit = tEinheit.kEinheit ON tEinheit.kEinheit = tArtikel.kVerkaufsEinheit
INNER JOIN    tSteuerklasse ON tArtikel.kSteuerklasse = tSteuerklasse.kSteuerklasse
INNER JOIN    tSteuersatz ON tSteuerklasse.kSteuerklasse = tSteuersatz.kSteuerklasse
WHERE        tArtikel.cArtNr = 'ARTIKELNUMMER'
AND            tSteuersatz.kSteuerzone = '1'
--AND            tKundenGruppe.cName = 'Endkunden'

Mit Währung dann so:

Code:
SELECT        tArtikel.cArtNr,
            tKundenGruppe.cName AS 'Kundengruppe',
            FORMAT(CAST((tArtikel.fVKNetto * ((tSteuersatz.fSteuersatz/100)+1)) AS DECIMAL(20, 2)), 'N', 'de-de') + ' ' + tWaehrung.cName AS 'VK Listenpreis (Brutto)',
            FORMAT(CAST((tPreisDetail.fNettoPreis * ((tSteuersatz.fSteuersatz/100)+1)) AS DECIMAL(20, 2)), 'N', 'de-de') + ' ' + tWaehrung.cName AS 'VK Staffelpreis (Brutto)',
            tPreisDetail.nAnzahlAb AS 'Abnahme',
            tEinheitSprache.cName AS 'Einheit',
            CONVERT(VARCHAR, CAST(tPreisDetail.fProzent AS DECIMAL(20, 1))) + '%' AS 'Prozent'
FROM        tArtikel
INNER JOIN    tPreis ON tArtikel.kArtikel = tPreis.kArtikel
INNER JOIN    tPreisDetail ON tPreis.kPreis = tPreisDetail.kPreis
INNER JOIN    tKundenGruppe ON tPreis.kKundenGruppe = tKundenGruppe.kKundenGruppe
INNER JOIN    tEinheitSprache
INNER JOIN    tEinheit ON tEinheitSprache.kEinheit = tEinheit.kEinheit ON tEinheit.kEinheit = tArtikel.kVerkaufsEinheit
INNER JOIN    tSteuerklasse ON tArtikel.kSteuerklasse = tSteuerklasse.kSteuerklasse
INNER JOIN    tSteuersatz ON tSteuerklasse.kSteuerklasse = tSteuersatz.kSteuerklasse
CROSS JOIN    tWaehrung
WHERE        tArtikel.cArtNr = 'PT-T105'
AND            tSteuersatz.kSteuerzone = '1'
AND            tWaehrung.nStandard = '1'
--AND            tKundenGruppe.cName = 'Endkunden'
 

Anhänge

  • view.jpg
    view.jpg
    20,6 KB · Aufrufe: 12
Zuletzt bearbeitet:

Ähnliche Themen