Einleitung
Diese Aktion kannst du 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.

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 kannst du gemäß deiner eigenen Logik Artikel ermitteln, die du innerhalb der Aktion als Liste übergibst. 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 stellst Du ihm anhand einer von dir 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ähle bitte den Aktionstyp „Artikel-Aktion“ aus.
Auslöser
In der Karte „Ausführung bei“ kannst du festlegen, wann die Artikel-Aktion ausgelöst wird.
Wenn du „Manuelle Ausführung“ (TriggeredBy = „manually„) aktivierst, kann die Aktion vom Benutzer über das Kontextmenü angestoßen werden.
Aktivierst du „Automatisch in dynamischer Spalte“ (TriggeredBy = „dynamicColumnInitialization“) aktivierst, 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 kannst du 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 du dafür mitgeben musst:
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 |

Bei der Darstellung wird je nach Kontext unterschieden wie mit den Rückgabewerten umgegangen wird:
(a) Bei manueller Ausführung werden die zurückgegebenen Positionen verworfen und ausschließlich Messages angezeigt.
(b) Bei Einbettung in der dynamischen Spalte werden HTML Messages in einem iFrame dargestellt und nicht als Dialog.