Zum Inhalt springen Zur Hauptnavigation springen Zur Fußzeile springen

Erweiterte Position-Neuberechnung

Einleitung

Diese Aktion ermöglicht es, bei der Berechnung einer Position im Angebot, in der Bestellung oder im Warenkorb individuelle Konditionen in die Preisermittlung einfließen zu lassen.

Beispiel
BEISPIEL

Sie möchten, dass Kunden nur Artikel mit einer Mindestbestellmenge bestellen können. Sobald ein Kunde eine zu geringe Menge eingibt, wird diese auf die Mindestbestellmenge korrigiert und an der Position wird ein Hinweis angezeigt.

Wählen Sie bitte den Aktionstyp „Erweiterte Position-Neuberechnung“ aus.

Auslöser

In der Karte „Ausführung bei“ können Sie festlegen, wann die Aktion ausgelöst wird.

Wenn Sie „Ermittlung von Preisen“ (TriggeredBy = „priceCalculation“) aktivieren, wird die Aktion immer ausgeführt, wenn eine Änderung innerhalb der Entität zur Neuberechnung von Preisen führt. Welche Änderungen diese Neuberechnung veranlassen können, können Sie in der Hilfe unter <Bestellungen/Angebote > Bestellung/Angebot bearbeiten> einsehen.

Zudem können Sie es den Benutzern ermöglichen, die Aktion selbst auszulösen, indem Sie „Manuelle Ausführung“ (TriggeredBy = „manually“) aktivieren. Dann kann der Benutzer die Aktion im Kontext- oder Dreipunktemenü der übergeordneten Entität auswählen.

Auch aus dem Kontext- oder Dreipunktmenü einer Position kann die Aktion ausgelöst werden, indem Sie „Manuelle Ausführung bei Position“ (TriggeredBy = „manually“) aktivieren.

Sie können auch den Auslöser „Änderung Feldinhalt“ (TriggeredBy = „fieldChange“) aktivieren. Die Aktion wird dann ausgeführt, wenn Änderungen an den in der aufgeführten Tabelle hinterlegten Feldern festgestellt werden.

Die Aktion kann in diesen Entitäten ausgelöst werden:

  • Angebot (offer)
  • Bestellung (order)
  • Warenkorb (shoppingCart)

Eingabeparameter

Neben den allgemeinen werden zusätzlich diese Daten übergeben:

KeyDatentypValue
PriceListIdintdie ID der Preisliste, die aktuell zugewiesen ist
DiscountListIdintdie ID der Rabattliste, die aktuell zugewiesen ist
CurrencyCodestringdie Währung, die aktuell zugewiesen ist
CurrencyCodeExchangeRatedecimalder aktuell verwendete Umrechnungsfaktor
HasGrossPricesbooldas Preiskennzeichen (brutto/netto)
AccountIdstringdie Kundennummer (KHKKontokorrent.Kto)
DocumentDatedatetimedas Belegdatum
UserAccountTypestringder Typ des angemeldeten Benutzers
AccountType „crm“ (Benutzer)
AccountType „reseller“ (Business-Login)
UserAccountMailstringdie E-Mail-Adresse des angemeldeten Benutzers
TaxClassIdshortdie Besteuerungsart
ShoppingCartTypestringder Typ des Warenkorbes (nur im Falle eines Warenkorbs – andernfalls ist der Parameter leer)
PositionsDictionary<string,object>[]Position / Artikel

Neben den allgemeinen Positionsdaten werden zusätzlich diese Daten übergeben:

KeyDatentypValue
LineTypestringder Positionstyp (wird nicht im Warenkorb unterstützt)
Description1stringdie Bezeichnung1 der Position
Description2stringdie Bezeichnung2 der Position
LongTextstringder Langtext der Position
DimensionTextstringder Dimensionstext der Position
AccessoryTextstringder Zubehörtext der Position
ExternalEntityReferencestringdie Salesware-Referenz für die Position
CustomDictionary<string, object>die Custom-Felder, die für die Position definiert sind (s. Entity-Spezifische Eingabeparameter)
Tipp
TIPP

Das Kennzeichen, ob der Einzelpreis manuell verändert worden ist, kann genutzt werden, um Positionen mit einem individuellen Preis/Rabatt von der Neuberechnung auszuschließen.

Als Positionstyp erwartet die Aktion folgende Daten:

KeyValue
pageBreakSeitenumbruch
groupStart einer Gruppe
itemArtikel-Position
subTotalZwischensummen-Zeile (beendet die Gruppe)
textTextposition
alternativeAlternativ-Artikel

Ausgabeparameter

Es werden die allgemeinen Rückmeldungen erwartet, allerdings pro Position:

KeyDatentypValue
PositionsDictionary<string,object>[]die Positionsdaten

Das sind die Ausgabeparameter der Position:

KeyDatentypValue
EntityKeystringder Salesware-Key für diesen Datensatz
UnitPricedecimalder Einzelpreis
DiscountValuedecimalder Rabattsatz (in Prozent)
IsManualPricebooldas Kennzeichen, ob der Einzelpreis manuell verändert worden ist (EinzelpreisManuell)
Quantitydecimaldie Menge
QuantityUnitstringdie Mengeneinheit
LineTypestringder Positionstyp (Werte siehe oben)
Description1stringdie Bezeichnung1 der Position
Description2stringdie Bezeichnung2 der Position
LongTextstringder Langtext der Position
DimensionTextstringder Dimensionstext der Position
AccessoryTextstringder Zubehörtext der Position
Wichtig
WICHTIG

Anhand der übergebenen Mengeneinheit wird die Mengenart ermittelt. Dabei wird wie folgt priorisiert: Verpackungseinheit vor Verkaufseinheit vor Basismengeneinheit.

Sobald die Aktion also eine Änderung an den Positionskonditionen feststellt, kannst du diese an Salesware übermitteln.

Tipp
TIPP

Das Kennzeichen, ob der Einzelpreis manuell verändert worden ist, kann genutzt werden, um Positionen von einer späteren Neuberechnung aufgrund einer Änderung an der Entität auszuschließen.

Beispiel
BEISPIEL

Der Benutzer ändert die Menge eines Artikels. Da der Artikel nur in 5er-Schritten bestellt werden kann, wird die Menge automatisch auf den nächsten Schritt angepasst.

War dieser Beitrag hilfreich?

0
0 Kommentare

Es gibt noch keine Kommentare

Hinterlassen Sie einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert