Consultas de Usuário (Direto do ERP)

O módulo de Consultas de Usuário permite criar consultas SQL personalizadas que se conectam diretamente ao banco de dados do seu ERP, oferecendo relatórios e visualizações customizadas para usuários finais. Este recurso foi projetado para fornecer acesso seguro aos dados sem comprometer a integridade do sistema nativo do ERP.

Pré-requisitos

É obrigatório ter uma integração ativa com algum ERP (como SAP Business One) configurada no sistema antes de utilizar este módulo.

Para utilizar as Consultas de Usuário, você precisará de:

  • Integração com ERP configurada e funcionando
  • Perfil de usuário com permissões para criar/editar consultas customizadas
  • Conhecimento básico de SQL para escrever as consultas
  • Acesso aos nomes das tabelas e campos do banco de dados do ERP

Para maior segurança, recomendamos que o administrador do ERP crie um usuário específico somente leitura para as consultas personalizadas.

Como Acessar o Menu

  1. Acesse o menu principal do sistema
  2. Procure pela opção “Consultas de Usuário” ou “Relatórios Customizados”
  3. Clique para visualizar a lista de consultas já criadas

As consultas criadas aparecem automaticamente no menu principal para usuários com permissão de acesso.

Criando uma Nova Consulta

  1. Na tela de listagem das consultas, clique no botão “Adicionar” (+)
  2. Preencha o campo Nome com um identificador interno para a consulta
  3. Preencha o campo Alias com o nome que aparecerá no menu para os usuários
  4. No campo Consulta SQL, escreva sua query personalizada
  5. Clique em “Salvar” para criar a consulta
Campo Descrição Obrigatório
Nome Identificador interno da consulta (até 50 caracteres) Obrigatório
Alias Nome que aparecerá no menu para usuários finais (até 100 caracteres) Opcional
Consulta SQL Código SQL que será executado no banco do ERP Obrigatório

Este módulo foi projetado para evitar qualquer alteração direta na base nativa do ERP. Apenas consultas SELECT são permitidas.

Configurando Campos de Resultado

Após criar a consulta, você pode configurar quais campos serão exibidos no resultado. Caso nenhum campo seja definido, o sistema apresentará automaticamente todos os campos retornados pela consulta SQL. Para melhorar a usabilidade e facilitar o entendimento pelo usuário final, recomenda-se utilizar apelidos (aliases) nas colunas, tornando os nomes mais claros e amigáveis.

  1. Na aba “Campos de Dados”, clique em “Adicionar”
  2. Informe o Nome exatamente como aparece no SELECT da sua consulta
  3. Defina um Alias amigável para exibição ao usuário
  4. Selecione o Tipo de dado (Alfanumérico, Número, Data, etc.)
  5. Salve o campo e repita para todos os campos da consulta
Tipo de Campo Descrição Formato de Exibição
Alfanumérico Texto geral, nomes, descrições Texto simples
Número Valores decimais, percentuais, moedas Formatação numérica com separadores
Inteiro Números inteiros, códigos, quantidades Número sem casas decimais
Data Datas sem horário DD/MM/AAAA
Data/Hora Datas com horário completo DD/MM/AAAA HH:MM
Booleano Valores verdadeiro/falso Sim/Não

Configurando Parâmetros de Filtro

Os parâmetros permitem que usuários filtrem os resultados da consulta:

  1. Na aba “Parâmetros de Dados”, clique em “Adicionar”
  2. Configure o Nome do parâmetro (deve começar com @)
  3. Defina um Alias para o rótulo do filtro
  4. Selecione o Tipo de dado do parâmetro
  5. Escolha se o parâmetro é Obrigatório
  6. Se necessário, configure um Modelo de Dados Relacionado
Modelo Relacionado Descrição Funcionalidade
Usuário Lista de usuários do sistema Autocomplete com nomes de usuários
Parceiro de Negócio Lista de clientes/fornecedores Autocomplete com dados de clientes

Limitações de Acesso e Segurança

O sistema oferece duas formas principais de limitar o acesso aos dados:

Limitação por Código do Vendedor

É possível limitar o acesso relacionando o código do vendedor logado. Isso garante que cada usuário veja apenas os dados relacionados às suas vendas.

Exemplo de consulta limitada por vendedor
Demonstração de como a consulta filtra automaticamente os dados pelo vendedor logado.

Limitação por Carteira de Clientes

Também é possível relacionar os dados com os clientes da carteira do vendedor logado, limitando ainda mais o acesso e evitando vazamento de contexto entre diferentes vendedores.

  • Cada vendedor vê apenas seus próprios clientes
  • Dados de comissões ficam isolados por usuário
  • Relatórios são automaticamente filtrados
  • Evita acesso indevido a informações de outros vendedores

Permissões por Perfil de Usuário

As consultas criadas podem ser exibidas apenas para perfis de usuário específicos:

  1. Acesse a seção “Perfis de Usuário” no sistema
  2. Selecione o perfil que deseja configurar
  3. Na aba de permissões, localize a consulta criada
  4. Defina se o perfil pode visualizar, editar ou executar a consulta
  5. Salve as configurações

Consultas habilitadas para um perfil aparecem automaticamente no menu principal para usuários daquele perfil.

Executando a Consulta

  1. No menu principal, clique na consulta desejada
  2. Se houver parâmetros obrigatórios, preencha os filtros necessários
  3. Clique em “Pesquisar” ou “Aplicar Filtros”
  4. Os resultados serão exibidos em formato de tabela ou lista
  5. Use as opções de exportação se disponíveis

Recursos disponíveis na visualização dos resultados:

  • Ordenação por colunas (clique no cabeçalho)
  • Filtros rápidos por campo
  • Paginação para grandes volumes de dados
  • Exportação para Excel (se habilitado)
  • Totalizadores automáticos para campos numéricos

Exemplo Prático: Consulta de Comissões

Fornecemos um exemplo de consulta de comissão de vendedores para SAP Business One. Cada empresa pode adaptar conforme suas necessidades específicas:

Este é um caso de uso comum que demonstra como criar relatórios personalizados relacionando dados de vendas, clientes e comissões.

Funcionalidades da Consulta Exemplo:

  • Filtragem automática por vendedor logado (@EmpId)
  • Cálculo automático de comissões
  • Exibição de margem bruta
  • Status de pagamento dos documentos
  • Exclusão automática de documentos cancelados
Resultado da consulta de comissões
Resultado da consulta de comissões

Personalizando a Exibição das Colunas

Após executar a consulta pela primeira vez, o resultado será exibido em uma tabela interativa. Você pode ajustar o layout das colunas conforme sua preferência e, ao clicar no ícone de salvar as configurações de exibição (localizado no canto superior direito), essas definições serão armazenadas e reaplicadas automaticamente nas próximas execuções.

Ação Como fazer Benefício
Redimensionar coluna Arraste a borda direita do cabeçalho da coluna Ajusta a largura para melhor visualização do conteúdo
Congelar coluna Clique com o botão direito no cabeçalho e selecione “Congelar” Mantém a coluna visível ao rolar horizontalmente
Descongelar coluna Clique com o botão direito no cabeçalho e selecione “Descongelar” Remove o congelamento e restaura o comportamento padrão

Em consultas com muitas colunas — como a de comissões acima — recomenda-se congelar as colunas de identificação (ex.: Nº Documento e Nome do Cliente) para facilitar a leitura dos valores ao rolar para a direita.

-- ============================================================
-- CONSULTA DE COMISSÕES - SAP Business One (HANA)
-- Filtro: EmpId (obrigatório)
-- ============================================================
SELECT
    -- Identificação do Vendedor
    SL."SlpCode"                                AS "Cód. Vendedor",
    SL."SlpName"                                AS "Nome do Vendedor",

    -- Dados do Cliente
    BP."CardCode"                               AS "Cód. Cliente",
    BP."CardName"                               AS "Nome do Cliente",
    BPG."GroupName"                             AS "Grupo do Cliente",
    
    -- Identificação do Documento
    INV."DocNum"                                AS "Nº Documento",
    INV."DocType"                               AS "Tipo Documento",
    CASE INV."ObjType"
        WHEN '13'  THEN 'Nota Fiscal de Saída'
        WHEN '15'  THEN 'Pedido de Venda'
        WHEN '203' THEN 'Nota de Crédito'
        ELSE INV."ObjType"
    END                                         AS "Tipo Objeto",
    INV."DocDate"                               AS "Data do Documento",
    INV."DocDueDate"                            AS "Data de Vencimento",
    INV."TaxDate"                               AS "Data de Competência",

    -- Status do Documento
    CASE INV."DocStatus"
        WHEN 'O' THEN 'Aberto'
        WHEN 'C' THEN 'Fechado'
        ELSE 'Cancelado'
    END                                         AS "Status",
    CASE INV."CANCELED"
        WHEN 'Y' THEN 'Sim'
        ELSE 'Não'
    END                                         AS "Cancelado",

    -- Linha do Item
    IL."LineNum" + 1                            AS "Nº Linha",
    IL."ItemCode"                               AS "Cód. Item",
    IL."Dscription"                             AS "Descrição Item",
    IL."Quantity"                               AS "Quantidade",
    IL."UomCode"                                AS "Unidade Medida",
    IL."Price"                                  AS "Preço Unitário",
    IL."DiscPrcnt"                              AS "% Desconto",
    IL."LineTotal"                              AS "Total da Linha (Moeda Doc.)",

    -- Valores em Moeda Local (BRL)
    IL."TotalFrgn"                              AS "Total Linha (Moeda Estrang.)",
    IL."GrossBuyPr"                             AS "Preço de Custo",
    (IL."LineTotal" - (IL."Quantity" * IL."GrossBuyPr"))
                                                AS "Margem Bruta (R$)",
    CASE
        WHEN IL."LineTotal" <> 0
        THEN ROUND(((IL."LineTotal" - (IL."Quantity" * IL."GrossBuyPr"))
             / IL."LineTotal") * 100, 2)
        ELSE 0
    END                                         AS "% Margem Bruta",

    -- Comissão
    IL.CogsAcct                                 AS "Cód. Centro Custo Comissão",
    COALESCE(SL."Commission", 0)                AS "% Comissão Aplicada",
    ROUND(
        IL."LineTotal" * COALESCE(SL."Commission", 0) / 100
    , 2)                                        AS "Valor Comissão (R$)",

    -- Pagamento / Recebimento
    INV."DocCur"                                AS "Moeda",
    INV."DocRate"                               AS "Taxa de Câmbio",
    INV."PaidToDate"                            AS "Total Pago até a Data",
    INV."DocTotal"                              AS "Total do Documento",
    (INV."DocTotal" - INV."PaidToDate")         AS "Saldo em Aberto",

    -- Funcionário (Empregado Interno)
    EM."empID"                                  AS "ID Funcionário",
    CONCAT(CONCAT(EM."firstName",' '), EM."lastName")  AS "Nome Funcionário",
    EM."position"                               AS "Cargo"

FROM OINV INV  -- Notas Fiscais de Saída (use ORDR para Pedidos)

INNER JOIN INV1 IL
    ON IL."DocEntry" = INV."DocEntry"

INNER JOIN OSLP SL
    ON SL."SlpCode" = INV."SlpCode"

INNER JOIN OCRD BP
    ON BP."CardCode" = INV."CardCode"

LEFT JOIN OCRG BPG
    ON BPG."GroupCode" = BP."GroupCode"

INNER JOIN OHEM EM
    ON EM."empID" = SL."SlpCode"  -- vincula o vendedor ao funcionário

WHERE
    -- FILTRO OBRIGATÓRIO: Funcionário / Vendedor
    EM."empID" = @EmpId

    -- Excluir documentos cancelados (remova se quiser incluir)
    AND INV."CANCELED" = 'N'

ORDER BY
    INV."DocDate" DESC,
    INV."DocNum"  DESC,
    IL."LineNum"  ASC;

Perguntas Frequentes

É seguro executar consultas diretamente no banco do ERP?

Sim, o módulo foi projetado especificamente para evitar qualquer alteração na base nativa do ERP. Apenas consultas SELECT são permitidas, garantindo que os dados sejam apenas lidos, nunca modificados.

Posso criar um usuário somente leitura no ERP?

Sim, recomendamos que o administrador do ERP crie um usuário específico com permissões somente de leitura e configure este usuário nas configurações da integração para maior segurança.

Como faço para limitar o acesso por vendedor?

Use parâmetros como @EmpId na sua consulta SQL, relacionando com o código do vendedor logado. Isso garante que cada usuário veja apenas seus próprios dados.

As consultas aparecem automaticamente no menu?

Sim, consultas criadas e habilitadas para perfis específicos aparecem automaticamente no menu principal para usuários com as devidas permissões.

Posso exportar os resultados das consultas?

Sim, o sistema oferece opções de exportação para Excel, dependendo das configurações do seu perfil de usuário.

Como configurar parâmetros obrigatórios?

Na aba “Parâmetros de Dados”, marque a opção “Obrigatório” ao criar o parâmetro. Usuários precisarão preencher estes filtros antes de executar a consulta.

Posso usar autocompletar nos filtros?

Sim, configure um “Modelo de Dados Relacionado” (como Usuário ou Parceiro de Negócio) no parâmetro para habilitar o autocompletar com dados do sistema.

Como adaptar o exemplo de consulta para minha empresa?

O exemplo fornecido é para SAP Business One. Adapte os nomes das tabelas, campos e lógicas de negócio conforme a estrutura do seu ERP específico.

Posso criar consultas que somem valores automaticamente?

Sim, configure campos numéricos como “Número” no tipo de campo. O sistema criará totalizadores automáticos para estes campos na visualização dos resultados.

É necessário conhecimento técnico para criar consultas?

Sim, é necessário conhecimento básico de SQL e da estrutura do banco de dados do seu ERP. Para consultas complexas, recomendamos envolvimento da equipe de TI.