Como podemos ajudar?

Bem vindo a nossa página de manuais. Utilize a caixa de pesquisa abaixo para procurar o conteúdo desejado.

Últimos artigos

Carga de tabelas personalizadas

Com a disponibilização da funcionalidade de execução de relatórios no app Android, surgiu a necessidade de enviar para o banco de dados do dispositivo informações que possam ser usadas adicionalmente nestas consultas.

Para atender a esta necessidade, foram criadas 10 tabelas no banco de dados do app Android, com os seguintes nomes:

  • Tabela01
  • Tabela02
  • Tabela03
  • Tabela04
  • Tabela05
  • Tabela06
  • Tabela07
  • Tabela08
  • Tabela09
  • Tabela10

Cada tabela é composta de 10 campos, com as seguintes descrições:

  • Campo01
  • Campo02
  • Campo03
  • Campo04
  • Campo05
  • Campo06
  • Campo07
  • Campo08
  • Campo09
  • Campo10

Um exemplo de representação visual das tabelas, segue na imagem abaixo:

Uma consulta em linguagem SQL deverá ser desenvolvida, observando as particularidades de escrita para Microsoft SQL Server ou HANA, de acordo com o tipo de banco de dados utilizado pelo SAP Business One da empresa.

IMPORTANTE:

  • Todos 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 enviem 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.
  • Evitar o uso 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 com limite de informação, como por exemplo de um período curto de data ú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 a tabela no dispositivo terá no máximo 10 colunas, dispense informar as colunas excedentes, como por exemplo K e L.
  • 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 melhor o uso de cada campo, concatenando campos em sua consulta e ocupando um único campo na tabela do dispositivo, lembre-se que está limitado a 10 colunas por linha/registro.

Para realizar a configuração de “Carga de tabelas personalizadas” para 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 em execução:
> 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 botão “Carga de tabelas personalizadas”.

No formulário de “Cadastro de consulta para carga de tabelas personalizadas”:

  1. Marcar a opção “Ativo” para o cadastro estar disponível para uso no app Android.
  2. Informar uma “Descrição” para a finalidade de uso deste cadastro.
  3. Em “Tabela” selecionar em qual tabela o resultado da consulta será armazenado no dispositivo.
  4. Em “Tipo sincronização app” escolha entre as opções:
    • E – Excluir dados anteriores
      Utilizando esta opção, durante cada sincronização das tabelas no app Android, todos os registro serão apagados antes de receber as novas informações.
    • I – Incrementar
      Todas as informações recebidas em sincronizações anteriores do app Android serão mantidas e novos dados serão adicionados em novas linhas da tabela.
  5. Em “Consulta SQL/Hana (Máximo 10 colunas)”, informar a sua consulta personlizada.


Lembrete: Na elaboração da sua consulta poderão ser usadas “variáveis” que serão convertidas na execução.

Cenário de exemplo

Uma empresa usuária do CRM One App Android deseja customizar o “Dashboard Insights“, nesta customização o objetivo é saber quais são 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.

A consulta/query em SQL para Microsoft SQL Server pode ser representada por:

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:

SELECT DISTINCT T0."CardCode" FROM OINV T0 WHERE T0."DocDate" >= ADD_DAYS(NOW(), -30);

IMPORTANTE: A consulta de exemplo pode requerer alguma condição adicional, observem bem o número de registros gerados e as informações, para evitar a carga de informações desnecessárias para o dispositivo de todos os usuários, ou seja, avalie usar uma condição WHERE com as variáveis #UserIDCRM# ou #SlpCodeCRM#.

Com a consulta elaborada, acessar o 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 botão “Carga de tabelas personalizadas”.

  1. Marcar “Ativo”.
  2. Preencher a “Descrição” com: Clientes faturados no mês.
  3. Selecionar em “Tabela” a opção “Tabela10”.
  4. Em “Tipo sincronização app” selecionar “Excluir dados anteriores”.
  5. Em “Consulta SQL/Hana (Máximo 10 colunas)” informar a consulta SQL de acordo com o tipo de banco de 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:

  • CRM One Desktop Add-on 2020.07.6.002 ou superior
  • App Android 2020.07.1.001 ou superior

Esse artigo foi útil?
5 out Of 5 Stars
5 Stars 100%
4 Stars 0%
3 Stars 0%
2 Stars 0%
1 Stars 0%
Como podemos melhorar este artigo?
Precisa de ajuda?
Índice