Com a disponibilização da funcionalidade de execução de relatórios no app Android,Android surgiudo aCRM necessidadeOne, deé possível enviar dados adicionais para o banco de dadoslocal do dispositivodispositivo. informações que possam ser usadas adicionalmente nestas consultas.
Para atender a esta necessidade,isso, foram criadas 10 tabelas noespecíficas bancocom deestrutura dadospadronizada.
do
Estrutura das Tabelas
O app Android,Android compossui os10 seguintestabelas nomes:disponíveis:
Tabela01
Tabela02
a
Tabela03
Tabela04
Tabela05
Tabela06
Tabela07
Tabela08
Tabela09
Tabela10
Cada tabela écontém composta10 campos de 10 campos, com as seguintes descrições:texto:
Campo01
Campo02
a
Campo03
Campo04
Campo05
Campo06
Campo07
Campo08
Campo09
Campo10
Um
⚠️ exemploTodos os campos são do tipo TEXT (SQLite) e, apesar de representaçãosuportarem visualgrandes das tabelas, segue na imagem abaixo:
Uma consulta em linguagem SQL deverá ser desenvolvida, observando as particularidadesvolumes de escritadados, paraé Microsoftrecomendável SQLmanter Serveros ouconteúdos HANA,leves.
de
acordoBoas comPráticas oao tipoCriar de banco de dados utilizado pelo SAP Business One da empresa.
IMPORTANTE:
Consultas
TodosEvite usar * no SELECT: selecione somente os 10 campos foram criados no SQLite com o tipo TEXT, onde segundo a documentação suportam uma quantidade ilimitada de caracteres, contudo neste sentido recomendamos que enviemdeseja para cada campo a menor quantidade possível de informações, evitando o uso excessivo de informações armazenadas no dispositivo, assim como reduzir o uso de dados para envio das informações ao dispositivo.expor.
EvitarEvite ogerar usomuitas de * no SELECT, levando em consideração o tempo de processamento no banco de dados vs. a limitação de 10 colunas para envio, desta forma em seu SELECT informe o nome das 10 colunas que serão expostadas.
Evitar consultas que gerem um número elevado de linhas, pense em consultas comlinhas: limite deos informação, comodados, por exemplo de um período curto de dataexemplo, últimos 30 dias.
Em um SELECT hipotético: SELECT A, B, C, D, E, F, G, H, I, J, K, L FROM TAB onde cada letra representa o nome de uma coluna, estão sendo selecionadas 12 colunas, considerando que Faça tabelaformatações e concatenações no dispositivolado teráservidor, não no máximo 10 colunas, dispense informar as colunas excedentes, como por exemplo K e L.app.
Envie as informações de forma formatada, faça todas as conversões necessárias do lado do servidor, evitando processamento do lado do dispositivo (app Android).
Aproveite melhorOtimize o uso de cada campo, concatenandodos campos emunindo sua consulta e ocupando umdados únicoteis camponum namesmo tabela do dispositivo, lembre-se que está limitado a 10 colunas por linha/registro.campo.
Configurando no CRM One
Para realizarconfigurar a configuraçãocarga de “Cargadados:
detabelas personalizadas” para
Acesse o app Android, os usuários com perfil de administração do CRM One deverão acessar, dentro do SAP Business One com o Add-on CRM One eminiciado.
execução: >
Menu: Módulos > CRM One > Configurações > Configurações gerais
Ao
Acesse abrira oaba: formulário de Configurações gerais, acessar: > Extensão CRM One > Sincronização app mobile clicar
no
Clique botãoem “Carga de tabelas personalizadas”.personalizadas
No formulário de “Cadastro deda consulta para carga de tabelas personalizadas”:
Consulta
MarcarMarque a opção “Ativo”Ativo.
para
Insira uma descrição da finalidade.
Escolha a tabela destino (Tabela01 a Tabela10).
Defina o cadastro estar disponível para uso no app Android.
Informar uma “Descrição” para a finalidadetipo de uso deste cadastro.
Em “Tabela” selecionar em qual tabela o resultado da consulta será armazenado no dispositivo.
Em “Tipo sincronização app” escolha entre as opções:o:
E –- Excluir dados anteriores Utilizando: esta opção, durante cada sincronização das tabelas no app Android, todosremove os registrodados serão apagadosantigos antes de receberinserir asos novas informações.novos.
I –- Incrementar Todas: asadiciona informações recebidas em sincronizações anteriores do app Android serão mantidas eos novos dados serãosem adicionadosapagar emos novas linhas da tabela.anteriores.
EmInsira “Consultasua consulta SQL/HanaHANA (Mámáximo de 10 colunas)”, informar a sua consulta personlizada..
Lembrete:
Na
💡 elaboraçãoVocê dapode usar variáveis como #UserIDCRM# ou #SlpCodeCRM# para personalizar dinamicamente sua consulta poderão ser usadas “variáveis” que serão convertidas na execução.consulta.
Cenário de exemploExemplo: Clientes sem Compras Recentes
UmaObjetivo: empresacarregar usuária do CRM One App Android deseja customizarpara o “Dashboardapp Insights“, nesta customização o objetivo é saber quais sãoAndroid os clientes que não realizaram compras nos últimos 30 dias.
No SAP Business One as “Vendas” são oficializadas/faturadas no documento “Nota fiscal de saída”, que é o correspondente da tabela [OINV]. Porém esta não é uma tabela sincronizada do SAP Business One para o App CRM One (referindo-se a versão 2020.07.1.001 do App CRM One Android).
Para poder realizar esta customização será necessário enviar para uma tabela customizada o código dos clientes que compraram nos últimos 30 dias.dias.
A consulta/query em
SQL para Microsoft SQL Server pode ser representada por:Server:
SELECT DISTINCT T0.[CardCode]
FROM OINV T0
WHERE T0.[DocDate] >= DATEADD(DAY,-30,GETDATE())
A consulta/query em SQL para
SAP HANA DB pode ser representada por:HANA:
SELECT DISTINCT T0."CardCode"
FROM OINV T0
WHERE T0."DocDate" >= ADD_DAYS(NOW(), -30);
IMPORTANTE:
⚠️ AReforce consultaa de exemplo pode requerer alguma condiçpersonalização adicional,com observem bem o número de registros gerados e as informações,variáveis para evitar a carga de informaçõesdados desnecessáriasrios para o dispositivo dea todos os usuários,rios.
ou seja, avalie usar uma condição WHERE com as variáveis #UserIDCRM# ou #SlpCodeCRM#.
ComFinalizando a consultaConfiguração
elaborada,
acessar
Acesse onovamente: SAP Business One:
> Módulos > CRM One > Configurações > Configurações gerais Ao abrir o formulário de Configurações gerais, acessar: > Extensão CRM One > Sincronização app mobile clicar
no
Clique botãoem “Carga de tabelas personalizadas”.
Marcar “Ativo”.personalizadas
PreencherConfigure:
a
“
Ativo: marcado
Descrição” com:o: Clientes faturados no mês.s
SelecionarTabela:em “Tabela” a opção “Tabela10”.Tabela10
EmTipo:“Tipo sincronização app” selecionar “Excluir dados anteriores”.anteriores
EmConsulta:“Consultainsira SQL/Hana (Máximo 10 colunas)” informar a consulta SQL de acordo comconforme o tipo de banco deutilizado
dados
da empresa.
Ao realizar a sincronização de dados do aplicativo Android o resultado da consulta será carregado para a respectiva tabela configurada, neste exemplo na “Tabela10”.
Pre requisitos:
Pré-requisitos
CRM One Desktop Add-on versão 2020.07.6.002 ou superior