Tempo aproximado para leitura: 00:03:30 min
Dúvida
Como exportar campos adicionais de cabeçalho e de itens criados no SFA via API Nativa Protheus?
Ambiente
Cross Segmentos - TOTVS CRM Automação e Força de Vendas (SFA) - Integração - API Nativa Protheus - Todas as versões.
Solução
Através das variáveis de integração é possível manipular quais campos do banco de dados do SFA serão exportados e em quais campos do Protheus essas informações serão armazenadas.
Quando um campo adicional é criado no SFA, os seus metadados de configuração são registrados na tabela wsconfigcampo. No entanto, para exportar o valor que foi efetivamente preenchido dentro de um pedido, é necessário consultar a tabela de movimento correspondente ao nível em que o campo foi concebido.
O conceito do idwsconfigcampo aplica-se a ambos os cenários, diferenciando-se pela tabela consultada e pela chave de amarração: utiliza-se a tabela pedidocabecalhocampo vinculada pelo idpedido para o cabeçalho, e a tabela pedidoprodutocampo vinculada pelo idpedidoproduto para os itens. A integração é realizada estruturando uma consulta SQL com o operador de união (union) para complementar a request nativa na respectiva variável de integração.
Passos
Identifique o idwsconfigcampo do campo adicional desejado realizando uma consulta na tabela de metadados do sistema. Para compreender melhor a estrutura de chaves e os tipos de dados a serem filtrados, consulte o Dicionário de Dados - Tabela wsconfigcampo.
Conforme o local onde o campo foi criado no pedido (Cabeçalho ou Produto), localize a variável de integração correta no painel do SFA e utilize a estrutura SQL correspondente:
Campos Adicionais de Cabeçalho do Pedido (Tabela pedidocabecalhocampo) Para exportar dados do cabeçalho, a variável de integração que deve ser ajustada é a Exportacao campos customizados - CABECALHO PEDIDO. Utilize a estrutura abaixo relacionando as informações pelo idpedido. Para identificar as chaves estrangeiras corretas e os índices da tabela de movimento do cabeçalho, acesse o Dicionário de Dados - Tabela pedidocabecalhocampo.
union (SELECT 'CAMPO_PROTHEUS' AS campo, CAST(pcc.VALOR AS VARCHAR) AS valor, 'TIPO_CAMPO' AS tipo FROM pedidocabecalhocampo pcc WHERE pcc.idpedido = ? AND pcc.idwsconfigcampo = 'ID_DO_CAMPO_SFA' LIMIT 1)
Campos Adicionais de Itens/Produtos do Pedido (Tabela pedidoprodutocampo) Para exportar dados dos itens, a variável de integração que deve ser ajustada é a Exportacao campos customizados - ITENS PEDIDO. Utilize a estrutura abaixo relacionando as informações pelo idpedidoproduto. Para validar as colunas e os relacionamentos do item com o cabeçalho do pedido, acesse o Dicionário de Dados - Tabela pedidoprodutocampo.
union (SELECT 'CAMPO_PROTHEUS' AS campo, CAST(ppc.VALOR AS VARCHAR) AS valor, 'TIPO_CAMPO' AS tipo FROM pedidoprodutocampo ppc WHERE ppc.idpedidoproduto = ? AND ppc.idwsconfigcampo = 'ID_DO_CAMPO_SFA' LIMIT 1)
Substitua os parâmetros configurados na query conforme a necessidade do negócio:
CAMPO_PROTHEUS: O campo correspondente no Protheus que receberá a informação (Exemplo: C5_ZZEXEMPLO para cabeçalho ou C6_ZZEXEMPLO para itens).
ID_DO_CAMPO_SFA: O ID numérico correspondente extraído diretamente da tabela de configuração no Passo 1 (Exemplo: '1').
TIPO_CAMPO: O tipo de dado que está sendo enviado para tratamento no Protheus (Exemplo: 'CHARACTER', 'NUMBER', 'DATE').
Saiba Mais
Para obter instruções detalhadas sobre como realizar a criação das estruturas de campos adicionais dentro do SFA, consulte as documentações oficiais abaixo:
0 Comentários