Loading
Gerenciador de dados

Gerenciador de dados

O Gerenciador de dados é o componente de gerenciamento de estado e orquestração para o Product Configurator. Esse componente armazena dados do produto e usa eventos de fluxo para propagar os dados para outros componentes na tela de fluxo.

Edições obrigatórias

Disponível em: Lightning Experience
Disponível em: Edições Enterprise, Unlimited e Developer do Revenue Management (anteriormente Revenue Cloud) com a licença Revenue Cloud Growth ou a licença Revenue Cloud Advanced

Responsabilidades do gerente de dados

  • Manter o contexto da transação e o estado de configuração
  • Chamar a API do configurador e processar respostas
  • Processar eventos do Lightning Message Service (LMS) de componentes da IU
  • Fornecer dados à IU e expor propriedades reativas a componentes filhos
  • Oferecer suporte para salvar e carregar configurações favoritas

Nome da API do Gerente de dados

S01_DataManager

Propriedades de entrada do Gerente de dados

O Gerente de dados aceita dados de propriedades pai ou de componente de fluxo definidas pelos usuários.

Propriedade Tipo Obrigatório Descrição
transactionLineId String Sim ID de linha da transação ou produto raiz
currentTransactionLineId String Sim Linha atual que está sendo visualizada
transactionId String Sim ID da transação de vendas (cotação, pedido e assim por diante)
parentName String Sim Nome ou título da transação pai à qual a configuração pertence.
origem String Sim Nome do objeto pai do registro da transação. Exemplo: "Oportunidade", "Cotação", "Pedido", "Ativo" e assim por diante. Isso identifica qual tipo de objeto do Salesforce inicia a configuração. Usado para navegação, rótulo da IU e assim por diante.
addedNodes Matriz Não Recurso de fluxo que contém uma coleção de registros do Apex ProductConfig__SalesTransactionItem associados à transação do registro pai.
isNonBlockingEnabled Booleano Não Ative o modo sem bloqueio. Quando ativada, isso permite que os usuários continuem interagindo com a UI enquanto as chamadas à API estão sendo processadas em segundo plano. As alterações são colocadas em fila e processadas de modo assíncrono sem bloquear a UI. Quando desativada, a IU fica bloqueada durante chamadas à API.
areMessagesFixed Booleano Não Se o componente de mensagens tem uma posição fixa. Quando verdadeiro, o componente de mensagens permanece fixo na parte superior da tela e permanece visível durante a rolagem (posicionamento persistente). Quando falso, o componente de mensagens rola com o conteúdo da página (posicionamento relativo). Útil para manter erros/avisos de validação sempre visíveis durante a configuração
contextId String Não ID do contexto da transação especificado para o Product Configurator
enableARCValidation Booleano Não Indica se a validação do ARC (configuração de renovação de ativo) é executada durante a configuração do produto
transactionLineGroupId String Não ID do grupo que contém a linha da transação atual que está sendo configurada. Para Cotações, esse é o ID do grupo de linhas de cotação. Para Pedidos, esse é o ID do grupo de itens do pedido.
explainabilityEnabled Booleano Não Quando a Capacidade de explicação está habilitada, o Product Configurator fornece explicações detalhadas sobre por que os produtos são ocultados, desabilitados ou recomendados. Mostra os detalhes da execução da regra e o raciocínio da lógica de negócios para ajudar os usuários a entender as restrições de configuração.
userContext Objeto Não

Nome de API de uma variável de fluxo que contém dados de qualificação do usuário. Essa variável é do tipo ProductConfig__UserContext e determina a elegibilidade do produto com base em atributos específicos do usuário.

1. No Flow Builder, crie um nome de API de variável, por exemplo, userContextData.

2. Use um elemento Atribuição ou Obter registros para preencher a variável e definir campos como role, region, accountType etc. Por exemplo, {!userContextData.role} = {!$User.UserRole.Name}

3. No Gerenciador de dados, para Contexto do usuário, selecione {!userContextData}. A API do configurador usa esses dados para avaliar regras de qualificação e filtrar quais produtos estão disponíveis. Por exemplo, se você tiver regras como "Mostrar produtos empresariais apenas a representantes de vendas empresariais", a API verificará o papel do usuário nesse contexto.

Selecione um contexto de usuário apenas se você tiver regras de qualificação de produto que dependam de atributos específicos do usuário, como papel, território e assim por diante. Se todos os produtos estiverem disponíveis a todos os usuários, deixe esse campo vazio.

Propriedades de saída do Gerente de dados

O Gerente de dados grava propriedades de saída que os clientes podem ler. Um método interno gera dados e o FlowAttributeChangeEvent envia os dados para a propriedade relevante, como mostra este exemplo.

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

Esta tabela mostra quais dados o Gerenciador de dados fornece a outros componentes. A coluna Origem de dados identifica o processo interno que gera os dados.

Propriedade Tipo de dados Descrição Origem de dados
cabeçalho Objeto Informações do cabeçalho do produto atual mergeContexts()
mensagens Matriz Mensagens de erro/validação Resposta da API + regras
optionGroups Matriz Grupos de componentes do produto (opções) mergeContexts()
attributeCategories Matriz Categorias de atributos do produto mergeContexts()
resumo Objeto Resumo da configuração (árvore de transações mescladas) mergeContexts()
navigationRoute Matriz Caminho de navegação atual ou trilhas de navegação buildNavigationInfo()
searchInfo Matriz Dados de pesquisa para o catálogo de produtos buildSearchInfo()
guias Matriz Guias disponíveis para pacotes de várias raízes buildTabs()
currencyCode String Código de moeda para precificação Resposta da API
transactionRecord Objeto Detalhes do registro da transação populateTransactionRecord()
headerTitle String Texto do título do cabeçalho generateHeaderTitle()
isInstantPricingToggleEnabled Booleano Se a opção de precificação instantânea é mostrada setToggleStates()
isInstantPricingEnabled Booleano Estado de precificação instantânea atual Alternância/API
isProductValidationEnabled Booleano Estado de validação atual Alternância/API
showPrices Booleano Se os preços serão exibidos Lógica de estado
showSummaryTotalSection Booleano Se deseja mostrar a seção total do resumo Substituição de seguro
favoriteData

String (JSON)

Dados de configuração para favoritos getFavoriteData()
isConfiguratorDisabled Booleano Se o configurador está desabilitado Estado da IU
isApiInProgress Booleano Se a chamada de API está em andamento Ciclo de vida da API
isPriceRampEnabled Booleano Se as rampas de preço estão habilitadas Verificação de contexto
isGroupRampEnabled Booleano Se as rampas de grupo estão habilitadas Cálculo do grupo
salesTransactionItems Matriz Todos os itens da transação Resposta da API
layoutMode String Modo de layout (padrão ou compacto) Alternância
searchResultOptionId String ID da opção de resultado da pesquisa selecionada Navegação de pesquisa
rootProductId String ID do produto raiz Dados do catálogo
currentGroupName String Nome do grupo atual getCurrentGroupName()
contextMetadata Objeto Metadados de contexto para atributos personalizáveis de Item da transação de vendas. Contém definições de campo (rótulos, tipos de dados, valores de lista de opções) para atributos personalizados que podem ser exibidos na UI. Análise de contexto
eligiblePromotions Matriz Lista de promoções elegíveis API de promoção

O Gerenciador de dados de eventos escuta

O Gerenciador de dados escuta eventos do Lightning Message Service (LMS) e adaptadores de conexão.

Para ouvir eventos do LMS, o Gerenciador de dados assina o canal de mensagens e recebe eventos do LMS que outros componentes publicaram lá. Esta tabela mostra ações de evento do LMS, seus métodos de manipulador e o que as ações fazem.

Ação do evento Método do manipulador O que faz
valueChange setState() Atualiza o estado de configuração (seleções, quantidades, atributos)
navegar navigate() Navega pela hierarquia de pacotes
closePreview closePreview() Fecha a janela de visualização
toggleInstantPricing setInstantPricing() Ativa/desativa a precificação instantânea
capacidade de explicação setExplainability() Ativa/desativa a capacidade de explicação
toggleRulesValidation setProductValidation() Ativa/desativa a validação
updatePrices updatePrices() Aciona manualmente a precificação
validateProduct validateProduct() Aciona manualmente a validação
cloneItems cloneItems() Clona itens de transação
toggleCompactLayout setLayoutModeOnToggle() Alterna o modo de layout
contextDefinitionChanged setContextDefinition() Atualiza a definição de contexto
saveFavConfiguration handleSaveConfiguration() Salva a configuração como favorita
loadFavorite handleLoadFavorite() Carrega a configuração favorita

Os adaptadores de conexão escutam automaticamente as alterações de dados da plataforma do Salesforce e passam as alterações de dados para o Gerenciador de dados. Esta tabela mostra os eventos do adaptador de conexão que o Gerenciador de dados escuta.

Adaptador de fio Origem O que ele escuta Método do manipulador Objetivo
MessageContext Lightning/messageService Contexto da mensagem para LMS

Não aplicável (informa o contexto)

Habilita a comunicação do LMS
getContextServiceDefinition Lightning/industriesContextApi Alterações de definição de contexto

gotContextDefinition()

Escute dados de definição de contexto
getObjectInfos (2nd) Lightning/uiObjectInfoApi Informações do objeto de item de transação getObjectInfos() Escute os metadados do item de transação

Incursões do Gerenciador de dados de eventos

O Gerenciador de dados aciona eventos personalizados, eventos de toast e eventos de alteração de atributo de fluxo.

Esta tabela mostra as ações personalizadas do Gerenciador de dados, incluindo bolhas e eventos compostos.

Nome do evento Bolhas Composto Quando Fogo Objetivo
carregando Sim Sim Durante o carregamento inicial Notificar pai do estado de carregamento
continuar Sim Sim Cancelar na janela raiz OU fechar Feche o configurador sem salvar
salvar Sim Sim Salvar e sair da navegação Salvar configuração e sair
close_modal Sim Sim Fechar visualização Fechar janela de visualização
showConflictToast Sim Sim Conflitos de API não de bloqueio detectados Mostrar toast de aviso de conflito

Esta tabela mostra as incursões de evento de toast do Gerenciador de dados.

Nome do evento Quando é Descarregado Objetivo
ShowToastEvent Depois de carregar favorito com sucesso Notificar o usuário de um carregamento de favorito bem-sucedido

O Gerente de dados envia eventos de FlowAttributeChange para todas as propriedades reativas em cada atualização da IU.

 
Carregando
Salesforce Help | Article