Tempo aproximado para leitura: 00:02:00 min
Dúvida
Como configurar os campos pelas Variáveis de integração para exportação de pedido e cliente?
Ambiente
Cross Segmentos - TOTVS CRM Automação e Força de Vendas (SFA) - WEB - Integração - A partir da versão 12
Solução
Para configurar essa funcionalidade, acesse o ambiente WEB do SFA, vá até o menu Configuração > Integração > Variáveis de Integração:
Na coluna ERP existem 03 parâmetros: sendo um para cliente, um para cabeçalho do pedido e um para os itens do pedido:
EXPORTACAO_CAMPOCUSTOM_CLIENTE
EXPORTACAO_CAMPOCUSTOM_CABECALHO_PEDIDO
EXPORTACAO_CAMPOCUSTOM_ITENS_PEDIDO
Importante!
- CAMPO e VALOR não precisam ser declarados (AS CAMPO, AS VALOR), no entanto, é obrigatório que eles sejam VARCHAR.
- O campo VALOR deverá ser tratado para NÃO retornar valor nulo, portanto, use o COALESCE (VALOR,' ') adicionando um espaço para que a TAG retorne na posição corretamente.
Basicamente, será enviar uma chave e um valor para que seja inserido ou substituído na exportação, seguem os exemplos:
1. Enviar valores fixos para o Protheus:
(SELECT 'C5_NATUREZ' AS CAMPO, COALESCE('1.01.001',' ') AS VALOR)
UNION (SELECT 'C5_ZDTSAI' AS CAMPO, COALESCE('2022-01-01',' ') AS VALOR)
Note que a tag UNION é a separadora dos campos, podendo aumentar conforme a sua necessidade.
2. Enviar campos através de uma busca no SFA:
SELECT 'C6_LOCAL' AS CAMPO, COALESCE(CASE WHEN L.NUMEROMATRICULA IN ('01','08') THEN '04' ELSE '01'END,' ')
AS VALOR FROM PEDIDOPRODUTO PP INNER JOIN PEDIDO P ON P.IDPEDIDO = PP.IDPEDIDO
INNER JOIN LOCAL L ON L.IDLOCAL = P.IDLOCALFILIALVENDA
WHERE PP.IDPEDIDOPRODUTO = ? LIMIT 1
Importante!
- Para que a consulta retorne corretamente deve-se usar a comparação com o ? no WHERE
- Usar parênteses entre unions, exemplo: (SELECT 'C5_NATUREZ' AS CAMPO, COALESCE('1.01.001',' ') AS VALOR) UNION (SELECT 'C5_ZDTSAI' AS CAMPO, COALESCE('2022-01-01',' ') AS VALOR)
- Em subselects utilizar o LIMIT 1 para garantir que retorne apenas 1 registro por linha.
- Deixar o select em uma única linha, afim de padronizar a parametrização:
(SELECT 'C5_TIPOCLI' AS CAMPO, (CASE WHEN IDTIPOPEDIDO = 41 THEN 'S' ELSE NULL END) AS VALOR, 'STRING' AS TIPO FROM PEDIDO WHERE IDPEDIDO= ?)
SELECT 'C5_FSIDSFA' AS CAMPO, (SELECT NUMEROPEDIDO::VARCHAR FROM PEDIDO WHERE IDPEDIDO=? LIMIT 1) AS VALOR
3. Substituir valores que estão no padrão da exportação:
SELECT 'C5_CONDPAG','01'
No exemplo acima, a condição de pagamento está sendo substituída por um valor fixo = 01
4. Substituir campos padrão da exportação com consultas retornadas do SFA:
SELECT 'C5_XXXXX', COALESCE(CAST(SUM(PP.quantidadefaturada*PP.precofaturado) AS VARCHAR),' ')
FROM PEDIDO P INNER JOIN PEDIDOPRODUTO PP ON P.IDPEDIDO=PP.IDPEDIDO
WHERE P.IDPEDIDO=? GROUP BY P.IDPEDIDO
Importante!
Para que a consulta retorne corretamente deve-se utilizar o LIMIT 1 e também a comparação com o ? no WHERE.
Cliente = IDPARCEIRO = ?
Pedido = IDPEDIDO = ?
Item do Pedido = IDPEDIDOPRODUTO = ?
Atenção!
Tenha certeza que o ajuste realizado está sendo aplicado na variável correta, identificando através das colunas CONTEXTO, DESCRIÇÃO, TABELA E CAMPO.
No SFA, o ajuste realizado será colocado na coluna VALOR, uma vez que seja finalizada a configuração no campo é importante clicar no campo GRAVAR, para salvar as informações adicionadas:
Para mais detalhes sobre os campos, tabelas e critérios considerados na integração, consulte o Escopo completo de Integração via Plugin.
Importante!
Recomendamos testar esta configuração primeiramente em seu ambiente de homologação e após os testes necessários, replicar para o ambiente de produção.
0 Comentários