Loading
Gestor de datos

Gestor de datos

Gestor de datos es el componente de gestión de estado y orquestación para 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: Enterprise Edition, Unlimited Edition y Developer Edition de Revenue Management (anteriormente Revenue Cloud) con la licencia Revenue Cloud Growth o la licencia Revenue Cloud Advanced

Responsabilidades del gestor de datos

  • Mantener el contexto de la transacción y el estado de configuración
  • Invocar la API del configurador y procesar respuestas
  • Procesar eventos de Servicio de mensajes Lightning (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 usuarios.

Propiedad Tipo Obligatorio Descripción
transactionLineId Cadena Sí Id. de producto raíz o línea de transacción
currentTransactionLineId Cadena Sí Línea actual que se está visualizando
transactionId Cadena Sí Id. de transacción de ventas (Presupuesto, Pedido, etc.)
parentName Cadena Sí Nombre o cargo de la transacción principal a la que pertenece la configuración.
origen Cadena Sí 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 navegación, etiqueta de 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 partida 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 partidas de pedido.
explicabilidadActivada Booleano No Cuando Capacidad de explicación está activada, 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 de negocio 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 role, region, accountType, etc. Por ejemplo, {!userContextData.role} = {!$User.UserRole.Name}

3. En Gestor de datos, para 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 compañía solo a representantes de ventas de compañía", 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.

instantPricing Booleano No Un valor booleano que indica si los precios instantáneos están activados de forma predeterminada.

Propiedades de salida del Gestor de datos

El Gestor de datos redacta 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 qué datos proporciona el Gestor de datos 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
optionGrupos 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 combinado) 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 Alternancia/API
isProductValidationEnabled Booleano Estado de validación actual Alternancia/API
showPrices Booleano Si mostrar precios Lógica de estado
showSummaryTotalSection Booleano Si mostrar sección de resumen total Sustitución de seguro
favoriteData

Cadena (JSON)

Datos de configuración para favoritos getFavoriteData()
isConfiguratorDisabled Booleano Si el configurador está desactivado Estado de 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 Formato (estándar o compacto) Alternar
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 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

El gestor de datos de eventos escucha

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

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
toggleExplainability setExplainability() Activación/desactivación de la capacidad de explicación
toggleRulesValidation setProductValidation() Activación/desactivación de validación
updatePrices updatePrices() Desencadena precios manualmente
validarProducto validateProduct() Desencadena la validación manualmente
clonItems cloneItems() Duplicar elementos de transacciones
toggleCompactLayout setLayoutModeOnToggle() Modo de formato de alternancia
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 red escuchan automáticamente los cambios de datos desde Salesforce Platform y pasan los cambios de datos al Gestor de datos. Esta tabla muestra los eventos del adaptador de red 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/industriesContextApi 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

Desencadena el Gestor de datos de eventos

El Gestor de datos desencadena eventos personalizados, eventos de alerta y eventos de cambio de atributos de flujo.

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

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

Esta tabla muestra el evento de saludo que desencadena el Gestor de datos.

Nombre del evento Cuándo se dispara Objetivo
ShowToastEvent Después de cargar 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