Loading
Gestor de datos

Gestor de datos

El Gestor de datos es el componente de gestión de estado y orquestación para el Configurador de productos. Este componente almacena datos de productos y utiliza eventos de flujo para propagar los datos a otros componentes en la pantalla de flujo.

Ediciones necesarias

Disponible en: Lightning Experience
Disponible en: Ediciones Enterprise, Unlimited y Developer de Gestión de ingresos (anteriormente Revenue Cloud) con la licencia Revenue Cloud Growth o la licencia Revenue Cloud Advanced

Responsabilidades del gestor de datos

  • Mantener el contexto de transacción y el estado de configuración
  • Invocar la API del configurador y procesar respuestas
  • Procesar eventos de Lightning Message Service (LMS) desde componentes de la interfaz de usuario
  • Proporcionar datos a la interfaz de usuario y exponer propiedades reactivas a componentes secundarios
  • Admite guardar y cargar configuraciones favoritas

Nombre de API del gestor de datos

S01_DataManager

Propiedades de entrada del Gestor de datos

El Gestor de datos acepta datos de propiedades de componente principal o de flujo establecidas por los usuarios.

Propiedad Tipo Obligatorio Descripción
transactionLineId Cadena Id. de producto raíz o línea de transacción
currentTransactionLineId Cadena Línea actual que se está visualizando
transactionId Cadena Id. de transacción de ventas (Presupuesto, Pedido, etc.)
parentName Cadena Nombre o cargo de la transacción principal a la que pertenece la configuración.
origen Cadena Nombre del objeto principal del registro de transacción. Ejemplo: 'Oportunidad', 'Presupuesto', 'Pedido', 'Activo', etc. Esto identifica qué tipo de objeto de Salesforce inicia la configuración. Se utiliza para la navegación, la etiqueta de la interfaz de usuario, etc.
nodos añadidos Matriz No Recurso de flujo que contiene una recopilación de registros Apex ProductConfig__SalesTransactionItem asociados con la transacción de registro principal.
isNonBlockingEnabled Booleano No Active el modo de no bloqueo. Cuando se activa, esto permite a los usuarios continuar interactuando con la interfaz de usuario mientras las llamadas de API se procesan en segundo plano. Los cambios se ponen en cola y se procesan de forma asíncrona sin bloquear la interfaz de usuario. Cuando se desactiva, la interfaz de usuario se bloquea durante las llamadas de API.
areMessagesFixed Booleano No Si el componente mensajes tiene una posición fija. Cuando es verdadero, el componente mensajes permanece fijo en la parte superior de la pantalla y permanece visible mientras se desplaza (posicionamiento fijo). Cuando es falso, el componente mensajes se desplaza con el contenido de la página (posicionamiento relativo). Útil para mantener los errores/advertencias de validación siempre visibles durante la configuración
contextId Cadena No Id. del contexto de transacción especificado para Configurador de productos
enableARCValidation Booleano No Indica si la validación de ARC (Configuración de renovación de activos) se ejecuta durante la configuración del producto
transactionLineGroupId Cadena No Id. del grupo que contiene la línea de transacción actual que se está configurando. Para Presupuestos, este es el Id. de Grupo de partidas de presupuesto. Para Pedidos, este es el Id. de Grupo de artículos de pedido.
explicabilidadActivado Booleano No Cuando la capacidad de explicación está activada, el Configurador de productos proporciona explicaciones detalladas de por qué los productos están ocultos, desactivados o recomendados. Muestra detalles de ejecución de reglas y razonamiento de lógica comercial para ayudar los usuarios a comprender las restricciones de configuración.
userContext Objeto No

Nombre de API de una variable de flujo que contiene datos de cualificación de usuario. Esta variable es del tipo ProductConfig__UserContext y determina la aptitud del producto basándose en atributos específicos del usuario.

1. En Flow Builder, cree un nombre de API de variable, por ejemplo, userContextData.

2. Utilice un elemento Asignación u Obtener registros para rellenar la variable y establecer campos como función, región, accountType, etc. Por ejemplo, {!userContextData.role} = {!$User.UserRole.Name}

3. En Gestor de datos, en Contexto de usuario, seleccione {!userContextData}. La API del configurador utiliza estos datos para evaluar reglas de cualificación y filtrar qué productos están disponibles. Por ejemplo, si tiene reglas como "Mostrar productos de empresa solo a representantes de ventas de empresa", la API comprueba la función del usuario desde este contexto.

Seleccione un contexto de usuario solo si tiene reglas de cualificación de productos que dependen de atributos específicos del usuario como función, territorio, etc. Si todos los productos están disponibles para todos los usuarios, deje este campo vacío.

Propiedades de salida del Gestor de datos

El Gestor de datos escribe propiedades de salida que los clientes pueden leer. Un método interno genera datos y el FlowAttributeChangeEvent despacha los datos a la propiedad relevante, como se muestra en este ejemplo.

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

Esta tabla muestra lo que el Gestor de datos proporciona a otros componentes. La columna Origen de datos identifica el proceso interno que genera los datos.

Propiedad Tipo de datos Descripción Origen de datos
encabezado Objeto Información de encabezado de producto actual mergeContexts()
mensajes Matriz Mensajes de validación/error Respuesta de API + reglas
optionGroups Matriz Grupos de componentes de productos (opciones) mergeContexts()
attributeCategories Matriz Categorías de atributos de productos mergeContexts()
resumen Objeto Resumen de configuración (árbol de transacciones combinadas) mergeContexts()
navegaciónRuta Matriz Ruta de navegación actual o rutas de exploración buildNavigationInfo()
searchInfo Matriz Buscar datos para catálogo de productos buildSearchInfo()
fichas Matriz Fichas disponibles para paquetes de múltiples raíces buildTabs()
currencyCode Cadena Código de divisa para precios Respuesta de API
transactionRecord Objeto Detalles de registro de transacción populateTransactionRecord()
encabezadoTítulo Cadena Texto del título del encabezado generateHeaderTitle()
isInstantPricingToggleEnabled Booleano Si se muestra la alternancia de precios instantánea setToggleStates()
isInstantPricingEnabled Booleano Estado de precios instantáneos actual Conmutador/API
isProductValidationEnabled Booleano Estado de validación actual Conmutador/API
showPrices Booleano Si mostrar precios Lógica de estado
showSummaryTotalSection Booleano Si mostrar sección de resumen total Sustitución de seguros
favoriteData

Cadena (JSON)

Datos de configuración para favoritos getFavoriteData()
isConfiguratorDisabled Booleano Si el configurador está desactivado Estado de la interfaz de usuario
isApiInProgress Booleano Si la llamada de API está en curso Ciclo de vida de API
isPriceRampEnabled Booleano Si las rampas de precios están activadas Comprobación de contexto
isGroupRampEnabled Booleano Si las rampas de grupo están activadas Cálculo de grupo
salesTransactionItems Matriz Todos los elementos de transacciones Respuesta de API
layoutMode Cadena Modo de formato (estándar o compacto) Cambiar
searchResultOptionId Cadena Id. de opción de resultado de búsqueda seleccionado Navegación de búsqueda
rootProductId Cadena Id. de producto raíz Datos de catálogo
currentGroupName Cadena Nombre de grupo actual getCurrentGroupName()
contextMetadata Objeto Metadatos de contexto para atributos de Elemento de transacción de ventas personalizables. Contiene definiciones de campo (etiquetas, tipos de datos, valores de lista de selección) para atributos personalizados que se pueden mostrar en la interfaz de usuario. Análisis de contexto
elegiblePromociones Matriz Lista de promociones aptas API de promoción

Eventos que escucha el Gestor de datos

El Gestor de datos escucha eventos del Servicio de mensajes Lightning (LMS) y adaptadores de cable.

Para escuchar eventos LMS, el Gestor de datos se suscribe al canal de mensajes y recibe eventos LMS que otros componentes publicaron allí. Esta tabla muestra acciones de eventos LMS, sus métodos de controlador y lo que hacen las acciones.

Acción de evento Método Handler Lo que hace
valueChange setState() Actualiza el estado de configuración (selecciones, cantidades, atributos)
navegar navegar() Navega por la jerarquía de paquetes
closePreview closePreview() Cierra ventana de vista previa
toggleInstantPricing setInstantPricing() Activa/desactiva precios instantáneos
toggleExplicabilidad setExplicabilidad() Activa/desactiva la explicabilidad
toggleRulesValidation setProductValidation() Activa/desactiva la validación
updatePrices updatePrices() Desencadena precios manualmente
validarProducto validarProducto() Desencadena la validación manualmente
clonItems clonItems() Duplicar elementos de transacciones
toggleCompactLayout setLayoutModeOnToggle() Alterna el modo de formato
contextDefinitionChanged setContextDefinition() Actualiza la definición de contexto
saveFavConfiguration handleSaveConfiguration() Guarda la configuración como favorita
loadFavorite handleLoadFavorite() Carga la configuración favorita

Los adaptadores de cable escuchan automáticamente los cambios de datos desde la plataforma de Salesforce y pasan los cambios de datos al Gestor de datos. Esta tabla muestra los eventos de adaptador de cable que escucha el Gestor de datos.

Adaptador de cable Origen Para qué escucha Método Handler Objetivo
MessageContext Lightning / servicio de mensajes Contexto de mensajes para LMS

No aplicable (proporciona contexto)

Activa la comunicación LMS
getContextServiceDefinition Lightning / IndustriasContextoApi Cambios de definición de contexto

gotContextDefinition()

Escucha datos de definición de contexto
getObjectInfos (2nd) Lightning / uiObjectInfoApi Información de objeto de elemento de transacción getObjectInfos() Escucha metadatos de elementos de transacciones

Eventos Desencadenamientos de gestor de datos

El Gestor de datos activa eventos personalizados, eventos de bienvenida y eventos de cambio de atributos de flujo.

Esta tabla muestra eventos personalizados que desencadena el Gestor de datos, incluyendo eventos compuestos y burbujeantes.

Nombre del evento Burbujas Compuesta Cuando se dispara Objetivo
carga Durante la carga inicial Notificar al principal del estado de carga
continuar Cancelar en la ventana raíz O cerrar Cerrar el configurador sin guardar
guardar Guardar y salir de navegación Guardar configuración y salida
close_modal Cerrar vista previa Cerrar ventana de vista previa
showConflictToast Conflictos de API no bloqueantes detectados Mostrar brindis de advertencia de conflicto

Esta tabla muestra los disparos del Gestor de datos de eventos de bienvenida.

Nombre del evento Cuándo se dispara Objetivo
MostrarToastEvent Después de cargar el favorito correctamente Notificar al usuario de una carga de favoritos correcta

El Gestor de datos despacha eventos FlowAttributeChange para todas las propiedades reactivas en cada actualización de la interfaz de usuario.

 
Cargando
Salesforce Help | Article