Loading
Datenmanager

Datenmanager

Der Datenmanager ist die Komponente für die Statusverwaltung und Orchestrierung des Produktkonfigurators. Diese Komponente speichert Produktdaten und verwendet Flow-Ereignisse, um die Daten in andere Komponenten auf dem Flow-Bildschirm zu übertragen.

Erforderliche Editionen

Verfügbarkeit: Lightning Experience
Verfügbarkeit: Enterprise, Unlimited und Developer Edition der Umsatzverwaltung (ehemals Revenue Cloud) mit der Revenue Cloud Growth-Lizenz oder der Revenue Cloud Advanced-Lizenz

Verantwortlichkeiten für Datenmanager

  • Beibehalten des Transaktionskontexts und Konfigurationsstatus
  • Aufrufen der Konfigurator-API und Verarbeiten von Antworten
  • Verarbeiten von Lightning Message Service-Ereignissen über Benutzeroberflächenkomponenten
  • Bereitstellen von Daten auf der Benutzeroberfläche und Bereitstellen reaktiver Eigenschaften für untergeordnete Komponenten
  • Unterstützen des Speicherns und Ladens von bevorzugten Konfigurationen

API-Name des Datenmanagers

S01_DataManager

Datenmanager-Eingabeeigenschaften

Der Datenmanager akzeptiert Daten aus den Eigenschaften der übergeordneten oder Flow-Komponente, die von Benutzern festgelegt wurden.

Eigenschaft Typ Erforderlich Beschreibung
transactionLine-ID Zeichenfolge Ja Stammprodukt- oder Transaktionsposten-ID
currentTransactionLineId Zeichenfolge Ja Aktuelle Zeile, die angezeigt wird
Transaktions-ID Zeichenfolge Ja Vertriebstransaktions-ID (Angebot, Auftrag usw.)
parentName Zeichenfolge Ja Name oder Titel der übergeordneten Transaktion, auf die sich die Konfiguration bezieht.
Ursprung Zeichenfolge Ja Name des übergeordneten Objekts des Transaktionsdatensatzes. Beispiel: "Opportunity", "Angebot", "Auftrag", "Vermögenswert" usw. Dadurch wird angegeben, welcher Salesforce-Objekttyp die Konfiguration startet. Wird für die Navigation, Benutzeroberflächenbezeichnung usw. verwendet.
addedNodes Array Nein Flow-Ressource, die eine Sammlung von Apex ProductConfig__SalesTransactionItem-Datensätzen enthält, die der übergeordneten Datensatztransaktion zugeordnet sind.
isNonBlockingEnabled Boolesch Nein Aktivieren Sie den Nicht-Blockierungsmodus. Wenn diese Option aktiviert ist, können Benutzer weiterhin mit der Benutzeroberfläche interagieren, während API-Aufrufe im Hintergrund verarbeitet werden. Änderungen werden asynchron in die Warteschlange gestellt und verarbeitet, ohne die Benutzeroberfläche zu blockieren. Wenn die Benutzeroberfläche deaktiviert ist, wird sie während API-Aufrufen gesperrt.
areMessagesFixed Boolesch Nein Gibt an, ob die Nachrichtenkomponente eine feste Position aufweist. Wenn "true" (wahr) festgelegt ist, bleibt die Nachrichtenkomponente oben auf dem Bildschirm fixiert und bleibt beim Bildlauf sichtbar (klebrige Positionierung). Bei false blättert die Nachrichtenkomponente mit dem Seiteninhalt (relative Positionierung). Nützlich, damit Validierungsfehler/Warnungen während der Konfiguration immer sichtbar bleiben
contextId Zeichenfolge Nein ID des für den Produktkonfigurator angegebenen Transaktionskontexts
enableARCValidierung Boolesch Nein Gibt an, ob die ARC-Validierung (Asset Renewal Configuration) während der Produktkonfiguration ausgeführt wird
transactionLineGroup-ID Zeichenfolge Nein ID der Gruppe, die den aktuellen Transaktionsposten enthält, der konfiguriert wird. Bei Angeboten ist dies die Angebotsbelegposten-Gruppen-ID. Bei Aufträgen ist dies die Auftragsposten-Gruppen-ID.
ErklärbarkeitAktiviert Boolesch Nein Wenn "Erklärbarkeit" aktiviert ist, enthält der Produktkonfigurator detaillierte Erläuterungen dazu, warum Produkte ausgeblendet, deaktiviert oder empfohlen werden. Zeigt Details zur Regelausführung und Geschäftslogik an, damit Benutzer Konfigurationseinschränkungen besser verstehen.
userContext Objekt Nein

API-Name einer Flow-Variablen, die Benutzerqualifikationsdaten enthält. Diese Variable hat den Typ ProductConfig__UserContext und bestimmt die Produktberechtigung anhand benutzerspezifischer Attribute.

1. Erstellen Sie in Flow Builder einen API-Variablennamen, beispielsweise userContextData.

2. Verwenden Sie ein Element vom Typ "Zuweisung" oder "Datensätze abrufen", um die Variable auszufüllen, und legen Sie Felder wie "Rolle", "Region", "accountType" usw. fest. Beispiel: {!userContextData.role} = {!$User.UserRole.Name}

3. Wählen Sie im Datenmanager für "Benutzerkontext" die Option {!userContextData} aus. Die Konfigurator-API verwendet diese Daten, um Qualifikationsregeln auszuwerten und zu filtern, welche Produkte verfügbar sind. Wenn Sie beispielsweise über Regeln wie "Nur Enterprise-Produkte für Enterprise-Vertriebsmitarbeiter anzeigen" verfügen, überprüft die API die Rolle des Benutzers in diesem Kontext.

Wählen Sie nur dann einen Benutzerkontext aus, wenn Sie über Produktqualifikationsregeln verfügen, die von benutzerspezifischen Attributen wie Rolle, Region usw. abhängen. Wenn alle Produkte für alle Benutzer verfügbar sind, lassen Sie dieses Feld leer.

Datenmanager-Ausgabeeigenschaften

Der Datenmanager schreibt Ausgabeeigenschaften, die Kunden lesen können. Eine interne Methode generiert Daten und der FlowAttributeChangeEvent sendet die Daten an die entsprechende Eigenschaft, wie in diesem Beispiel gezeigt.

this.dispatchEvent(
   new FlowAttributeChangeEvent(FLOW_REACTIVITY_MESSAGES, messages)
);

Diese Tabelle zeigt, welche Daten der Datenmanager für andere Komponenten bereitstellt. In der Spalte "Datenquelle" wird der interne Prozess angegeben, der die Daten generiert.

Eigenschaft Datentyp Beschreibung Datenquelle
Kopfzeile Objekt Aktuelle Informationen zur Produktkopfzeile mergeContexts()
Nachrichten Array Validierungs-/Fehlermeldungen API-Antwort + Regeln
optionGroups Array Produktkomponentengruppen (Optionen) mergeContexts()
attributeCategories Array Produktattributkategorien mergeContexts()
Übersicht Objekt Konfigurationszusammenfassung (zusammengeführte Transaktionsstruktur) mergeContexts()
NavigationRoute Array Aktueller Navigationspfad oder Breadcrumbs buildNavigationInfo()
searchInfo Array Suchdaten für Produktkatalog buildSearchInfo()
Registerkarten Array Verfügbare Registerkarten für Pakete mit mehreren Wurzeln buildTabs()
currencyCode Zeichenfolge Währungscode für die Preisgestaltung API-Antwort
transactionRecord Objekt Transaktionsdatensatzdetails populateTransactionRecord()
headerTitel Zeichenfolge Kopfzeilentiteltext generateHeaderTitle()
isInstantPricingToggleEnabled Boolean (Boolesch) Gibt an, ob sofortiger Preisumschalter angezeigt wird setToggleStates()
isInstantPricingEnabled Boolean (Boolesch) Aktueller Status der sofortigen Preisgestaltung Umschalter/API
isProductValidationEnabled Boolean (Boolesch) Aktueller Validierungsstatus Umschalter/API
showPrices Boolean (Boolesch) Ob Preise angezeigt werden sollen Statuslogik
showSummaryTotalSection Boolean (Boolesch) Gibt an, ob der Abschnitt "Zusammenfassungsgesamtwert" angezeigt werden soll Versicherungsüberschreibung
favoriteData

Zeichenfolge (JSON)

Konfigurationsdaten für Favoriten getFavoriteData()
isConfiguratorDisabled Boolean (Boolesch) Ob Konfigurator deaktiviert ist Benutzeroberflächenstatus
isApiInProgress Boolean (Boolesch) Ob API-Aufruf ausgeführt wird API-Lebenszyklus
isPriceRampEnabled Boolean (Boolesch) Ob Preisrampen aktiviert sind Kontextprüfung
isGroupRampEnabled Boolean (Boolesch) Ob Gruppenrampen aktiviert sind Gruppenberechnung
salesTransactionItems Array Alle Transaktionselemente API-Antwort
layoutMode Zeichenfolge Layoutmodus (Standard oder kompakt) Umschalter
searchResultOptionId Zeichenfolge ID der ausgewählten Suchergebnisoption Suchnavigation
rootProductId Zeichenfolge Stammprodukt-ID Katalogdaten
currentGroupName Zeichenfolge Aktueller Gruppenname getCurrentGroupName()
contextMetadata Objekt Kontextmetadaten für anpassbare Attribute des Vertriebstransaktionselements. Enthält Felddefinitionen (Bezeichnungen, Datentypen, Auswahllistenwerte) für benutzerdefinierte Attribute, die auf der Benutzeroberfläche angezeigt werden können. Kontextanalyse
eligiblePromotions Array Liste der zulässigen Sonderangebote Sonderangebots-API

Ereignisse, die der Datenmanager anhört

Der Datenmanager hört Lightning Message Service-Ereignisse und Wire-Adapter.

Zum Anhören von LMS-Ereignissen abonniert der Datenmanager den Nachrichtenkanal und empfängt LMS-Ereignisse, die von anderen Komponenten dort veröffentlicht wurden. In dieser Tabelle sind LMS-Ereignisaktionen, ihre Handler-Methoden und die Aktionen aufgeführt.

Ereignisaktion Handler-Methode Was es bewirkt
valueChange setState() Aktualisiert den Konfigurationsstatus (Auswahlen, Mengen, Attribute)
Navigieren naviate() Navigiert durch die Pakethierarchie
closePreview closePreview() Fenster 'Vorschau schließen'
toggleInstantPricing setInstantPricing() Schaltet die sofortige Preisgestaltung ein/aus
toggleExplainability setExplainability() Schaltet die Erklärbarkeit ein/aus
toggleRulesValidierung setProductValidation() Schaltet die Validierung ein/aus
updatePrices updatePrices() Löst Preise manuell aus
validateProduct validateProduct() Validierung manuell auslösen
cloneItems cloneItems() Dupliziert Transaktionselemente
toggleCompactLayout setLayoutModeOnToggle() Schaltet den Layoutmodus um
contextDefinitionGeändert setContextDefinition() Kontextdefinition für Aktualisierungen
saveFavConfiguration handleSaveConfiguration() Speichert Konfiguration als Favorit
loadFavorite handleLoadFavorite() Lädt die bevorzugte Konfiguration

Drahtadapter hören automatisch auf Datenänderungen von der Salesforce-Plattform und übergeben die Datenänderungen an den Datenmanager. Diese Tabelle zeigt die Wire-Adapter-Ereignisse, die der Datenmanager anhört.

Kabeladapter Quelle Was es anhört Handler-Methode Zweck
MessageContext Lightning / MessageService Nachrichtenkontext für LMS

Nicht zutreffend (bietet Kontext)

Aktiviert die LMS-Kommunikation
getContextServiceDefinition Lightning / IndustriesContextApi Kontextdefinitionsänderungen

gotContextDefinition()

Hört auf Kontextdefinitionsdaten
getObjectInfos (2nd) Lightning/uiObjectInfoApi Objektinformationen für Transaktionselemente getObjectInfos() Hört auf Transaktionselement-Metadaten

Datenmanager für Ereignisse wird ausgelöst

Der Datenmanager löst benutzerdefinierte Ereignisse, Toast-Ereignisse und Flow-Attributänderungsereignisse aus.

In dieser Tabelle werden benutzerdefinierte Ereignisse angezeigt, die vom Datenmanager ausgelöst werden, einschließlich brodelnder und zusammengesetzter Ereignisse.

Ereignisname Blasen Zusammengesetzt Wenn es brennt Zweck
Laden Ja Ja Während der ersten Last Übergeordneten Ladestatus benachrichtigen
Fortfahren Ja Ja Fenster "Stornieren" im Stamm ODER "Schließen" Konfigurator schließen ohne zu speichern
Speichern Ja Ja Navigation speichern und beenden Konfiguration speichern und beenden
close_modal Ja Ja Vorschau schließen Vorschaufenster schließen
showConflictToast Ja Ja Nicht blockierende API-Konflikte erkannt Toast zur Konfliktwarnung anzeigen

In dieser Tabelle wird das Toast-Ereignis "Data Manager fires" (Datenmanager für Toast-Ereignisse) angezeigt.

Ereignisname Wann wird es ausgelöst? Zweck
ShowToastEvent Nach dem erfolgreichen Laden des Favoriten Benachrichtigen des Benutzers beim erfolgreichen Laden als Favorit

Der Datenmanager disponiert FlowAttributeChange-Ereignisse für alle reaktiven Eigenschaften bei jeder Benutzeroberflächenaktualisierung.

 
Laden
Salesforce Help | Article