Vise promoteringer basert på transaksjonsvaluta i organisasjoner med flere valutaer (beta)
Fullfør dette valgfrie oppsettet for å vise promoteringer basert på transaksjonens valuta. Når du bruker flere valutaer i organisasjonen, viser som standard Bla gjennom kataloger-vinduet promoteringer basert på valutaen til kontoen som er knyttet til transaksjonen.
Nødvendige utgaver
| Tilgjengelig i Lightning Experience |
| Tilgjengelig i Enterprise, Unlimited og Developer Edition av Agentforce Revenue Management med lisensen Revenue Cloud Advanced og Lisensen Behandling av globale promoteringer eller Lisensen Loyalty Management - Growth eller Advanced. |
| Nødvendig brukertillatelse | |
|---|---|
| For å tilpasse kontekstdefinisjoner: | Konteksttjenesteadministrator |
| For å tilpasse flyter: | Behandle flyter |
Viktig
Du kan vise promoteringer basert på transaksjonsvalutaen bare hvis du ikke har konfigurert kanalbaserte promoteringer.
Konfigurere produktoppdagelseskontekstdefinisjonen
Endre definisjonen for å vise promoteringer basert på transaksjonsvalutaen.
-
Rediger den utvidede produktoppdagelseskontekstdefinisjonen.
- Finn og velg Kontekstdefinisjoner fra Oppsett.
- Klikk på Tilpassede definisjoner.
-
Klikk på den utvidede produktoppdagelseskontekstdefinisjonen.
Hvis du bruker den forhåndsbygde kontekstdefinisjonen, utvider du ProductDiscoveryContext-kontekstdefinisjonen.
- Klikk på Rediger.
- Klikk på Neste på siden Rediger kontekstdefinisjoner.
-
Klikk på
ved siden av Promotering__std på siden Rediger struktur.
- Skriv inn Transaksjon__c som navn, og klikk på Neste.
- Klikk på Transaksjon__c.
-
Klikk på Legg til attributter og legg til valutadetaljene.
- Skriv inn ccycode__c som navn.
- Velg INPUT OUTPUT i Type
- Velg STRENG i Datatype.
-
Klikk på Legg til attributter og legg til kontodetaljene.
- Skriv inn accountId__c som navn.
- Velg INPUT OUTPUT i Type.
- Velg STRENG i Datatype.
-
Klikk på Legg til attributter og legg til ID-detaljene.
- Skriv inn id__c som navn.
- Velg INPUT OUTPUT i Type.
- Velg STRENG i Datatype.
- Klikk på Neste.
-
På siden Rediger attributtkoder legger du til attributtnavnene som kodenavn.
- Klikk på Legg til koder ved siden av accountId__c.
- Oppgi accountId__c som kodenavn.
- Klikk på Ferdig.
-
Gjenta disse trinnene for å legge til koder for ccycode__c og id__c.
Bruk attributtnavnet som kodenavn.
- Lagre endringene.
Opprette en tilpasset promoteringstilordning
- Åpne fanen Map Data (Kartdata).
-
Ved siden av ProductDiscoveryPromoMapping klikker du på
og velger Klone.
- Skriv inn et navn, og lagre endringene.
- Slett tilordningen mellom Konto-noden og SalesTransaction-noden.
-
Tilordne disse nodene og attributtene.
Produktoppdagelseskontekst Salgstransaksjonskontekst Transaction__c SalesTransaction ccycode__c CurrencyIsoCode kontoId__c Konto - Lagre endringene.
-
Ved siden av ProductDiscoveryMapping klikker du på
og velger Rediger inndatatilordning.
- Klikk på Generer nodetilordninger.
- Klikk på Behold og generer i vinduet Generer nodetilordninger.
- Lagre endringene.
- Aktiver kontekstdefinisjonen.
Opprette en Apex
Opprett en Apex for en flythandling.
-
Klikk på
og velg Developer Console.
- Velg Fil | Nytt | Apex-klasse .
- Skriv inn DiscoverProductFlowAction som navn.
-
Legg til denne koden, og lagre endringene.
public class DiscoverProductFlowAction { // Define input parameters public class FlowInput { @InvocableVariable(required=false) public String objectApiName; @InvocableVariable(required=false) public String recordId; } // Define output parameters public class FlowOutput { @InvocableVariable public runtime_industries_cpq.ContextDataInput[] additionalContextData; } // This method is invoked from a flow @InvocableMethod(label='Process Input' description='Creates the Array of ContextDataInput for additional Context Data') public static List<FlowOutput> generateAdditionalContextData(List<FlowInput> inputs) { String objectApiName; String recordId; String ccyCode; String accountId; Quote quoteObject; Order orderObject; FlowOutput output = new FlowOutput(); // Capture input from the flow for(FlowInput input : inputs ){ objectApiName = input.objectApiName; recordId = input.recordId; } //Write logic to Query Currency from Transaction Entity if(objectApiName == 'Quote') { quoteObject = [SELECT CurrencyIsoCode,AccountId FROM Quote WHERE Id = :recordId LIMIT 1][0]; ccyCode = quoteObject.CurrencyIsoCode; accountId = quoteObject.AccountId; } else if(objectApiName == 'Order') { orderObject = [SELECT CurrencyIsoCode,AccountId FROM Order WHERE Id = :recordId LIMIT 1]; ccyCode = orderObject.CurrencyIsoCode; accountId = orderObject.AccountId; } //Populate the ContextDataInput list to store additional context data List<runtime_industries_cpq.ContextDataInput> listContextData = new List<runtime_industries_cpq.ContextDataInput>(); runtime_industries_cpq.ContextDataInput cd1 = new runtime_industries_cpq.ContextDataInput(); cd1.nodeName = 'Transaction'; //Where Quote is the name of the node in the context definition. cd1.nodeData = new Map<String,Object>(); cd1.nodeData.put('id',recordId); cd1.nodeData.put('ccycode',ccyCode); cd1.nodeData.put('accountId',accountId); listContextData.add(cd1); // Return the additional Context Data to a flow output.additionalContextData = listContextData; return new List<FlowOutput>{output}; } }
Tilpasse produktoppdagelsesflyten
- Finn og velg Flyter under Oppsett.
-
Åpne Product Discovery-flyten.
Hvis du bruker standardflyten, åpner du Oppdag produkter.
-
Før Produkt-listeskjermelementet klikker du på
og velger Handling.
- Angiv en betegnelse og et API-navn.
- Finn og velg DiscoverProductFlowAction.
- Slå på objectAPIName, og skriv inn objectAPIName som verdien.
- Slå på recordId, og skriv inn recordId som verdi.
- Lagre endringene.
- Klikk på Produktliste.
- Klikk på Beholder for produktliste-side.
- For attributtet Inndataarray for kontekstdata velger du utdata fra handlingen.
- Lagre endringene.
- Aktiver flyten.
Hjalp denne artikkelen med å løse problemet ditt?
La oss få vite det slik at vi kan forbedre!

