# Dashboards, Relatórios e Consultas # 3.0 Configuração de dashboards # Ativando e Criando Dashboards no CRM One Web ## Como ativar os dashboards padrões 1. Acesse o CRM One Web 2. No menu, clique em **Ferramentas > Configurações de Dashboard**. 3. Na coluna "Ativo", clique no botão liga/desliga para ativar os indicadores desejados. 4. Acesse a aba **Dashboard** para visualizar os indicadores. [![image.png](http://manuais.dwu.com.br/uploads/images/gallery/2025-06/scaled-1680-/L3Limage.png)](http://manuais.dwu.com.br/uploads/images/gallery/2025-06/L3Limage.png) ## Como criar um novo indicador ou gráfico Para criar indicadores personalizados, é necessário ter conhecimento em consultas SQL/HANA. ### 1. Acesse o menu Navegue até **Ferramentas > Configurações de Dashboard** e clique em **Adicionar novo**. [![image.png](http://manuais.dwu.com.br/uploads/images/gallery/2025-06/scaled-1680-/yQCimage.png)](http://manuais.dwu.com.br/uploads/images/gallery/2025-06/yQCimage.png) Na tela seguinte, iniciamos a criação do nosso novo indicador ou gráfico para a aba “Dashboard”. [![image.png](http://manuais.dwu.com.br/uploads/images/gallery/2025-06/scaled-1680-/8PUimage.png)](http://manuais.dwu.com.br/uploads/images/gallery/2025-06/8PUimage.png) ### 2. Preencha as informações
CampoDescrição
Nome indicadorNome interno do indicador.
ÍconeVisível apenas se o tipo for "Indicador".
Nome para exibiçãoNome visível no dashboard.
AgrupadorEx: "Clientes", "Vendas". Agrupa visualmente os indicadores.
OrdenaçãoUse números como 100, 200, 300 para ordenar.
Detalhes do indicadorDescrição informativa sobre a lógica do indicador.
TipoIndicador, Gráfico de Barras ou Gráfico de Pizza.
Consulta SQL para indicadorConsulta principal.
Consulta SQL para detalheConsulta de detalhe ao clicar.
Tipo mostradorMoeda ou Número.
Coluna da consultaColuna com chave primária (ex: DocEntry).
Tabela de detalheEx: OCRD, ORDR, OQUT, OSCL, etc.
Autorização de usuáriosSelecione usuários ou deixe em branco para liberar a todos.
AtivoAtiva ou desativa o indicador.
## Exemplos de consultas ### Indicador simples (ex: total de vendas do dia) ``` SELECT SUM(T1."LineTotal") AS 'Vendas do dia' FROM OINV T0 INNER JOIN INV1 T1 ON T0."DocEntry" = T1."DocEntry" WHERE T0."CANCELED" = 'N' AND T1."Usage" IN (SELECT "U_Valor" FROM "@DWU_CFG" WHERE "U_Param" = 'UtilizacaoVenda') AND T0."SlpCode" IN ((SELECT "SlpCode" FROM RetornaVendedoresSubordinados('#UserIDCRM#'))) ``` [![image.png](http://manuais.dwu.com.br/uploads/images/gallery/2025-06/scaled-1680-/cq4image.png)](http://manuais.dwu.com.br/uploads/images/gallery/2025-06/cq4image.png) ### Gráfico de barras ``` SELECT T2.SlpName AS 'Vendedor', SUM(T1.LineTotal) AS 'Venda realizada', SUM(T1.DiscPrcnt/100*T1.LineTotal) AS 'Descontos concedidos' FROM OINV T0 INNER JOIN INV1 T1 ON T1.DocEntry = T0.DocEntry INNER JOIN OSLP T2 ON T0.SlpCode = T2.SlpCode WHERE T0."CANCELED" = 'N' AND T1."Usage" IN (SELECT "U_Valor" FROM "@DWU_CFG" WHERE "U_Param" = 'UtilizacaoVenda') AND T0."SlpCode" IN ((SELECT "SlpCode" FROM RetornaVendedoresSubordinados('#UserIDCRM#'))) GROUP BY T2.SlpName ``` [![image.png](http://manuais.dwu.com.br/uploads/images/gallery/2025-06/scaled-1680-/prYimage.png)](http://manuais.dwu.com.br/uploads/images/gallery/2025-06/prYimage.png)

**Dica:** personalize as cores dos dados do gráfico com códigos HTML. Exemplo: `SUM(T1.LineTotal) AS 'Venda realizada |#2E9AFE|'.`Cores HTML: [https://html-color-codes.info/Codigos-de-Cores-HTML/](https://html-color-codes.info/Codigos-de-Cores-HTML/)

### Gráfico de pizza ``` SELECT T2.SlpName AS 'Vendedor', SUM(T1.LineTotal) AS 'Venda realizada' FROM OINV T0 INNER JOIN INV1 T1 ON T1.DocEntry = T0.DocEntry INNER JOIN OSLP T2 ON T0.SlpCode = T2.SlpCode WHERE T0."CANCELED" = 'N' AND T1."Usage" IN (SELECT "U_Valor" FROM "@DWU_CFG" WHERE "U_Param" = 'UtilizacaoVenda') AND T0."SlpCode" IN ((SELECT "SlpCode" FROM RetornaVendedoresSubordinados('#UserIDCRM#'))) GROUP BY T2.SlpName ``` [![image.png](http://manuais.dwu.com.br/uploads/images/gallery/2025-06/scaled-1680-/xgnimage.png)](http://manuais.dwu.com.br/uploads/images/gallery/2025-06/xgnimage.png) ## Consulta de detalhe (clique no gráfico) ``` SELECT TOP 10 CardCode AS Código, 'Nome do cliente exemplo' AS Cliente FROM OCRD ``` O clique no gráfico executará essa consulta e abrirá os dados em uma modal. [![image.png](http://manuais.dwu.com.br/uploads/images/gallery/2025-06/scaled-1680-/QPhimage.png)](http://manuais.dwu.com.br/uploads/images/gallery/2025-06/QPhimage.png) De acordo com o ID da coluna configurada e a tabela de destino, o clique na linha o levará para o cadastro/documento respectivo. Exemplo: Coluna da consulta = 0 Tabela de detalhe = OCRD [![image.png](http://manuais.dwu.com.br/uploads/images/gallery/2025-06/scaled-1680-/TnXimage.png)](http://manuais.dwu.com.br/uploads/images/gallery/2025-06/TnXimage.png) ## Variáveis disponíveis para uso nas consultas
VariávelRetorna
\#UserIDCRM#ID do usuário logado
\#SlpCodeCRM#ID do vendedor logado
### Exemplo de uso em filtros ``` WHERE T0."SlpCode" IN ((SELECT "SlpCode" FROM RetornaVendedoresSubordinados('#UserIDCRM#'))) ``` ### Filtrar utilizações de venda ``` WHERE T1."Usage" IN (SELECT "U_Valor" FROM "@DWU_CFG" WHERE "U_Param" = 'UtilizacaoVenda') ``` ### Filtrar utilizações de devolução ``` WHERE T1."Usage" IN (SELECT "U_Valor" FROM "@DWU_CFG" WHERE "U_Param" = 'UtilizacaoDevolucao') ``` # 3.1 Consulta formatada
## Consulta Formatada no CRM One No CRM One, é possível utilizar um recurso chamado **Consulta Formatada**, inspirado no recurso existente no SAP Business One. Com ele, é possível disparar comandos SQL em determinados campos das telas do sistema, tanto em campos padrão quanto em campos de usuário (UDFs). Além da execução manual ao clicar no campo, o CRM One permite configurar **gatilhos automáticos**, nos quais a consulta será executada automaticamente sempre que um campo específico for preenchido ou alterado. Segue um cenário prático para melhor entendimento: Possuímos o campo de usuário `teste`, precisamos primeiramente deixar esse campo disponível no portal CRM One, caso haja duvida quanto a este procedimento, favor, acessar o manual "[Campos de usuário](http://manuais.dwu.com.br/books/crm-one-web/page/912-campos-de-usuario "9.12 Campos de usuário")": [![image.png](http://manuais.dwu.com.br/uploads/images/gallery/2025-06/scaled-1680-/em9image.png)](http://manuais.dwu.com.br/uploads/images/gallery/2025-06/em9image.png)
Após colocarmos o campo na tela do CRM One, precisamos criar a consulta formatada para que seja executado nesse campo: [![image.png](http://manuais.dwu.com.br/uploads/images/gallery/2025-06/scaled-1680-/Anmimage.png)](http://manuais.dwu.com.br/uploads/images/gallery/2025-06/Anmimage.png) Assim que criado a consulta formatada, ao acessarmos o portal CRM One e colocarmos um item, a consulta disparará autoamticamente: [![image.png](http://manuais.dwu.com.br/uploads/images/gallery/2025-06/scaled-1680-/h7Ximage.png)](http://manuais.dwu.com.br/uploads/images/gallery/2025-06/h7Ximage.png)

Aviso: O cenário acima é apenas um demonstrativo de como funciona o disparo automático da consulta em campos de usuários. Ao decorrer do manual será explicado e detalhado todo o processo de consulta formatada.

--- ### Telas Disponíveis - Pedido de Venda - Cotação de Venda - Cadastro de Parceiro de Negócio (PN) - Endereços do PN - Atendimento - Oportunidade de Venda - Chamado de Serviço --- ### Pedido de Venda / Cotação de Venda #### Campos disponíveis para Consulta Formatada: - Código do cliente - Nome cliente - Número de referência do cliente - Data de lançamento - Válido até - Data do documento - Quantidade de embalagens - Descrição da embalagem - Marca - Peso líquido - Peso bruto - Observação - Filial - Transportadora - Texto livre - Preço unitário - Desconto - Depósito - Quantidade do item - Utilização do item - Data de entrega da linha - Dimensão 1 a 5 - Campos de usuário (UDFs) #### Campos/Linha para Gatilho Automático: - Código do item - Texto livre - Detalhes do item - Fator 1 a 5 - Quantidade - Unidade de medida do estoque - Unidade de medida - Preço - Desconto - Utilização - Total da linha #### Campos/Cabeçalho para Gatilho Automático: - Código do cliente - Pessoa de contato - Lista de preços - Número de referência - Data de lançamento - Data de vencimento - Data do documento - Filial - Vendedor - Titular - Uso principal - Condição de pagamento --- ### Cadastro de Parceiro de Negócio (PN) **Não possui campos de gatilho automático.** #### Campos disponíveis para consulta formatada: - Código - Nome - Nome estrangeiro - Email - Website - Senha - Telefone 1 - Telefone - Observações - Texto 1 - Texto 2 - Texto 3 - Data 1 - Data 2 - Quantidade - Valor - Porcentagem - Observação - Campos de usuário --- ### Endereços do PN #### Campos disponíveis para consulta formatada: - Observação 1 - Observação 2 --- ### Atendimento #### Campos disponíveis para consulta formatada: - Assunto --- ### Oportunidade de Venda #### Campos disponíveis para consulta formatada: - Nome da oportunidade - Aba Geral: Observações - Aba Parceiros: Observação - Aba Concorrentes: Observação - Campos de usuário --- ### Chamado de Serviço #### Campos disponíveis para consulta formatada: - Telefone - Número de referência do PN - Item - Descrição - Assunto - Campos de usuário #### Campos com Gatilho de Disparo Automático: - Código do item - Descrição do item --- A funcionalidade de Consulta Formatada no CRM One amplia as possibilidades de personalização, adaptando o sistema às necessidades de cada operação, com flexibilidade e controle.
## Cadastro de Consultas Formatadas Para configurar as consultas formatadas no CRM One, acesse o seguinte caminho: **Módulos** > **CRM One** > **Configurações** > **Configurações Gerais** > **Extensão CRM One: Documentos** (botão **Consulta Formatada**) [![image.png](http://manuais.dwu.com.br/uploads/images/gallery/2025-06/scaled-1680-/FiKimage.png)](http://manuais.dwu.com.br/uploads/images/gallery/2025-06/FiKimage.png) 1. **Código:** Numeração gerada automática via controle do SAP 2. **Descrição:** Descreva de forma objetiva o que a consulta formatada trata ou realiza. 3. **Tela:** Defina qual a tela que a consulta formatará será disparada 4. **Campo:** Defina o campo com base na tela escolhida 5. **Executa automático:** Escolha se a consulta formatada terá sua consultada disparada de forma automática ou manual. 6. **Campo para executar automático:** Defina qual será o campo que servirá de gatilho para que a consulta seja disparada de forma automática. 7. **Tipo de atualização:** 1. **Sempre atualizar:** Todo vez que o gatilho definido no ponto 6° for executado, será executado novamente a consulta e atualizado o valor. 2. **Manter valor informado:** Independente do acionamento do gatilho, quando o campo for populado a primeira vez após consulta ele não terá seu valor atualizado e manterá o mesmo valor. ### Variáveis para Personalização Além de configurar consultas diretamente nos campos das telas, o CRM One disponibiliza uma série de variáveis que tornam a personalização das consultas ainda mais flexível. Abaixo estão as variáveis disponíveis para a tela de **Cotação de Venda**:
Campo na telaVariável
ID do usuário logado\#UserIDCRM#
Número do documento\#ctl00\_ContentPlaceHolder1\_txtNumeroDocumento#
Código Cliente\#ctl00\_ContentPlaceHolder1\_txtCodigoClienteDocumento#
Nome Cliente\#ctl00\_ContentPlaceHolder1\_txtNomeClienteDocumento#
Lista de Preço\#ctl00\_ContentPlaceHolder1\_ddlListaDePreco#
Válido até\#ctl00\_ContentPlaceHolder1\_txtDataVencimento#
Filial\#ctl00\_ContentPlaceHolder1\_ddlFilial#
Endereço de entrega\#ctl00\_ContentPlaceHolder1\_end\_entrega#
Endereço de cobrança\#ctl00\_ContentPlaceHolder1\_end\_cobranca#
Condição de pagamento\#ctl00\_ContentPlaceHolder1\_cond\_pagamento#
Uso principal\#ctl00\_ContentPlaceHolder1\_ddlUsoPrincipal#
Código Item\#ctl00\_ContentPlaceHolder1\_txtNumeroItem#
### Permissões por Usuário Outro recurso importante disponível na tela de consulta formatada é a opção de **permissões**. O CRM One permite definir exatamente quais usuários poderão utilizar a consulta formatada em um determinado campo. Caso exista a necessidade de restringir o acesso de determinados usuários, basta não incluí-los na lista de permissões ao configurar a consulta. Isso garante mais controle sobre o uso das consultas e evita que usuários não autorizados acessem dados sensíveis ou utilizem comandos não apropriados para o seu perfil.
# 3.2 Filtro personalizado para Itens ## Filtro Personalizado para Itens – CRM One A configuração de **filtros personalizados** consiste na possibilidade de criar uma ou mais consultas SQL na tela de seleção de itens de cotações e pedidos de vendas no **CRM One Web**. Você pode criar listas com as colunas e critérios desejados, considerando variáveis como o usuário logado, cliente selecionado, lista de preços, condição de pagamento e outros parâmetros. ### Exemplos de Consultas Possíveis ``` Exemplo 1 – Itens vendidos nos últimos 90 dias: SELECT T0.ItemCode, T0.ItemName, 0 AS [Quantidade], #PrecoUnitario# AS [Preço] FROM OITM T0 WHERE T0.ItemCode IN ( SELECT DISTINCT A.ItemCode FROM INV1 A INNER JOIN OINV B ON A.DocEntry = B.DocEntry WHERE B.CardCode = '#CardCode#' AND B.DocDate >= (SELECT GETDATE()-90) ) Exemplo 2 – Itens do grupo ID 107: SELECT T0.ItemCode, T0.ItemName, 0 AS [Quantidade], #PrecoUnitario# AS [Preço], T0.FrgnName, T0.CodeBars, T0.OnHand, T0.IsCommited, T0.OnOrder, T0.DfltWH FROM OITM T0 WHERE T0.ItmsGrpCod = 107 Exemplo 3 – Itens com estoque disponível: SELECT T0.ItemCode, T0.ItemName, 0 AS [Quantidade], #PrecoUnitario# AS [Preço], T0.CodeBars, T0.OnHand, T0.IsCommited, T0.OnOrder, T0.DfltWH FROM OITM T0 WHERE (T0.OnHand - T0.IsCommited + T0.OnOrder) > 0 ``` ### Etapas de Configuração 1. Abra o **SAP Business One** e inicie o **add-on CRM One**. 2. Acesse: **CRM One → Configurações → Configurações Gerais → Extensão CRM One → Documentos** e marque a opção **“Utilizar seleção de item”** como “Paramétrica”. [![image.png](http://manuais.dwu.com.br/uploads/images/gallery/2025-07/scaled-1680-/image.png)](http://manuais.dwu.com.br/uploads/images/gallery/2025-07/image.png) 3. Depois, acesse: **CRM One → Configurações → Cadastro de filtro personalizado para itens**. [![image.png](http://manuais.dwu.com.br/uploads/images/gallery/2025-07/scaled-1680-/eHFimage.png)](http://manuais.dwu.com.br/uploads/images/gallery/2025-07/eHFimage.png) 4. Na tela de configuração abaixo, podemos fazer a personalização. Veja: [![image.png](http://manuais.dwu.com.br/uploads/images/gallery/2025-07/scaled-1680-/CbVimage.png)](http://manuais.dwu.com.br/uploads/images/gallery/2025-07/CbVimage.png) ### Campos da Tela de Configuração - **Código:** é um código sequencial gerado automaticamente pelo sistema para identificar o filtro personalizado - **Ativo:** Defini se o filtro estará ou não disponibilizado no portal WEB - **Nome:** Nome exibido no dropdown/lista da seleção - **Qtd. de filtros obrigatórios:** Define quantos filtros obrigatórios devem ser preenchidos, da esquerda para direita, para que a condição do ITEM GENÉRICO seja exibida. Esta funcionalidade pode ser usada para exibir itens genéricos/similares caso a pesquisa principal do produto não retorne opções. Exemplo: no filtro principal busco nas colunas um determinado produto com determinadas características. Caso ao final da pesquisa das colunas obrigatórias, nenhum item seja retornado, o segundo WHERE (segunda condição) configurada, é executada para exibir outro critério de itens. - **Coluna para preço unitário, quantidade, depósito, utilização e desconto:** Determina qual coluna será usada no retorno e aplicada no documento. -

**Editável:** Todos os campos que tem a flag “Editável” marcada, exibirão o campo aberto para digitação (desde que o usuário tenha permissão nas Autorizações Gerais). Com isso, a inserção de itens com essas informações se torna mais prática e rápida, possibilitando a pesquisa e inserção de vários itens ao mesmo tempo no documento**.**

- **Coluna obrigatória a partir do ID:** Define o inicio da coluna que será obrigatória o preenchimento dos dados. ### Abas Disponíveis - **Simples:** consultas diretas e leves - **Avançada:** para consultas com `JOINs`, `CALLs` ou lógica mais complexa - **Filtros Selecionáveis:** possibilita criar dropdowns com opções dinâmicas (ex.: grupo de itens, marcas, tipos) ### Filtro Selecionável Você pode adicionar filtros dinâmicos à interface de seleção, por exemplo, um filtro de **Grupo de Itens**: ``` SELECT T0."ItmsGrpNam", T0."ItmsGrpNam" FROM OITB T0 ``` Nesse caso, o dropdown exibirá os grupos de itens, e ao selecionar um, a exibição será filtrada com base na seleção.

Observação: A consulta precisa retornar exatamente duas colunas – a primeira será o valor do filtro aplicado, e a segunda o texto que será exibido ao usuário.

[![image.png](http://manuais.dwu.com.br/uploads/images/gallery/2025-07/scaled-1680-/ZyTimage.png)](http://manuais.dwu.com.br/uploads/images/gallery/2025-07/ZyTimage.png) [![image.png](http://manuais.dwu.com.br/uploads/images/gallery/2025-07/scaled-1680-/W3Limage.png)](http://manuais.dwu.com.br/uploads/images/gallery/2025-07/W3Limage.png) ### Variáveis Disponíveis - **\#UserIDCRM#** – ID do usuário logado - **\#SlpCodeCRM#** – Código do vendedor - **\#CardCode#** – Código do cliente - **\#ListaPreco#** – Lista de preço - **\#CondicaoPagamento#** – Condição de pagamento - **\#Filial#** – Filial - **\#DataEntrega#** – Data de entrega - **\#PrecoUnitario#** – Preço da lista - **\#UltimoPreco#** – Último preço de venda ### Utilização no CRM One Web Após salvar o filtro, acesse o portal Web, inicie uma nova cotação ou pedido, e clique na tela de **seleção de itens**. O dropdown com os filtros personalizados será exibido. Ao selecionar um filtro, apenas os itens que atendem aos critérios definidos na consulta serão listados. Se a coluna “Quantidade” for 0, o usuário poderá preenchê-la manualmente. Somente itens com quantidade maior que zero serão inseridos no documento. [![image.png](http://manuais.dwu.com.br/uploads/images/gallery/2025-07/scaled-1680-/Jleimage.png)](http://manuais.dwu.com.br/uploads/images/gallery/2025-07/Jleimage.png)

**DICA: caso queira repetir o último pedido do cliente por exemplo, é possível trazer o campo quantidade e preço já preenchidos. Assim, o usuário conseguirá apenas selecionar o filtro e em seguida clicar em “Adicionar itens”.**

# 3.3 Análise de origem de documentos (Pedido de vendas) # Relatório de Pedidos por Origem Ao adicionar um documento através do CRM One, é possível identificar se ele foi criado pelo **Portal** ou pelo **Aplicativo Mobile**. Se sua empresa deseja analisar a quantidade de documentos criados por origem, é possível utilizar o modelo de relatório abaixo.

**Recomendação:** Utilize o formato **Tabela Dinâmica** para visualizar os dados de forma flexível.

**[Tabelas dinâmicas](http://manuais.dwu.com.br/books/crm-one-web/page/34-tabelas-dinamicas "Tabelas dinâmicas")** O uso de tabelas dinâmicas (ou pivot tables) é uma excelente forma de fazer análises gerenciais de forma ágil e dinâmica. Visando a disponibilização de uma funcionalidade prática foi implementado no CRM One web este novo recurso, que permitirá a execução de relatórios no formato de tabela dinâmica (pivot table). Cenário de exemplo O primeiro … [Continue lendo](http://manuais.dwu.com.br/books/crm-one-web/page/34-tabelas-dinamicas "Tabelas dinâmicas")
[![image.png](http://manuais.dwu.com.br/uploads/images/gallery/2025-06/scaled-1680-/snIimage.png)](http://manuais.dwu.com.br/uploads/images/gallery/2025-06/snIimage.png) Configuração da Tabela Dinâmica - **Linhas:** Origem, Vendedor, Usuário - **Colunas:** Ano, Mês - **Valores:** Quantidade (com função de contagem) Com isso, será possível visualizar quantos pedidos foram criados por cada plataforma e por quem. ## Consulta para SAP HANA ``` SELECT T2."U_NAME" as "Usuário", T1."SlpName" as "Vendedor", T0."DocNum" as "Num. PV", CASE WHEN T0."U_DWU_Origem" = 'W' THEN 'CRM One - Portal' WHEN T0."U_DWU_Origem" = 'M' THEN 'CRM One - App Celular' ELSE 'Outros (SAP/Site)' END AS "Origem", T0."DocDate" as "Data", MONTH(T0."DocDate") as "Mês", YEAR(T0."DocDate") as "Ano", 1 as "Quantidade" FROM ORDR T0 INNER JOIN OSLP T1 ON T0."SlpCode" = T1."SlpCode" INNER JOIN OUSR T2 ON T0."UserSign" = T2."USERID" WHERE T0."DocDate" BETWEEN '{[Data1CRMOne][Data Inicial]}' AND '{[Data2CRMOne][Data Final]}' AND T0."CANCELED" = 'N' ``` ## Consulta para SQL Server ``` SELECT T2.[U_NAME] as 'Usuário', T1.[SlpName] as 'Vendedor', T0.[DocNum] as 'Núm. PV', CASE WHEN T0.[U_DWU_Origem] = 'W' THEN 'CRM One - Portal' WHEN T0.[U_DWU_Origem] = 'M' THEN 'CRM One - App Celular' ELSE 'Outros (SAP)' END AS 'Origem', T0.[DocDate] as 'Data', MONTH(T0.[DocDate]) AS 'Mês', YEAR(T0.[DocDate]) AS 'Ano', 1 as 'Quantidade' FROM ORDR T0 INNER JOIN OSLP T1 ON T0.[SlpCode] = T1.[SlpCode] INNER JOIN OUSR T2 ON T0.[UserSign] = T2.[USERID] WHERE T0.[DocDate] BETWEEN '{[Data1CRMOne][Data Inicial]}' AND '{[Data2CRMOne][Data Final]}' AND T0.[CANCELED] = 'N' ``` ## Próximos passos Para criar o relatório no formato de **Tabela Dinâmica**, siga o manual completo disponível abaixo: [Acessar manual de criação de Tabela Dinâmica](http://manuais.dwu.com.br/books/crm-one-web/page/34-tabelas-dinamicas "Tabelas dinâmicas") # 3.4 Tabelas dinâmicas # Tabela Dinâmica no CRM One Web O uso de tabelas dinâmicas é uma excelente maneira de realizar análises gerenciais com rapidez e flexibilidade. Com esse recurso, é possível criar relatórios que podem ser montados diretamente na tela pelo usuário, sem depender de novas consultas para cada tipo de análise. ## Cenário de Exemplo Neste exemplo, será criado um relatório baseado em notas fiscais de saída. Para isso, são utilizadas as seguintes tabelas do SAP Business One: - **OINV** – Cabeçalho da nota fiscal de saída - **INV1** – Linhas da nota fiscal - **OSLP** – Vendedores - **OUSG** – Utilizações (operações fiscais) - **OSHP** – Tipo de envio - **OCRD** – Cadastro do parceiro de negócios - **OCRG** – Grupos de parceiros - **OITM** – Cadastro de itens - **OITB** – Grupos de itens

DICA: Utilize o Gerador de Consultas do SAP para construir a estrutura inicial da consulta.

## Desenvolvimento da consulta Para elaboração de forma fácil da consulta SQL, uma sugestão é utilizar o “Gerador de consultas” do SAP Business One, a ferramenta ajuda efetuando de forma automática o link (joins) entre as tabelas do sistema, então vamos acessar o client do SAP Business One e em: ” > Ferramentas > Consultas > Gerador de consultas” [![image.png](http://manuais.dwu.com.br/uploads/images/gallery/2025-06/scaled-1680-/lkWimage.png)](http://manuais.dwu.com.br/uploads/images/gallery/2025-06/lkWimage.png) Recomendamos que a lista de tabelas seja informada em uma ordem específica, de modo que a ligação entre os dados atinja o objetivo desejado, sendo necessário informar: 1. **OINV** 2. **INV1** 3. **OSLP** 4. **OUSG** 5. **OSHP** 6. **OCRD** 7. **OCRG** 8. **OITM** 9. **OITB** [![image.png](http://manuais.dwu.com.br/uploads/images/gallery/2025-06/scaled-1680-/cU0image.png)](http://manuais.dwu.com.br/uploads/images/gallery/2025-06/cU0image.png) Como resultado o próprio SAP Business One irá gerar o comando SQL necessário, onde realizamos alguns ajustes, incluindo “apelidos” (aliases) para as colunas e chegando ao resultado final abaixo, com uma consulta válida para SQL e HANA: ## Consulta SQL (válida para SQL Server e SAP HANA) ``` SELECT T6."GroupName" as "Grupo PN", T5."CardCode" as "Cód. PN", T5."CardName" as "Nome do PN", T5."CardFName" as "Nome estrangeiro/fantasia", T5."MailCity" as "Cidade", T5."State2" as "UF", T4."TrnspName" as "Tipo de envio", T2."SlpName" as "Vendedor", T0."DocNum" as "Num. doc", T0."Serial" as "Num. NF", T0."DocDate" as "Data", MONTH(T0."DocDate") as "Mês", YEAR(T0."DocDate") as "Ano", T8."ItmsGrpNam" as "Grupo de itens", T7."ItemCode" as "Cód. Item", T7."ItemName" as "Desc. Item", T3."Usage" as "Utilização", T1."Quantity" as "Quant.", T1."Price" as "Preço unit.", T1."LineTotal" as "Total", 'Total linhas' as "Total Linhas", 'Total colunas' as "Total colunas" FROM OINV T0 INNER JOIN INV1 T1 ON T0."DocEntry" = T1."DocEntry" INNER JOIN OSLP T2 ON T0."SlpCode" = T2."SlpCode" INNER JOIN OUSG T3 ON T1."Usage" = T3."ID" INNER JOIN OSHP T4 ON T0."TrnspCode" = T4."TrnspCode" INNER JOIN OCRD T5 ON T0."CardCode" = T5."CardCode" INNER JOIN OCRG T6 ON T5."GroupCode" = T6."GroupCode" INNER JOIN OITM T7 ON T1."ItemCode" = T7."ItemCode" INNER JOIN OITB T8 ON T7."ItmsGrpCod" = T8."ItmsGrpCod" WHERE T0."CANCELED" = 'N' ```

**Dica:** As colunas “Total linhas” e “Total colunas” servem para facilitar a criação de totalizadores automáticos no relatório.

## Testando a consulta Durante a construção da consulta SQL é fundamental testar e verificar se o conjunto de dados está coerente, se os dados estão corretos e não foi gerado nenhum produto cartesiano. [![image.png](http://manuais.dwu.com.br/uploads/images/gallery/2025-06/scaled-1680-/uEpimage.png)](http://manuais.dwu.com.br/uploads/images/gallery/2025-06/uEpimage.png) ### Dica 1 – Gere totalizadores com colunas fixas Na consulta SQL, são utilizadas duas colunas fixas chamadas **"Total linhas"** e **"Total colunas"**. Esses campos possuem o mesmo valor para todas as linhas retornadas, e seu objetivo não é exibir dados adicionais, mas sim **possibilitar a exibição de totais gerais** na tabela dinâmica. Para utilizá-las corretamente: - Adicione o campo **Total linhas** no início da área **Linhas**. - Adicione o campo **Total colunas** no início da área **Colunas**. Com isso, a plataforma exibirá automaticamente os totais nas extremidades da tabela, facilitando a leitura e comparação de dados. ### Dica 2 – Otimize a performance do relatório O processamento das informações é realizado diretamente no navegador. Para evitar lentidão na visualização ou travamentos durante a análise, é importante que a consulta SQL esteja **otimizada**. Recomendações: - Evite retornar grandes volumes de dados em formato bruto; - Utilize **filtros na própria SQL** para limitar o resultado (por período, tipo de documento, status etc.); - Realize **agrupamentos** e **cálculos** dentro da própria SQL sempre que possível. Essas práticas contribuem para que a montagem da tabela dinâmica seja mais ágil e eficiente, além de melhorar a experiência de navegação do usuário. ## Configurando no CRM One Web [![image.png](http://manuais.dwu.com.br/uploads/images/gallery/2025-06/scaled-1680-/PkYimage.png)](http://manuais.dwu.com.br/uploads/images/gallery/2025-06/PkYimage.png) 1. Acesse o menu **Ferramentas > Configuração de Consultas**. 2. Na aba **Importação de Consultas**: 1. Nome no menu: *Análise de vendas* 2. Tipo de consulta: selecione a categoria desejada no menu 3. Consulta ativa: **Sim** 4. Todos usuários: **Sim** 5. Tipo de consulta: **Tabela dinâmica** 6. Cole a consulta SQL no campo indicado 7. Clique em **Testar consulta** 8. Por fim, clique em **Adicionar** [![image.png](http://manuais.dwu.com.br/uploads/images/gallery/2025-06/scaled-1680-/Ewrimage.png)](http://manuais.dwu.com.br/uploads/images/gallery/2025-06/Ewrimage.png) ## Executando o Relatório Acesse o menu onde o relatório foi criado. Ao selecionar a opção, uma nova aba será aberta com a tabela dinâmica. Clique em **Cenário selecionado** para abrir os filtros e em seguida clique em **Gerar Relatório**. [![image.png](http://manuais.dwu.com.br/uploads/images/gallery/2025-06/scaled-1680-/E9Dimage.png)](http://manuais.dwu.com.br/uploads/images/gallery/2025-06/E9Dimage.png) Ao clicar no item de menu será carregada uma nova aba “Análise de vendas, clicar na tarja azul “Cenário selecionado”, para abrir as opções de filtro e disponibilizar o botão “Gerar Relatório”, neste exemplo como não há filtros o usuário deverá clicar para gerar e começar a trabalhar com a sua tabela dinâmica. [![image.png](http://manuais.dwu.com.br/uploads/images/gallery/2025-06/scaled-1680-/1AVimage.png)](http://manuais.dwu.com.br/uploads/images/gallery/2025-06/1AVimage.png) ## Montando sua Tabela Dinâmica - **Campos:** lista de colunas disponíveis - **Filtros:** condiciona os dados - **Colunas:** define o eixo horizontal - **Linhas:** define o eixo vertical - **Valores:** define os cálculos (ex: soma) [![image.png](http://manuais.dwu.com.br/uploads/images/gallery/2025-06/scaled-1680-/0rJimage.png)](http://manuais.dwu.com.br/uploads/images/gallery/2025-06/0rJimage.png) ### Primeira execução 1. Arraste **Nome do PN** para o quadro **Linhas**. 2. Arraste **Total** para **Valores**. 3. No botão de configuração do campo Total: - Função cálculo: **Soma** - Prefixo moeda: **R$** - Separador de milhar: **.** - Separador de decimais: **,** Esse formato mostrará a soma total de vendas por cliente. [![image.png](http://manuais.dwu.com.br/uploads/images/gallery/2025-06/scaled-1680-/YvCimage.png)](http://manuais.dwu.com.br/uploads/images/gallery/2025-06/YvCimage.png) Repita o passo anterior, desta vez localizando o campo “Total”, lembrando que este campo representa “\[INV1\].\[LineTotal\] na consulta SQL. [![image.png](http://manuais.dwu.com.br/uploads/images/gallery/2025-06/scaled-1680-/5tmimage.png)](http://manuais.dwu.com.br/uploads/images/gallery/2025-06/5tmimage.png) Vamos agora fazer alguns ajustes na apresentação dos “Valores”, para esta configuração, clicar no ícone de três barras horizontais localizado junto ao campo “Total” recentemente colocado na área de valores. Será apresentado o formulário de “Configuração de campos”. [![image.png](http://manuais.dwu.com.br/uploads/images/gallery/2025-06/scaled-1680-/Lc6image.png)](http://manuais.dwu.com.br/uploads/images/gallery/2025-06/Lc6image.png) Na opção “Função cálculo” podem ser selecionadas as opções: - Contagem - Soma - Mínimo - Máximo - Average (média) - Produto Onde selecionaremos a opção “Soma”
![](http://www.dwu.com.br/wp-content/uploads/2020/09/image-15.png)
Depois de selecionar a “soma”, vamos informar os seguintes dados: - Em “Prefixo moeda” informar “R$” para a representação da moeda Real. - Em “Separador de milhar”, apagar a vírgula informada no campo e digitar o carácter “ponto final”. - Em “Separador de decimais, informar uma “vírgula”. Então clicar em “Ok” Os dados serão processados a primeira visualização está pronta. O resultado desta visualização é a soma do campo \[INV1\].\[LineTotal\] que representa o total da linha em todas as notas fiscais de saída, agrupado por “Nome do PN”.
![](http://www.dwu.com.br/wp-content/uploads/2020/09/image-17-1024x356.png)
\#Dica 3: Após esta execução, lembramos que na consulta estão sendo apresentados todos os dados encontrados em notas fiscais de saída, ou seja, estão sendo apresentados documento válidos, documentos cancelados e documentos de cancelamento de nota fiscal, o que acabará resultando em um informação incoerente, para corrigir este “erro”, editar a consulta e incluir a condição a baixo na última linha da consulta SQL. ``` WHERE T0."CANCELED" = 'N' ``` Com ajuste, os dados sofreram uma pequena alteração, mas agora com informações mais coerentes.
![](http://www.dwu.com.br/wp-content/uploads/2020/09/image-18.png)
## Visualização Avançada 1. Arraste o campo **Ano** para **Colunas**. 2. Para totalizadores: - Arraste **Total linhas** para o topo do quadro Linhas - Arraste **Total colunas** para o topo do quadro Colunas ## Aplicando Filtros 1. Arraste **Ano** para o quadro Filtros 2. Clique no ícone de barras e selecione os anos desejados (ex: somente 2020) 3. Adicione novamente o campo **Ano** em Colunas, se desejar manter a divisão anual [![image.png](http://manuais.dwu.com.br/uploads/images/gallery/2025-06/scaled-1680-/LDUimage.png)](http://manuais.dwu.com.br/uploads/images/gallery/2025-06/LDUimage.png) Com o campo “Ano” na área de “filtros”, clicar sobre o ícone de barras horizontais localizado ao lado da descrição do campo. [![image.png](http://manuais.dwu.com.br/uploads/images/gallery/2025-06/scaled-1680-/PZ1image.png)](http://manuais.dwu.com.br/uploads/images/gallery/2025-06/PZ1image.png) Será apresentada a janela de filtros e o usuário terá a opção de marcar ou desmarcar as opções de dados que deseja visualizar, neste exemplo vamos desmarcar os anos anteriores e deixar marcado somente 2020. [![image.png](http://manuais.dwu.com.br/uploads/images/gallery/2025-06/scaled-1680-/uF8image.png)](http://manuais.dwu.com.br/uploads/images/gallery/2025-06/uF8image.png) Após clicar no “Ok” da janela de dados, as informações serão apresentadas com o filtro. [![image.png](http://manuais.dwu.com.br/uploads/images/gallery/2025-06/scaled-1680-/Oo0image.png)](http://manuais.dwu.com.br/uploads/images/gallery/2025-06/Oo0image.png) ## Exemplo de Cenário Complexo[![image.png](http://manuais.dwu.com.br/uploads/images/gallery/2025-06/scaled-1680-/OBdimage.png)](http://manuais.dwu.com.br/uploads/images/gallery/2025-06/OBdimage.png) - **Linhas:** Vendedor, Grupo de itens, UF, Nome do PN, Descrição do item - **Colunas:** Ano, Mês - **Filtros:** Ano (2019 e 2020), Mês (janeiro, fevereiro, março) Esse modelo permite comparar os resultados entre trimestres ou anos diferentes com facilidade.