Ir para conteúdo
  • Cadastre-se

dev botao

Recommended Posts

  • Membros Pro
Postado

boa tarde !

Tenho um cliente que me faz uma solicitação para ver se há possibilidade de consultar o a sistuação cadastral dos clientes  no Sintegra via sistema , pois hoje , faz de forma manual. O ACBR tem algo neste sentido ou que possa indicar alguma solução para tal .

Obrigado

 

  • Membros Pro
Postado
Em 04/10/2024 at 15:40, daniel_mirassol disse:

boa tarde !

Tenho um cliente que me faz uma solicitação para ver se há possibilidade de consultar o a sistuação cadastral dos clientes  no Sintegra via sistema , pois hoje , faz de forma manual. O ACBR tem algo neste sentido ou que possa indicar alguma solução para tal .

Obrigado

 

Testa isto aqui:
 

procedure TConsultaCadastro.Execute;
begin
  CoInitialize(nil);
  NFe := TACBrNFe.Create(nil);
  try
    try
      Synchronize(GetData);

      NFe.WebServices.ConsultaCadastro.UF := FUF;
      if Length(FCPF_CNPJ) > 11 then
        NFe.WebServices.ConsultaCadastro.CNPJ := FCPF_CNPJ
      else
        NFe.WebServices.ConsultaCadastro.CPF := FCPF_CNPJ;
      NFe.WebServices.ConsultaCadastro.Executar;

      Synchronize(RetornoSucesso);
    except
      on E: Exception do
      begin
        FErro := E.Message;
        if Trim(FErro) = '' then
          FErro := 'Erro desconhecido na consulta do cadastro na Sefaz.';
        Synchronize(RetornoErro);
      end;
    end;
  finally
    CoUnInitialize;
    NFe.Free;
  end;
end;

Segue algumas informações improtantes:
 

	# cSit =  Situação do contribuinte:
    0 = Não habilitado;
    1 = Habilitado;

    # indCredNFe = Indicador de contribuinte credenciado a emitir NF-e:
    0 = Não credenciado para emissão da NF-e;
    1 = Credenciado;
    2 = Credenciado com obrigatoriedade para todas operações;
    3 = Credenciado com obrigatoriedade parcial;
    4 = SEFAZ não fornece a informação. Este indicador significa apenas que o contribuinte é credenciado para emitir NF-e na SEFAZ consultada;            [

    # indCredCTe  = Indicador de contribuinte credenciado a emitir CT-e:
    0 = Não credenciado para emissão da CT-e;
    1 = Credenciado;
    2 = Credenciado com obrigatoriedade para todas operações;
    3 = Credenciado com obrigatoriedade parcial;
    4 = SEFAZ não fornece a informação. Este indicador significa apenas que o contribuinte é credenciado para emitir CT-e na SEFAZ consultada;

    # xRegApur = Regime de Apuração do ICMS do Contribuinte;

    # IEUnica = IE única, este campo será informado quando o contribuinte possuir IE única;
    # IEAtual = IE atual (em caso de IE antiga consultada);

Vou te mostrar o exemplo de retorno, eu salvo em um arquivo .ini:

  Config := TIniFile.Create(ExtractFileDir(Application.ExeName) + '\Config.ini');
  try
    Config.EraseSection('CONSULTA_CADASTRO_SEFAZ');
    Config.WriteBool('CONSULTA_CADASTRO_SEFAZ', 'Usado', True);

    Config.WriteInteger('CONSULTA_CADASTRO_SEFAZ', 'cStat', NFe.WebServices.ConsultaCadastro.cStat);
    Config.WriteString('CONSULTA_CADASTRO_SEFAZ', 'xMotivo', NFe.WebServices.ConsultaCadastro.xMotivo);
    Config.WriteString('CONSULTA_CADASTRO_SEFAZ', 'UF', NFe.WebServices.ConsultaCadastro.UF);
    Config.WriteInteger('CONSULTA_CADASTRO_SEFAZ', 'cUF', NFe.WebServices.ConsultaCadastro.cUF);
    Config.WriteString('CONSULTA_CADASTRO_SEFAZ', 'CNPJ', NFe.WebServices.ConsultaCadastro.CNPJ);
    Config.WriteString('CONSULTA_CADASTRO_SEFAZ', 'CPF', NFe.WebServices.ConsultaCadastro.CPF);
    Config.WriteString('CONSULTA_CADASTRO_SEFAZ', 'IE', IfThen(NFe.WebServices.ConsultaCadastro.IE.Trim = '', NFe.WebServices.ConsultaCadastro.RetConsCad.IE,
      NFe.WebServices.ConsultaCadastro.IE));
    Config.WriteDateTime('CONSULTA_CADASTRO_SEFAZ', 'dhCons', NFe.WebServices.ConsultaCadastro.dhCons);

    Config.WriteInteger('CONSULTA_CADASTRO_SEFAZ', 'QuantCadEst', NFe.WebServices.ConsultaCadastro.RetConsCad.InfCad.Count);
    for I := 0 to NFe.WebServices.ConsultaCadastro.RetConsCad.InfCad.Count - 1 do
    begin
      Config.WriteString('CONSULTA_CADASTRO_SEFAZ', 'IE_' + (I + 1).ToString, NFe.WebServices.ConsultaCadastro.RetConsCad.InfCad[I].IE);
      Config.WriteString('CONSULTA_CADASTRO_SEFAZ', 'CNPJ_' + (I + 1).ToString, NFe.WebServices.ConsultaCadastro.RetConsCad.InfCad[I].CNPJ);
      Config.WriteString('CONSULTA_CADASTRO_SEFAZ', 'CPF_' + (I + 1).ToString, NFe.WebServices.ConsultaCadastro.RetConsCad.InfCad[I].CPF);
      Config.WriteString('CONSULTA_CADASTRO_SEFAZ', 'UF_' + (I + 1).ToString, NFe.WebServices.ConsultaCadastro.RetConsCad.InfCad[I].UF);
      Config.WriteInteger('CONSULTA_CADASTRO_SEFAZ', 'cSit_' + (I + 1).ToString, NFe.WebServices.ConsultaCadastro.RetConsCad.InfCad[I].cSit);
      Config.WriteInteger('CONSULTA_CADASTRO_SEFAZ', 'indCredNFe_' + (I + 1).ToString, NFe.WebServices.ConsultaCadastro.RetConsCad.InfCad[I].indCredNFe);
      Config.WriteInteger('CONSULTA_CADASTRO_SEFAZ', 'indCredCTe_' + (I + 1).ToString, NFe.WebServices.ConsultaCadastro.RetConsCad.InfCad[I].indCredCTe);
      Config.WriteString('CONSULTA_CADASTRO_SEFAZ', 'xNome_' + (I + 1).ToString, NFe.WebServices.ConsultaCadastro.RetConsCad.InfCad[I].xNome);
      Config.WriteString('CONSULTA_CADASTRO_SEFAZ', 'xFant_' + (I + 1).ToString, NFe.WebServices.ConsultaCadastro.RetConsCad.InfCad[I].xFant);
      Config.WriteString('CONSULTA_CADASTRO_SEFAZ', 'xRegApur_' + (I + 1).ToString, NFe.WebServices.ConsultaCadastro.RetConsCad.InfCad[I].xRegApur);
      Config.WriteInteger('CONSULTA_CADASTRO_SEFAZ', 'CNAE_' + (I + 1).ToString, NFe.WebServices.ConsultaCadastro.RetConsCad.InfCad[I].CNAE);
      Config.WriteDate('CONSULTA_CADASTRO_SEFAZ', 'dIniAtiv_' + (I + 1).ToString, NFe.WebServices.ConsultaCadastro.RetConsCad.InfCad[I].dIniAtiv);
      Config.WriteDate('CONSULTA_CADASTRO_SEFAZ', 'dUltSit_' + (I + 1).ToString, NFe.WebServices.ConsultaCadastro.RetConsCad.InfCad[I].dUltSit);
      Config.WriteDate('CONSULTA_CADASTRO_SEFAZ', 'dBaixa_' + (I + 1).ToString, NFe.WebServices.ConsultaCadastro.RetConsCad.InfCad[I].dBaixa);
      Config.WriteString('CONSULTA_CADASTRO_SEFAZ', 'IEUnica_' + (I + 1).ToString, NFe.WebServices.ConsultaCadastro.RetConsCad.InfCad[I].IEUnica);
      Config.WriteString('CONSULTA_CADASTRO_SEFAZ', 'IEAtual_' + (I + 1).ToString, NFe.WebServices.ConsultaCadastro.RetConsCad.InfCad[I].IEAtual);
      Config.WriteString('CONSULTA_CADASTRO_SEFAZ', 'xLgr_' + (I + 1).ToString, NFe.WebServices.ConsultaCadastro.RetConsCad.InfCad[I].xLgr);
      Config.WriteString('CONSULTA_CADASTRO_SEFAZ', 'nro_' + (I + 1).ToString, NFe.WebServices.ConsultaCadastro.RetConsCad.InfCad[I].nro);
      Config.WriteString('CONSULTA_CADASTRO_SEFAZ', 'xCpl_' + (I + 1).ToString, NFe.WebServices.ConsultaCadastro.RetConsCad.InfCad[I].xCpl);
      Config.WriteString('CONSULTA_CADASTRO_SEFAZ', 'xBairro_' + (I + 1).ToString, NFe.WebServices.ConsultaCadastro.RetConsCad.InfCad[I].xBairro);
      Config.WriteInteger('CONSULTA_CADASTRO_SEFAZ', 'cMun_' + (I + 1).ToString, NFe.WebServices.ConsultaCadastro.RetConsCad.InfCad[I].cMun);
      Config.WriteString('CONSULTA_CADASTRO_SEFAZ', 'xMun_' + (I + 1).ToString, NFe.WebServices.ConsultaCadastro.RetConsCad.InfCad[I].xMun);
      Config.WriteInteger('CONSULTA_CADASTRO_SEFAZ', 'CEP_' + (I + 1).ToString, NFe.WebServices.ConsultaCadastro.RetConsCad.InfCad[I].CEP);
    end;
  finally
    Config.Free;
  end;

 

Valter Patrick

Gerente de Projetos na empresa CTEC

(33)98400-0936

GitHub: https://github.com/valterpatrick

×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.