Jump to content

dev botao

Erro -16 no evento CTE_DistribuicaoDFePorUltNSU


Go to solution Solved by antonio.carlos,
  • Este tópico foi criado há 682 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

  • Fundadores

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.

Link to comment
Share on other sites

  • 2 months later...
  • Membros Pro

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.

Edited by Jucelino
  • Like 1
Link to comment
Share on other sites

  • Fundadores

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.

Link to comment
Share on other sites

  • Consultores
4 minutos atrás, Daniel Simoes disse:

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 ?

@Daniel Simoes criei uma task para analise do caso #TK-3293

Link to comment
Share on other sites

  • 2 weeks later...
  • Administradores

Boa tarde,

Novas libs disponiveis.

At.

  • Like 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 !!

Link to comment
Share on other sites

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.