Cn Preis Get Vk
Zuletzt geändert: 14.03.2026 11:31

cn_Preis_GetVk #

Ermittelt den Verkaufspreis eines Artikels für einen bestimmten Kunden unter Berücksichtigung aller preisrelevanten Faktoren: Kundengruppen, Rabattgruppen, Preislisten, Mengenstaffeln, Währung und Brutto-/Netto-Kennzeichen.

Syntax #

EXEC cn_Preis_GetVk
  @ad_Id = kundenid,
  @ar_Id = artikelid,
  @Menge = menge,
  @Waehrung = 'waehrung',
  @BruttoFlg = {0|1},
  @Vk = preis OUT,
  @Rabatt = rabatt OUT,
  @Quelle = quelle OUT

Parameter #

ParameterTypRichtungBeschreibung
@ad_IdintEingabeID der Kundenadresse
@ar_IdintEingabeID des Artikels
@Mengenumeric(18,4)EingabeMenge (für Mengenstaffelpreise)
@Waehrungchar(3)EingabeWährungscode (z.B. ‘EUR’)
@BruttoFlgbitEingabe0 = Nettopreis, 1 = Bruttopreis
@Vknumeric(18,2)AusgabeErmittelter Verkaufspreis
@Rabattnumeric(18,2)AusgabePositionsrabatt in Prozent
@Quellevarchar(20)AusgabeHerkunft des Preises

Preisquellen (@Quelle) #

WertBeschreibung
KeineKein Preis gefunden
ArtikelPreis aus dem Artikelstamm
PreislistePreis aus einer zugeordneten Preisliste
AngebotPreis aus einem gültigen Angebot
AuftragPreis aus einem bestehenden Auftrag
FEHLER: xxFehler bei der Preisermittlung

Berücksichtigte Faktoren #

Die Preisfindung berücksichtigt in der Reihenfolge der Priorität:

  1. Individuelle Kundenpreise (Preislisten)
  2. Mengenstaffeln
  3. Kundengruppen und Rabattgruppen
  4. Artikelstammpreis
  5. Währungsumrechnung
  6. Brutto-/Netto-Umrechnung
  7. Konditionen

Verwandte Prozeduren #

ProzedurBeschreibung
cn_Preis_GetVkExErweiterte Preisermittlung
cn_Preis_GetInfoPreisinformationen abrufen
cn_Preis_GetKondKonditionen ermitteln
cn_Preis_GetStaffelnMengenstaffeln ermitteln

Beispiel #

DECLARE @Vk numeric(18,2)
DECLARE @Rabatt numeric(18,2)
DECLARE @Quelle varchar(20)

EXEC cn_Preis_GetVk
  @ad_Id = 42,
  @ar_Id = 100,
  @Menge = 10,
  @Waehrung = 'EUR',
  @BruttoFlg = 0,
  @Vk = @Vk OUT,
  @Rabatt = @Rabatt OUT,
  @Quelle = @Quelle OUT

PRINT 'Preis: ' + CAST(@Vk AS varchar) +
      ', Rabatt: ' + CAST(@Rabatt AS varchar) + '%' +
      ', Quelle: ' + @Quelle