Carga de Tabelas Personalizadas no App Android
Com a funcionalidade de execução de relatórios diretamente no app Android do CRM One, foi criada uma estrutura que permite o envio de dados personalizados para o banco de dados do dispositivo.
Como funciona
Foram criadas 10 tabelas padrão no banco de dados do app, com os seguintes nomes:
- Tabela01
- Tabela02
- Tabela03
- Tabela04
- Tabela05
- Tabela06
- Tabela07
- Tabela08
- Tabela09
- Tabela10
Cada uma dessas tabelas possui exatamente 10 campos:
- Campo01
- Campo02
- Campo03
- Campo04
- Campo05
- Campo06
- Campo07
- Campo08
- Campo09
- Campo10

Sobre a consulta SQL
Você deverá construir uma consulta SQL conforme o tipo de banco de dados utilizado (SQL Server ou SAP HANA).
Boas práticas
- Os campos foram criados como tipo TEXT no SQLite, por isso, mesmo com suporte a muitos caracteres, é recomendado enviar o menor volume possível de dados.
- Evite
SELECT *
. Selecione explicitamente as colunas que deseja utilizar (limite de 10 colunas). - Evite consultas que retornem muitos registros. Prefira filtros como "últimos 30 dias".
- Exemplo hipotético: se sua consulta possui 12 colunas (A a L), informe somente até J.
- Realize conversões e formatações no lado do servidor. O app não deve processar dados.
- Otimize o uso de colunas: concatene dados em um único campo, se fizer sentido.
Configurando no SAP Business One
Acesse com perfil de administrador:
- Módulos > CRM One > Configurações > Configurações gerais

No formulário, acesse:
- Extensão CRM One > Sincronização app mobile > Carga de tabelas personalizadas

Cadastro da consulta
- Marque a opção "Ativo".
- Descreva a finalidade do cadastro em "Descrição".
- Escolha em "Tabela" uma das tabelas disponíveis (Tabela01 a Tabela10).
- Defina o Tipo de sincronização:
- E - Excluir dados anteriores: remove os dados antes de carregar novos.
- I - Incrementar: adiciona novos dados sem apagar os anteriores.
- Insira sua Consulta SQL/HANA (máximo 10 colunas).
Você pode usar variáveis dinâmicas como #UserIDCRM#
ou #SlpCodeCRM#
.

Exemplo prático
Vamos imaginar que você deseje saber quais clientes não compraram nos últimos 30 dias.
Como as vendas são registradas via Nota Fiscal de Saída (tabela OINV
), você pode gerar uma lista de clientes que compraram nesse período e comparar com todos os clientes.
Consulta SQL Server
SELECT DISTINCT T0.[CardCode]
FROM OINV T0
WHERE T0.[DocDate] >= DATEADD(DAY,-30,GETDATE())
Consulta SAP HANA
SELECT DISTINCT T0."CardCode"
FROM OINV T0
WHERE T0."DocDate" >= ADD_DAYS(NOW(), -30);
Importante: Use filtros adicionais para evitar excesso de dados. Exemplo: #UserIDCRM#
.

Configuração da consulta no SAP
- Marque "Ativo"
- Descrição: Clientes faturados no mês
- Tabela: Tabela10
- Tipo de sincronização: Excluir dados anteriores
- Consulta: SQL adaptada à realidade da empresa

Ao sincronizar o app Android, os dados da consulta serão carregados na tabela personalizada escolhida.
Requisitos
- CRM One Desktop Add-on: 2020.07.6.002 ou superior
- App Android: 2020.07.1.001 ou superior