Gestore dati
Gestore dati è il componente di gestione e orchestrazione dello stato per Product Configurator. Questo componente memorizza i dati dei prodotti e utilizza gli eventi del flusso per propagare i dati ad altri componenti nella schermata del flusso.
Versioni (Edition) richieste
| Disponibile nelle versioni: Lightning Experience |
| Disponibile in: Enterprise Edition, Unlimited Edition e Developer Edition di Revenue Management (precedentemente Revenue Cloud) con licenza Revenue Cloud Growth o Revenue Cloud Advanced License |
Responsabilità del Gestore dati
- Mantenere il contesto della transazione e lo stato di configurazione
- Invocare l'API Configurator e le risposte del processo
- Elaborazione di eventi Lightning Message Service (LMS) dai componenti dell'interfaccia utente
- Fornire dati all'interfaccia utente ed esporre le proprietà reattive ai componenti secondari
- Supporta il salvataggio e il caricamento delle configurazioni preferite
Nome API Gestore dati
S01_DataManager
Proprietà di input del Gestore dati
Il Gestore dati accetta i dati dalle proprietà del componente controllante o del flusso impostate dagli utenti.
| Proprietà | Tipo | Obbligatorio | Descrizione |
|---|---|---|---|
| transactionLineId | Stringa | Sì | ID radice prodotto o riga transazione |
| currentTransactionLineId | Stringa | Sì | Riga corrente visualizzata |
| transactionid | Stringa | Sì | ID transazione di vendita (preventivo, ordine e così via) |
| parentName | Stringa | Sì | Nome o titolo della transazione controllante a cui si riferisce la configurazione. |
| origine | Stringa | Sì | Nome dell'oggetto controllante del record transazione. Esempio: 'Opportunità', 'Preventivo', 'Ordine', 'Asset' e così via. Identifica il tipo di oggetto Salesforce che avvia la configurazione. Utilizzato per la navigazione, l'etichetta dell'interfaccia utente e così via. |
| addedNodes | Matrice | No | Risorsa del flusso che contiene una raccolta di record Apex ProductConfig__SalesTransactionItem associati alla transazione del record controllante. |
| isNonBlockingEnabled | Booleano | No | Attivare la modalità non di blocco. Quando è attivato, questo consente agli utenti di continuare a interagire con l'interfaccia utente mentre le chiamate API vengono elaborate in background. Le modifiche vengono inserite in area di attesa ed elaborate in modo asincrono senza bloccare l'interfaccia utente. Quando è disattivata, l'interfaccia utente viene bloccata durante le chiamate API. |
| areMessagesFixed | Booleano | No | Indica se il componente Messaggi ha una posizione fissa. Quando è true, il componente Messaggi rimane fisso nella parte superiore della schermata e rimane visibile durante lo scorrimento (posizione appiccicosa). Se false, il componente messaggi scorre con il contenuto della pagina (posizionamento relativo). Utile per mantenere gli errori/avvisi di convalida sempre visibili durante la configurazione |
| contextid | Stringa | No | ID del contesto della transazione specificato per Product Configurator |
| enableARCValidation | Booleano | No | Indica se la convalida CRF (Asset Renewal Configuration) viene eseguita durante la configurazione del prodotto |
| transactionLineGroupId | Stringa | No | ID del gruppo che contiene la riga della transazione corrente in fase di configurazione. Per Preventivi, questo è l'ID gruppo di voci preventivo. Per Ordini, questo è l'ID gruppo di voci ordine. |
| spiegazioneAbilitato | Booleano | No | Quando è abilitata la Spiegabilità, Product Configurator fornisce spiegazioni dettagliate sui motivi per cui i prodotti sono nascosti, disabilitati o consigliati. Mostra i dettagli dell'esecuzione delle regole e il ragionamento della logica aziendale per aiutare gli utenti a capire i vincoli di configurazione. |
| userContext | Oggetto | No | Nome API di una variabile di flusso che contiene i dati di qualifica utente. Questa variabile è di tipo ProductConfig__UserContext e determina l'idoneità del prodotto in base ad attributi specifici dell'utente. 1. In Flow Builder, creare un nome API variabile, ad esempio userContextData. 2. Utilizzare un elemento Assegnazione o Ottieni record per compilare la variabile e impostare campi come ruolo, regione, accountType e così via. Ad esempio, {!userContextData.role} = {!$User.UserRole.Name} 3. Nel Gestore dati, per Contesto utente, selezionare {!userContextData}. L'API Configurator utilizza questi dati per valutare le regole di qualifica e filtrare i prodotti disponibili. Ad esempio, se sono presenti regole come "Mostra prodotti Enterprise solo agli agenti di vendita Enterprise", l'API controlla il ruolo dell'utente da questo contesto. Selezionare un contesto utente solo se sono presenti regole di qualifica dei prodotti che dipendono da attributi specifici dell'utente come ruolo, territorio e così via. Se tutti i prodotti sono disponibili per tutti gli utenti, lasciare vuoto questo campo. |
Proprietà di output del Gestore dati
Il Gestore dati scrive le proprietà di output che i clienti possono leggere. Un metodo interno genera i dati e il FlowAttributeChangeEvent li invia alla proprietà pertinente, come mostrato in questo esempio.
this.dispatchEvent(
new FlowAttributeChangeEvent(FLOW_REACTIVITY_MESSAGES, messages)
);
Questa tabella mostra i dati forniti dal Gestore dati ad altri componenti. La colonna Fonte di dati identifica il processo interno che genera i dati.
| Proprietà | Tipo di dati | Descrizione | Fonte di dati |
|---|---|---|---|
| intestazione | Oggetto | Informazioni sull'intestazione prodotto corrente | mergeContexts() |
| messaggi | Matrice | Messaggi di convalida/errore | Risposta API + regole |
| optionGroups (Gruppi di opzioni) | Matrice | Gruppi di componenti prodotto (opzioni) | mergeContexts() |
| attributoCategorie | Matrice | Categorie attributo prodotto | mergeContexts() |
| summary | Oggetto | Riepilogo della configurazione (albero delle transazioni unite) | mergeContexts() |
| navigationRoute (Percorso navigazione) | Matrice | Percorso di navigazione corrente o breadcrumb | buildNavigationInfo() |
| searchInfo | Matrice | Ricerca di dati per catalogo prodotti | buildSearchInfo() |
| schede | Matrice | Schede disponibili per i bundle multi-radice | buildTabs() |
| currencyCode | Stringa | Codice valuta per i prezzi | Risposta API |
| transactionRecord | Oggetto | Dettagli record transazione | populateTransactionRecord() |
| headerTitolo | Stringa | Testo titolo intestazione | generateHeaderTitle() |
| isInstantPricingToggleEnabled | Booleano | Se viene visualizzato il selettore prezzi istantanei | setToggleStates() |
| isInstantPricingEnabled | Booleano | Stato attuale dei prezzi istantanei | Selettore/API |
| isProductValidationEnabled | Booleano | Stato di convalida corrente | Selettore/API |
| showPrices | Booleano | Se visualizzare i prezzi | Logica statale |
| showSummaryTotalSection | Booleano | Se visualizzare la sezione totale riepilogo | Sostituzione assicurazione |
| favoriteData (Dati preferiti) | Stringa (JSON) |
Dati di configurazione per i preferiti | getFavoriteData() |
| isConfiguratorDisabled | Booleano | Se il configuratore è disabilitato | Stato interfaccia utente |
| isApiInProgress | Booleano | Se è in corso una chiamata API | Ciclo di vita API |
| isPriceRampEnabled | Booleano | Se le rampe prezzi sono abilitate | Controllo contesto |
| isGroupRampEnabled | Booleano | Se le rampe del gruppo sono abilitate | Calcolo dei gruppi |
| salesTransactionItems | Matrice | Tutte le voci transazione | Risposta API |
| layoutMode | Stringa | Modalità layout (standard o compatta) | Selettore |
| searchResultOptionId | Stringa | ID opzione risultato di ricerca selezionato | Navigazione di ricerca |
| rootProductId | Stringa | ID prodotto radice | Dati catalogo |
| currentGroupName | Stringa | Nome gruppo corrente | getCurrentGroupName() |
| contextMetadata (contestoMetadati) | Oggetto | Metadati di contesto per gli attributi Voce transazione di vendita personalizzabili. Contiene le definizioni dei campi (etichette, tipi di dati, valori degli elenchi di selezione) per gli attributi personalizzati che possono essere visualizzati nell'interfaccia utente. | Analisi contesto |
| Promozioni idonee | Matrice | Elenco promozioni idonee | API promozione |
Il Gestore dati eventi ascolta
Il Gestore dati ascolta gli eventi Lightning Message Service (LMS) e gli adattatori di fili.
Per ascoltare gli eventi LMS, il Gestore dati si abbona al canale dei messaggi e riceve gli eventi LMS pubblicati da altri componenti. Questa tabella mostra le azioni degli eventi LMS, i relativi metodi di gestione e le azioni eseguite.
| Azione evento | Metodo Handler | Cosa fa |
|---|---|---|
| valueChange | setState() | Aggiorna lo stato della configurazione (selezioni, quantità, attributi) |
| navigazione | navigate() | Naviga nella gerarchia dei bundle |
| closePreview | closePreview() | Chiude la finestra di anteprima |
| toggleInstantPricing | setInstantPricing() | Attiva/disattiva prezzi istantanei |
| toggleExplainability (Spiegabilità toggle) | setExplainability() | Attiva/disattiva spiegabilità |
| toggleRulesValidation | setProductValidation() | Attiva/disattiva convalida |
| updatePrices (aggiorna prezzi) | updatePrices() | Attiva manualmente i prezzi |
| validateProduct | validateProduct() | Attiva manualmente la convalida |
| ClonaElementi | cloneitems() | Clona voci transazione |
| toggleCompactLayout | setLayoutModeOnToggle() | Attiva e disattiva la modalità layout |
| contextDefinitionChanged | setContextDefinition() | Aggiorna la definizione contesto |
| saveFavConfiguration | handleSaveConfiguration() | Salva la configurazione come preferita |
| loadFavorite | handleLoadFavorite() | Carica la configurazione preferita |
Gli adattatori per cavi ascoltano automaticamente le modifiche dei dati dalla piattaforma Salesforce e le trasmettono al Gestore dati. Questa tabella mostra gli eventi adattatore cavo ascoltati dal Gestore dati.
| Adattatore | Origine | Cosa ascolta | Metodo Handler | Scopo |
|---|---|---|---|---|
MessageContext |
Lightning/messageService | Contesto del messaggio per LMS | Non applicabile (fornisce il contesto) |
Abilita la comunicazione LMS |
getContextServiceDefinition |
Lightning/industriesContextApi | Modifiche della definizione contesto | gotContextDefinition() |
Ascolta i dati di definizione contesto |
getObjectInfos (2nd) |
Lightning/uiObjectInfoApi | Informazioni sull'oggetto voce transazione | getObjectInfos() | Ascolta i metadati delle voci transazione |
Eventi Incendi del Gestore dati
Il Gestore dati attiva eventi personalizzati, eventi toast ed eventi di modifica degli attributi del flusso.
Questa tabella mostra gli eventi personalizzati che attivano il Gestore dati, inclusi le bolle e gli eventi composti.
| Nome dell'evento | Bolle | Composto | Quando spara | Scopo |
|---|---|---|---|---|
| caricamento | Sì | Sì | Durante il caricamento iniziale | Avvisa il controllante dello stato di caricamento |
| procedere | Sì | Sì | Annulla alla radice O chiudi finestra | Chiudere il configuratore senza salvare |
| salvataggio | Sì | Sì | Salvataggio e uscita dalla navigazione | Salva configurazione e uscita |
| close_modal | Sì | Sì | Chiudi anteprima | Chiudi finestra di anteprima |
| showConflictToast | Sì | Sì | Rilevati conflitti API non bloccanti | Mostra messaggio di avviso di conflitto |
Questa tabella mostra l'evento toast attivato dal Gestore dati.
| Nome dell'evento | Quando viene sparato | Scopo |
|---|---|---|
| ShowToastEvent | Dopo aver caricato correttamente i preferiti | Avvisa l'utente del caricamento dei preferiti riuscito |
Il Gestore dati invia gli eventi FlowAttributeChange per tutte le proprietà reattive a ogni aggiornamento dell'interfaccia utente.
