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.
Beispiel
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.
Beispiel
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.
Beispiel
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:
- Bei manueller Ausführung werden die zurückgegebenen Positionen verworfen und ausschließlich Messages angezeigt.
- Bei Einbettung in der dynamischen Spalte werden HTML Messages in einem iFrame dargestellt und nicht als Dialog.
0 Kommentare