Datahanterare
Datahanteraren är komponenten Statushantering och orkestrering för Produktkonfiguratorn. Denna komponent lagrar produktdata och använder flödeshändelser för att propagera data till andra komponenter på flödesskärmen.
Versioner som krävs
| Tillgängliga i: Lightning Experience |
| Tillgängliga i: Enterprise, Unlimited och Developer Editions of Revenue Management (tidigare Revenue Cloud) med licensen Revenue Cloud Growth eller Revenue Cloud Advanced |
Datahanteraransvar
- Behåll transaktionssammanhang och konfigurationsstatus
- Åberopa Configurator API och processsvar
- Bearbeta Lightning Message Service-händelser (LMS) från användargränssnittkomponenter
- Tillhandahåll data till användargränssnittet och visa reaktiva egenskaper för underordnade komponenter
- Stöd för att spara och läsa in favoritkonfigurationer
Datahanterarens API-namn
S01_DataManager .
Indataegenskaper för Datahanterare
Datahanteraren accepterar data från överordnade egenskaper eller flödeskomponentegenskaper som angetts av användare.
| Egenskap | Typ | Obligatoriskt | Beskrivning |
|---|---|---|---|
| transactionLineId | Sträng | Ja | ID för rotprodukt eller transaktionsrad |
| currentTransactionLineId . | Sträng | Ja | Aktuell rad som visas |
| transactionId | Sträng | Ja | ID för försäljningstransaktion (offert, order och så vidare) |
| överordnatName | Sträng | Ja | Namn eller titel på den överordnade transaktionen som konfigurationen avser. |
| ursprung | Sträng | Ja | Namn på transaktionspostens överordnade objekt. Exempel: 'Säljprojekt', 'Offert', 'Order', 'Tillgång' och så vidare. Detta identifierar vilken Salesforce-objekttyp som startar konfigurationen. Används för navigering, användargränssnittetikett och så vidare. |
| addedNodes [Tillagda noder] | Matris | Nej | Flödesresurs som innehåller en samling Apex ProductConfig__SalesTransactionItem-poster som är associerade med den överordnade posttransaktionen. |
| isNonBlockingEnabled [isNonBlockingAktiverad] | Boolesk | Nej | Slå på icke-blockerande läge. När det är påslaget låter detta användare fortsätta interagera med användargränssnittet medan API-anrop bearbetas i bakgrunden. Ändringar placeras i kö och behandlas asynkront utan att blockera användargränssnittet. När det stängs av låses användargränssnittet under API-anrop. |
| areMessagesFixed [Återstående meddelanden] | Boolesk | Nej | Om meddelandekomponenten har en fast position. Om sant förblir meddelandekomponenten fixerad högst upp på skärmen och fortsätter vara synlig medan du bläddrar (klibbig placering). Om falskt bläddrar meddelandekomponenten med sidinnehållet (relativ positionering). Användbart för att hålla valideringsfel/varningar alltid synliga under konfigurationen |
| contextId | Sträng | Nej | ID för transaktionssammanhanget som specificerats för Produktkonfigurator |
| enableARCValidation [Aktivera ARC-validering] | Boolesk | Nej | Indikerar om ARC-validering (Konfiguration av tillgångsförnyelse) körs under produktkonfiguration |
| transactionLineGroupId . | Sträng | Nej | ID för gruppen som innehåller den aktuella transaktionsraden som konfigureras. För Offerter är detta ID för offertradgrupp. För ordrar är detta ID för orderobjektgrupp. |
| explainabilityEnabled [Förklarbarhet aktiverad] | Boolesk | Nej | När Förklarbarhet har aktiverats ger Produktkonfiguratorn detaljerade förklaringar till varför produkter döljs, inaktiveras eller rekommenderas. Visar detaljer om regelutförande och affärslogikresonemang för att hjälpa användare förstå konfigurationsbegränsningar. |
| userContext [Användarsammanhang] | Objekt | Nej | API-namn på en flödesvariabel som innehåller användarkvalificeringsdata. Denna variabel är av typen ProductConfig__UserContext och avgör produktberättigande baserat på användarspecifika attribut. 1. I Flow Builder, skapa ett variabelt API-namn, till exempel userContextData. 2. Använd ett Tilldelning- eller Hämta poster-element för att fylla i variabeln och ange fält som roll, region, accountType och så vidare. Till exempel, {!userContextData.role} = {!$User.UserRole.Name} 3. I Datahanteraren, för Användarsammanhang, välj {!userContextData}. Configurator API använder dessa data för att utvärdera kvalificeringsregler och filtrera vilka produkter som är tillgängliga. Om du till exempel har regler som "Visa endast företagsprodukter för företagssäljare" kontrollerar API användarens roll från detta sammanhang. Välj endast ett användarsammanhang om du har produktkvalificeringsregler som beror på användarspecifika attribut som roll, område och så vidare. Om alla produkter är tillgängliga för alla användare, lämna detta fält tomt. |
Datahanterarens utdataegenskaper
Datahanteraren skriver utdataegenskaper som kunder kan läsa. En intern metod skapar data och FlowAttributeChangeEvent skickar data till den relevanta egenskapen, enligt detta exempel.
this.dispatchEvent(
new FlowAttributeChangeEvent(FLOW_REACTIVITY_MESSAGES, messages)
);
Denna tabell visar vilka data Datahanteraren tillhandahåller till andra komponenter. Kolumnen Datakälla identifierar den interna process som skapar datan.
| Egenskap | Datatyp | Beskrivning | Datakälla |
|---|---|---|---|
| sidhuvud | Objekt | Aktuell produktrubrikinformation | mergeContexts() . |
| meddelanden | Matris | Validering/felmeddelanden | API-svar + regler |
| optionGroups [Alternativgrupper] | Matris | Produktkomponentgrupper (alternativ) | mergeContexts() . |
| attributeCategories [attributkategorier] | Matris | Produktattributkategorier | mergeContexts() . |
| summary | Objekt | Konfigurationssammanfattning (kopplat transaktionsträd) | mergeContexts() . |
| navigationRoute [Rutt] | Matris | Aktuell navigeringsväg, eller spårnavigering | buildNavigationInfo() . |
| searchInfo | Matris | Sök data för produktkatalog | buildSearchInfo() . |
| flikar | Matris | Tillgängliga flikar för paket med flera rötter | buildTabs() |
| currencyCode | Sträng | Valutakod för prissättning | API-svar |
| transactionRecord [transaktionspost] | Objekt | Transaktionspostdetaljer | populateTransactionRecord() |
| headerTitel | Sträng | Rubriktext | generateHeaderTitle() . |
| isInstantPricingToggleEnabled [Aktiverad] | Boolesk | Om direktprissättning visas | setToggleStates() |
| isInstantPricingEnabled [Aktiverat] | Boolesk | Nuvarande direktprissättningsstatus | Växla/API |
| isProductValidationEnabled [Aktiverad] | Boolesk | Aktuellt valideringsläge | Växla/API |
| showPrices [Visa priser] | Boolesk | Om priser ska visas | Statuslogik |
| showSummaryTotalSection . | Boolesk | Om sammanfattningens totala sektion ska visas | Åsidosättning av försäkring |
| favoriteData | Sträng (JSON) |
Konfigurationsdata för favoriter | getFavoriteData() . |
| isConfiguratorDisabled | Boolesk | Om konfiguratorn är inaktiverad | Gränssnittsläge |
| isApiInProgress . | Boolesk | Om API-anrop pågår | API-livscykel |
| isPriceRampEnabled [Aktiverad] | Boolesk | Om prisramper är aktiverade | Sammanhangskontroll |
| isGroupRampEnabled [Aktiverad] | Boolesk | Om gruppramper är aktiverade | Gruppberäkning |
| salesTransactionItems . | Matris | Alla transaktionsobjekt | API-svar |
| layoutMode | Sträng | Layoutläge (standard eller kompakt) | Växla |
| searchResultOptionId . | Sträng | ID för valt sökresultatalternativ | Söknavigering |
| rootProductId | Sträng | ID för rotprodukt | Katalogdata |
| currentGroupName | Sträng | Aktuellt gruppnamn | getCurrentGroupName() |
| contextMetadata | Objekt | Sammanhangsmetadata för anpassningsbara attribut för försäljningstransaktionsobjekt. Innehåller fältdefinitioner (etiketter, datatyper, kombinationsrutevärden) för egna attribut som kan visas i användargränssnittet. | Sammanhangstolkning |
| eligiblePromotions | Matris | Listan Berättigade erbjudanden | Promotion API [Erbjudande-API] |
Datahanteraren för händelser lyssnar på
Datahanteraren lyssnar på Lightning Message Service-händelser (LMS) och kabeladapters.
För att lyssna på LMS-händelser prenumererar Datahanteraren på meddelandekanalen och tar emot LMS-händelser som andra komponenter har publicerat där. Denna tabell visar LMS-händelseåtgärder, deras hanteringsmetoder och vad åtgärderna gör.
| Händelseåtgärd | Hanteringsmetod | Vad den gör |
|---|---|---|
| valueChange | setState() . | Uppdaterar konfigurationsstatus (urval, kvantiteter, attribut) |
| navigera | navigate() | Går genom pakethierarki |
| closePreview [Förhandsvisning] | closePreview() . | Stänger förhandsgranskningsfönster |
| toggleInstantPricing | setInstantPricing() . | Växlar direkt prissättning på/av |
| toggleExplainability [Förklarbarhet för toggle] | setExplainability() | Slår på/av förklarlighet |
| toggleRulesValidation | setProductValidation() . | Slår på/av validering |
| updatePrices [Uppdatera priser] | updatePrices() . | Utlöser prissättning manuellt |
| validateProduct . | validateProduct() . | Utlöser validering manuellt |
| klonobjekt | cloneItems() . | Klonar transaktionsobjekt |
| toggleCompactLayout . | setLayoutModeOnToggle() . | Växlar layoutläge |
| contextDefinitionChanged [Kontextdefinition ändrad] | setContextDefinition() . | Uppdaterar sammanhangsdefinition |
| saveFavConfiguration [Spara favoritkonfiguration] | handleSaveConfiguration() | Sparar konfigurationen som favorit |
| loadFavorit | handleLoadFavorite() . | Laddar favoritkonfiguration |
Kabeladapters lyssnar automatiskt efter dataändringar från Salesforces plattform och skickar dataändringarna till Datahanteraren. Denna tabell visar de händelser i kabeladaptern som Datahanteraren lyssnar på.
| Trådadapter | Källa | Vad den lyssnar efter | Hanteringsmetod | Syfte |
|---|---|---|---|---|
MessageContext |
Lightning / messageService | Meddelandesammanhang för LMS | Ej tillämpligt (ger sammanhang) |
Aktiverar LMS-kommunikation |
getContextServiceDefinition |
Lightning/industriesContextApi | Ändringar av sammanhangsdefinition | gotContextDefinition() . |
Lyssnar efter sammanhangsdefinitionsdata |
getObjectInfos (2nd) |
Lightning/uiObjectInfoApi | Information om transaktionsobjektobjekt | getObjectInfos() . | Lyssnar efter metadata för transaktionsobjekt |
Händelser Datahanterarbränder
Datahanteraren aktiverar egna händelser, toasthändelser och ändringshändelser för flödesattribut.
Denna tabell visar egna händelser som Datahanteraren aktiverar, inklusive bubblande och sammansatta händelser.
| Händelsens namn | Bubblor | Sammansatt | När det brinner | Syfte |
|---|---|---|---|---|
| ladda | Ja | Ja | Under inledande laddning | Meddela överordnad om inläsningsstatus |
| fortsätta | Ja | Ja | Avbryt vid roten ELLER stäng fönster | Stäng konfigurator utan att spara |
| spara | Ja | Ja | Spara och avsluta navigering | Spara konfiguration och avsluta |
| close_modal | Ja | Ja | Stäng förhandsvisning | Stäng förhandsgranskningsfönster |
| showConflictToast . | Ja | Ja | Icke-blockerande API-konflikter upptäckta | Visa rostat bröd för konfliktvarning |
Denna tabell visar den toasthändelse som Datahanteraren aktiverar.
| Händelsens namn | När är den sparkad | Syfte |
|---|---|---|
| ShowToastEvent : | När favoriten har lästs in | Meddela användare om lyckad favoritinläsning |
Datahanteraren skickar FlowAttributeChange-händelser för alla reaktiva egenskaper i varje användargränssnittsuppdatering.
