Ir para conteúdo
  • Cadastre-se

dev botao

Erro -16 no evento CTE_DistribuicaoDFePorUltNSU


Ver Solução Respondido por antonio.carlos,
  • Este tópico foi criado há 725 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

  • Fundadores
Postado

Pelo que notei nos fontes.. -16 ocorrerá quando houver um Exception durante a Transmissão/Recepção... Provavelmente um TimeOut...

Você pode ter mais detalhes do Erro, se solicitar o Ultimo Retorno

https://acbr.sourceforge.io/ACBrLib/CTE_UltimoRetorno.html

      with CTeDM do
      begin
        try
          ACBrCTe1.WebServices.DistribuicaoDFe.cUFAutor := AcUFAutor;
          ACBrCTe1.WebServices.DistribuicaoDFe.CNPJCPF  := ACNPJCPF;
          ACBrCTe1.WebServices.DistribuicaoDFe.ultNSU   := AultNSU;
          ACBrCTe1.WebServices.DistribuicaoDFe.NSU      := '';
          ACBrCTe1.WebServices.DistribuicaoDFe.chCTe    := '';

          ACBrCTe1.WebServices.DistribuicaoDFe.Executar;

          Resp := TDistribuicaoDFeResposta.Create(Config.TipoResposta, Config.CodResposta);
          try
            Resp.Processar(ACBrCTe1.WebServices.DistribuicaoDFe.retDistDFeInt,
                           ACBrCTe1.WebServices.DistribuicaoDFe.Msg,
                           ACBrCTe1.WebServices.DistribuicaoDFe.NomeArq,
                           ACBrCTe1.WebServices.DistribuicaoDFe.ListaArqs);
            Resposta := Resp.Gerar;
          finally
            Resp.Free;
          end;

          MoverStringParaPChar(Resposta, sResposta, esTamanho);
          Result := SetRetorno(ErrOK, Resposta);
        except
          raise EACBrLibException.Create(ErrRetorno, ACBrCTe1.WebServices.DistribuicaoDFe.retDistDFeInt.xMotivo);  // <--------- AQUI -------------
        end; 

 

Consultor SAC ACBr

Daniel Simões de Almeida
O melhor TEF, é com o Projeto ACBr - Clique e Conheça
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

  • 2 meses depois ...
  • Membros Pro
Postado (editado)

Olá. 

Devido esse problema tive que deixar para outro momento esse desenvolvimento e estou retornando agora.

Fizemos os testes em outros ambientes e sempre retornou esse erro -16 sem mensagem, até mesmo em ambientes que estão com acesso livre à internet.

Revisando o fonte com minha equipe, sugerimos adicionar um except nessa linha destacada:

        try
          ACBrCTe1.WebServices.DistribuicaoDFe.cUFAutor := AcUFAutor;
          ACBrCTe1.WebServices.DistribuicaoDFe.CNPJCPF  := ACNPJCPF;
          ACBrCTe1.WebServices.DistribuicaoDFe.ultNSU   := AultNSU;
          ACBrCTe1.WebServices.DistribuicaoDFe.NSU      := '';
          ACBrCTe1.WebServices.DistribuicaoDFe.chCTe    := '';

          ACBrCTe1.WebServices.DistribuicaoDFe.Executar;

          Resp := TDistribuicaoDFeResposta.Create(Config.TipoResposta, Config.CodResposta);
          try
            Resp.Processar(ACBrCTe1.WebServices.DistribuicaoDFe.retDistDFeInt,
                           ACBrCTe1.WebServices.DistribuicaoDFe.Msg,
                           ACBrCTe1.WebServices.DistribuicaoDFe.NomeArq,
                           ACBrCTe1.WebServices.DistribuicaoDFe.ListaArqs);
            Resposta := Resp.Gerar;
          finally
            Resp.Free;
          end;

          MoverStringParaPChar(Resposta, sResposta, esTamanho);
          Result := SetRetorno(ErrOK, Resposta);
        except
          on E: Exception do
          begin
            if Trim(ACBrCTe1.WebServices.DistribuicaoDFe.retDistDFeInt.xMotivo) = '' then
              raise EACBrLibException.Create(ErrRetorno, E.Message) //----------- AQUI
            else
              raise EACBrLibException.Create(ErrRetorno, ACBrCTe1.WebServices.DistribuicaoDFe.retDistDFeInt.xMotivo);
          end;
        end;

Esse except ajudará verificar outros excepts dentro do "ACBrCTe1.WebServices.DistribuicaoDFe.Executar", pois da forma atual, ele só trará erros contidos no "ACBrCTe1.WebServices.DistribuicaoDFe.retDistDFeInt.xMotivo", sendo que pode ser que nem foi feita a solicitação no WebServices, assim ocultando o erro.

Caso seja possível fazer essa alteração, favor informar em qual versão estará.

Fico no aguardo.

Editado por Jucelino
  • Curtir 1
  • Fundadores
Postado

Humm.. você tem razão... esse IF, está escondendo o real motivo do Exception...

Acho que poderíamos/deveríamos concatenar o E.Message, ao xMotivo, para sabermos o real motivo do Exception

@Juliana Tamizou, pode por favor criar uma Tarefa ?

Consultor SAC ACBr

Daniel Simões de Almeida
O melhor TEF, é com o Projeto ACBr - Clique e Conheça
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

  • 2 semanas depois ...
  • Administradores
Postado

Boa tarde,

Novas libs disponiveis.

At.

  • Curtir 1
Consultora SAC ACBr

Juliana Tamizou

Gerente de Projetos ACBr / Diretora de Marketing AFRAC
Ajude o Projeto ACBr crescer - Seja Pro

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  Discord

Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil


Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

×
×
  • 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.