breadcrumbDescription
Datamanager
Datamanager er tilstandsadministration og orkestreringskomponenten for Produktkonfiguration. Denne komponent lagrer produktdata og bruger forløbsbegivenheder til at udbrede dataene til andre komponenter på forløbsskærmen.
EditionsHeading
| Tilgængelig i: Lightning Experience |
| Tilgængelig i: Enterprise, Unlimited og Developer Edition af Revenue Management (tidligere Revenue Cloud) med Revenue Cloud Growth-licensen eller Revenue Cloud Advanced-licensen |
Datamanageransvar
- Vedligehold transaktionskonteksten og konfigurationstilstanden
- Kald Configurator API og processvar
- Behandl Lightning Message Service-hændelser (LMS) fra brugergrænsefladekomponenter
- Angiv data til brugergrænseflade, og vis reaktive egenskaber til underordnede komponenter
- Understøtter lagring og indlæsning af favoritkonfigurationer
Data Manager API-navn
S01_DataManager
Egenskaber for datamanagerinput
Datamanager accepterer data fra overordnede eller forløbskomponentegenskaber, der er angivet af brugere.
| Egenskab | Type | Påkrævet | Beskrivelse |
|---|---|---|---|
| transactionLineId | Streng | Ja | Rodprodukt eller transaktionslinje-id |
| currentTransactionLineId | Streng | Ja | Aktuel linje, der vises |
| transactionId | Streng | Ja | Salgstransaktions-id (tilbud, bestilling osv.) |
| parentName | Streng | Ja | Navn eller titel på den overordnede transaktion, som konfigurationen vedrører. |
| oprindelse | Streng | Ja | Navn på transaktionsregistreringens overordnede objekt. Eksempel: "Salgsmulighed", "Tilbud", "Bestilling", "Aktiv" osv. Dette identificerer, hvilken Salesforce-objekttype der starter konfigurationen. Bruges til navigation, brugergrænsefladebetegnelse osv. |
| addedNodes | Opstilling | Nej | Forløbsressource, der indeholder en samling af Apex ProductConfig__SalesTransactionItem-registreringer, der er tilknyttet den overordnede registreringstransaktion. |
| isNonBlockingEnabled | Boolesk | Nej | Aktiver ikke-blokeringstilstand. Når det er aktiveret, tillader dette brugere at fortsætte med at interagere med brugergrænsefladen, mens API-kald behandles i baggrunden. Ændringer sættes i kø og behandles asynkront uden at blokere brugergrænsefladen. Når den er deaktiveret, låses brugergrænsefladen under API-kald. |
| areMessagesFixed | Boolesk | Nej | Om meddelelseskomponenten har en fast position. Når den er sand, forbliver meddelelseskomponenten fast øverst på skærmen og forbliver synlig, mens du ruller (permanent placering). Når falsk, ruller meddelelseskomponenten med sideindholdet (relativ placering). Nyttig til at bevare valideringsfejl/advarsler altid synlige under konfiguration |
| contextId | Streng | Nej | Id for den transaktionskontekst, der er angivet for Produktkonfiguration |
| enableARCValidation | Boolesk | Nej | Angiver, om ARC-validering (Asset Renewal Configuration) køres under produktkonfiguration |
| transactionLineGroupId | Streng | Nej | Id for den gruppe, der indeholder den aktuelle transaktionslinje, der konfigureres. For Tilbud er dette Id for tilbudslinjegruppe. For Bestillinger er dette Id for bestillingselementgruppe. |
| explainabilityEnabled | Boolesk | Nej | Når Forklarbarhed er aktiveret, leverer Produktkonfiguration detaljerede forklaringer på, hvorfor produkter er skjulte, inaktiverede eller anbefalede. Viser reglerkørselsdetaljer og forretningslogikovervejelser for at hjælpe brugere med at forstå konfigurationsbegrænsninger. |
| userContext | Objekt | Nej | API-navn på en forløbsvariabel, der indeholder brugerkvalificeringsdata. Denne variabel er af typen ProductConfig__UserContext og bestemmer produktberettigelse baseret på brugerspecifikke attributter. 1. I Flow Builder skal du oprette et API-variabelnavn, f.eks. userContextData. 2. Brug et Tildelings- eller Hent registreringer-element til at udfylde variablen, og angiv felter som f.eks. rolle, område, accountType osv. F.eks. {!userContextData.role} = {!$User.UserRole.Name} 3. I Datamanager for Brugerkontekst skal du vælge {!userContextData}. Konfigurator-API'en bruger disse data til at evaluere kvalificeringsregler og filtrere, hvilke produkter der er tilgængelige. Hvis du f.eks. har regler som "Vis Enterprise Products only to Enterprise Sales reps", kontrollerer API brugerens rolle fra denne kontekst. Vælg kun en brugerkontekst, hvis du har produktkvalificeringsregler, der afhænger af brugerspecifikke attributter som rolle, område osv. Hvis alle produkter er tilgængelige for alle brugere, skal du lade dette felt være tomt. |
Egenskaber for output for datamanager
Datamanager skriver outputegenskaber, som kunderne kan læse. En intern metode genererer data, og FlowAttributeChangeEvent udsender dataene til den relevante egenskab, som vist i dette eksempel.
this.dispatchEvent(
new FlowAttributeChangeEvent(FLOW_REACTIVITY_MESSAGES, messages)
);
Denne tabel viser, hvad Datamanager leverer til andre komponenter. Kolonnen Datakilde identificerer den interne proces, der genererer dataene.
| Egenskab | Datatype | Beskrivelse | Datakilde |
|---|---|---|---|
| sidehoved | Objekt | Oplysninger om det aktuelle produktoverskrift | mergeContexts() |
| meddelelser | Opstilling | Validerings-/fejlmeddelelser | API-svar + regler |
| optionGrupper | Opstilling | Produktkomponentgrupper (indstillinger) | mergeContexts() |
| attributeCategories | Opstilling | Produktattributkategorier | mergeContexts() |
| summary | Objekt | Konfigurationssammendrag (flettet transaktionstræ) | mergeContexts() |
| navigationRoute | Opstilling | Aktuel navigationssti eller brødkrummer | buildNavigationInfo() |
| searchInfo | Opstilling | Søgedata for produktkatalog | buildSearchInfo() |
| faner | Opstilling | Tilgængelige faner for multi-root-pakker | buildTabs() |
| currencyCode | Streng | Valutakode til prissætning | API-svar |
| transactionRecord | Objekt | Transaktionsregistreringsdetaljer | fillTransactionRecord() |
| headerTitle | Streng | Sidehovedtiteltekst | generateHeaderTitle() |
| isInstantPricingToggleEnabled | Boolesk | Om omgående prisomskifter vises | setToggleStates() |
| isInstantPricingEnabled | Boolesk | Aktuel øjeblikkelig prissætningstilstand | Skift/API |
| isProductValidationEnabled | Boolesk | Aktuel valideringstilstand | Skift/API |
| showPrices | Boolesk | Om der skal vises priser | Statslogik |
| showSummaryTotalSection | Boolesk | Om afsnittet sammendrag i alt skal vises | Forsikringstilsidesættelse |
| favoritData | Streng (JSON) |
Konfigurationsdata for favoritter | getFavoriteData() |
| isConfiguratorDisabled | Boolesk | Om konfigurator er inaktiveret | Tilstand for brugergrænseflade |
| isApiInProgress | Boolesk | Om API-kald er i gang | API-livscyklus |
| isPriceRampEnabled | Boolesk | Om prisramper er aktiveret | Kontekstkontrol |
| isGroupRampEnabled | Boolesk | Om grupperampler er aktiveret | Gruppeberegning |
| salesTransactionItems | Opstilling | Alle transaktionselementer | API-svar |
| layoutMode | Streng | Layouttilstand (standard eller kompakt) | Til/fra |
| searchResultOptionId | Streng | Id for valgt søgeresultatindstilling | Søgenavigation |
| rootProductId | Streng | Rodprodukt-id | Katalogdata |
| currentGroupName | Streng | Aktuelt gruppenavn | getCurrentGroupName() |
| contextMetadata | Objekt | Kontekstmetadata for attributter for Salgstransaktionselement, der kan tilpasses. Indeholder feltdefinitioner (betegnelser, datatyper, pluklisteværdier) for tilpassede attributter, der kan vises i brugergrænsefladen. | Kontekstparsing |
| eligiblePromotions | Opstilling | Liste over berettigede kampagner | Promoverings-API |
Begivenheder, som datamanager lytter til
Datamanager lytter til Lightning Message Service-begivenheder (LMS) og kabeladaptere.
Hvis du vil lytte til LMS-begivenheder, abonnerer Datamanager på meddelelseskanalen og modtager LMS-begivenheder, som andre komponenter har udgivet der. Denne tabel viser LMS-begivenhedshandlinger, deres handlermetoder, og hvad handlingerne gør.
| Begivenhedshandling | Handlermetode | Hvad det gør |
|---|---|---|
| valueChange | setState() | Opdaterer konfigurationstilstand (valg, mængder, attributter) |
| navigere | navigate() | Navigerer gennem pakkehierarkiet |
| closePreview | closePreview() | Lukker eksempelvisningsvinduet |
| toggleInstantPricing | setInstantPricing() | Skifter øjeblikkelig prissætning til/fra |
| toggleExplainability (Tilgængelighed) | setExplainability() | Omskifter forklarbarhed til/fra |
| toggleRulesValidation | setProductValidation() | Skifter validering til/fra |
| updatePrices | updatePrices() | Manuelt udløser prissætning |
| validateProduct | validateProduct() | Manuelt udløser validering |
| cloneItems | cloneItems() | Duplikerer transaktionselementer |
| toggleCompactLayout | setLayoutModeOnToggle() | Skifter layouttilstand |
| contextDefinitionChanged | setContextDefinition() | Opdaterer kontekstdefinition |
| saveFavConfiguration | handleSaveConfiguration() | Gemmer konfigurationen som favorit |
| loadFavorite | handleLoadFavorite() | Indlæs favoritkonfiguration |
Wire adaptere lytter automatisk efter dataændringer fra Salesforces platform og overfører dataændringerne til Datamanager. Denne tabel viser de kabeladapterbegivenheder, som Datamanager lytter til.
| Trådadapter | Kilde | Hvad lytter det til | Handlermetode | Formål |
|---|---|---|---|---|
MessageContext |
Lightning/messageService | Meddelelseskontekst for LMS | Ikke relevant (angiver kontekst) |
Aktiverer LMS-kommunikation |
getContextServiceDefinition |
Lightning/industrierContextApi | Kontekstdefinitionsændringer | gotContextDefinition() |
Lytter efter kontekstdefinitionsdata |
getObjectInfos (2nd) |
Lightning/uiObjectInfoApi | Oplysninger om transaktionselementobjekt | getObjectInfos() | Lytter efter transaktionselementmetadata |
Begivenhedsdatamanager - brande
Datamanager udløser tilpassede begivenheder, toastbegivenheder og forløbsattributændringsbegivenheder.
Denne tabel viser tilpassede begivenheder for Datamanager-brands, herunder boble- og sammensatte begivenheder.
| Begivenhedsnavn | Boble | Sammensat | Når det brænder | Formål |
|---|---|---|---|---|
| indlæsning | Ja | Ja | Under indledende indlæsning | Adviser overordnet om indlæsningstilstand |
| fortsæt | Ja | Ja | Annuller ved rod ELLER luk vindue | Luk konfigurator uden at gemme |
| gem | Ja | Ja | Gem og afslut navigation | Gem konfiguration og afslut |
| close_modal | Ja | Ja | Luk eksempelvisning | Luk eksempelvisningsvindue |
| showConflictToast | Ja | Ja | Ikke-blokerende API-konflikter registreret | Vis konfliktadvarselstost |
Denne tabel viser toastbegivenheden Datamanager-brands.
| Begivenhedsnavn | Hvornår er det fyret | Formål |
|---|---|---|
| ShowToastEvent | Efter indlæsning af favorit | Adviser bruger om vellykket favoritindlæsning |
Datamanager udsender FlowAttributeChange-begivenheder for alle reaktive egenskaber på hver brugergrænsefladeopdatering.
