Gatilho para consultar CNPJ no cadastro de clientes ou fornecedores no Protheus em ADVPL utilizando a API do CNPJ.ws com dados da Receita Federal, Sintegra e Suframa.
Cadastrar clientes ou fornecedores no Protheus pode ficar mais fácil se consultarmos o CNPJ na API do CNPJ.ws
Com a integração podemos usar a API para consultar o endereço, inscrição estadual, situação cadastral, CNAE e muitas outras informações que podem ser importantes no momento do cadastro do cliente ou fornecedor.
Nesse post vamos usar essa classe ADVPL para desenvolvermos um gatilho que utilizaremos tanto no cadastro de clientes quanto no cadastro de fornecedores. Lembrando que você pode usar nossa API gratuita para consultar CNPJ, mas com uma limitação de 3 consultas por minuto ou pode adquirir um dos nossos planos comerciais.
Função getCNPJ
Vamos começar criando uma user function que iremos chamar nos nossos gatilhos. Veja que ela recebe dois parâmetros:
cTab: SA1 ou SA2, indicando se estamos trabalhando com clientes ou fornecedores
cCNPJ: o número do CNPJ
Também fizemos um tratamento usando a função isBlind para caso o gatilho seja chamado via execauto, sem a interface do usuário. E usamos a função FWMsgRun para que o usuário tenha um retorno visual e não apenas uma tela "travada" enquanto o processo é executado.
Vamos criar uma static function que será a responsável pela comunicação com o CNPJ.ws . Você deve revisar bem esse código para atender as suas necessidades aí na sua empresa, aqui eu preenchi todos os campos que me vieram a cabeça, mas sinta-se à vontade para fazer alterações:
Gatilho A1_CGC
Abaixo o preenchimento do gatilho do campo A1_CGC, nele chamamos user function u_getcnpj passando como parâmetros a SA1 além do CNPJ:
Gatilho A1_CGC
Gatilho A2_CGC
Abaixo o preenchimento do gatilho do campo A2_CGC, nele chamamos user function u_getcnpj passando como parâmetros a SA2 além do CNPJ:
Gatilho A2_CGC
Conclusão
O resultado deve ser como o gif abaixo, ao digitar o CNPJ o Protheus irá consultar o CNPJ.ws e preencher os campos automaticamente:
Gatilho CNPJ.ws
Você pode consultar os fontes desse projeto no GitHub, a classe mencionada está nesse repositório também.
Para saber mais sobre nossos planos e formas de pagamento acesse CNPJ.ws.