Table of Contents

Artikel-Aktion

Einleitung

Diese Aktion können Sie in Abhängigkeit eines Artikels bzw. einer Position einsetzen. Sie lässt sich entweder über das Kontextmenü des Artikels/der Position aufrufen oder wird automatisch in den Details der Warenkorbposition oder in der Artikelübersicht eines Artikels angezeigt, der in der Artikelliste aktiviert ist.

Beispiele

  • Immer, wenn der Benutzer einen Artikel ansieht – sei es in der Artikelliste oder im Warenkorb – soll ein Preisvergleich eingeblendet werden. Dabei werden aktuelle Marktdaten über eine von der Aktion angefragten Schnittstelle im HTML-Format eingeblendet.
  • Immer, wenn der Benutzer einen Artikel ansieht – sei es in der Artikelliste oder im Warenkorb – sollen ihm alternative Artikel angezeigt werden, die er stattdessen anbieten kann. Dazu können Sie gemäß Ihrer eigenen Logik Artikel ermitteln, die Sie innerhalb der Aktion als Liste übergeben. Der Benutzer sieht dann die „alternativen“ Artikel und kann diese direkt in den Warenkorb übernehmen.
  • Wenn der Benutzer einen Artikel in einer Bestellung oder einem Angebot hinzufügt, möchte er wissen, ob und welchen preislichen Spielraum er noch hat. Diese Informationen stellen Sie ihm anhand einer von Ihnen hinterlegten Logik zur Verfügung. Er muss nur das Kontextmenü des Artikels auswählen und ihm werden die Informationen in einer Box im HTML-Format angezeigt.

Wählen Sie bitte den Aktionstyp „Artikel-Aktion“ aus.

Auslöser

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

Wenn Sie „Manuelle Ausführung“ (TriggeredBy = „manually„) aktivieren, kann die Aktion vom Benutzer über das Kontextmenü angestoßen werden.

Aktivieren Sie „Automatisch in dynamischer Spalte“ (TriggeredBy = „dynamicColumnInitialization“), so wird die Aktion immer ausgeführt, wenn die Artikelübersicht in einer Artikelliste oder die Artikeldetails im Warenkorb angezeigt werden.

Beide Auslöser können in folgenden Entitäten angewendet werden:

  • Artikel (item)
  • Warenkorbposition (shoppingCartPosition)

In diesen Entitäten kann nur der Auslöser „Manuelle Ausführung“ angewendet werden, da die Infoleiste nicht zur Verfügung steht:

  • Angebotsposition (offerLine)
  • Bestellposition (orderLine)

Eingabeparameter

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

Key Datentyp Value
PriceListId int die ID der Preisliste, die aktuell zugewiesen ist
DiscountListId int die ID der Rabattliste, die aktuell zugewiesen ist
CurrencyCode string die Währung, die aktuell zugewiesen ist
CurrencyCodeExchangeRate decimal der aktuell verwendete Umrechnungsfaktor
HasGrossPrices bool das Preiskennzeichen (brutto/netto)
AccountId string die Kundennummer (KHKKontokorrent.Kto)
DocumentDate datetime das Belegdatum
Position Dictionary<string,object> Position / Artikel

Es werden die allgemeinen Positionsdaten übergeben.

Ausgabeparameter

Es werden die allgemeinen Rückmeldungen erwartet.

Zudem können Sie dem Benutzer bei der automatischen Ausführung in der dynamischen Spalte auch eine Liste an Artikeln anzeigen. Diese wird im Stil der anderen, mit dem Artikel in Beziehung stehenden Artikel angezeigt.

Und das sind die Inhalte, die Sie dafür mitgeben müssen:

Key Datentyp Value
PositionGroups Dictionary<string,object>[] eine Liste von Positionsgruppen

Das sind die Ausgabeparameter pro Positionsgruppe:

Key Datentyp Value
Caption string eine Überschrift für die Liste der Positionen
Positions Dictionary<string,object>[] Positionen

Das sind die Ausgabeparameter pro Position:

Key Datentyp Value
ItemNumber string die Artikelnummer
VariationId int die interne Variantennummer (AuspraegungID)
Message string eine Meldung pro Position
SortOrder int Sortierung der Position

WICHTIG

Bei der Darstellung wird je nach Kontext unterschieden wie mit den Rückgabewerten umgegangen wird:

  1. Bei manueller Ausführung werden die zurückgegebenen Positionen verworfen und ausschließlich Messages angezeigt.
  2. Bei Einbettung in der dynamischen Spalte werden HTML Messages in einem iFrame dargestellt und nicht als Dialog.