Ir para conteúdo
  • Cadastre-se

dev botao

GNRE - Receita nao exige o tipo de documento informado.


Ver Solução Respondido por Diego Foliene,

Recommended Posts

  • Membros Pro
Postado (editado)

Tem casos que ele fica tentando obter o retorno e não consegue e cai na Exception por falta de comunicação.

 

É que sem dar a Exception eu consigo armazenar o Número do Recibo para realizar a consulta de Lote em processamento.

 

E também o usuário com o número do Recibo pode consultar no Site.

 

 

Editado por Desenv. AT Info Sistemas
  • Consultores
Postado
44 minutes ago, Desenv. AT Info Sistemas said:

Tem casos que ele fica tentando obter o retorno e não consegue e cai na Exception por falta de comunicação.

 

É que sem dar a Exception eu consigo armazenar o Número do Recibo para realizar a consulta de Lote em processamento.

 

E também o usuário com o número do Recibo pode consultar no Site.

 

 

De uma conferida nas propriedades:

ACBrGNRe.Configuracoes.WebServices.AguardarConsultaRet := 15000;
ACBrGNRe.Configuracoes.WebServices.Tentativas := 5;
ACBrGNRe.Configuracoes.WebServices.IntervaloTentativas := 5000;

Explicando cada uma:

ACBrGNRe.Configuracoes.WebServices.AguardarConsultaRet := 15000;

A propriedade AguardarConsultaRet é definida em milissegundos. Esta propriedade configura quanto tempo o componente vai esperar entre o envio e a consulta do retorno.

ACBrGNRe.Configuracoes.WebServices.Tentativas := 5;

A propriedade Tentativas é definida em inteiros.  Esta propriedade define quantas vezes vai tentar fazer a consulta do retorno antes de considerar que houve um erro ou conseguir um retorno positivo.

ACBrGNRe.Configuracoes.WebServices.IntervaloTentativas := 5000;

A propriedade IntervaloTentativas é definida em milissegundos. Esta propriedade configura quanto tempo é aguardado entre as tentativas.

Então em nosso exemplo, vai esperar 15 segundos depois do envio para consultar o retorno, se não conseguir, vai esperar 5 segundos e vai tentar de novo, se ainda não conseguir, vai esperar mais 5 segundos e vai tentar de novo, repetindo esse processo até conseguir um retorno positivo ou até completar 5 tentativas.

Outro ponto que vale citar é que se você conferir o método Envia, a propriedade numeroRecibo é atribuída antes de fazer a consulta, por isso, mesmo que receba uma exceção, você deve ser capaz de ler a propriedade numeroRecibo.

Consultor SAC ACBr

Diego Folieni
Ajude o Projeto ACBr crescer - Assine o SAC

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

  • Membros Pro
Postado

Boa tarde @Diego Foliene,

 

Por exemplo para o Estado de Roraima quando você envia a GNRE o lote é recebido, mas na hora de buscar o retorno ocorre o erro falha de comunicação, gerando uma exceção e nesse caso parando a execução do sistema e dessa maneira eu não consigo recuperar o numero do recibo.

Se notar na rotina de envio, ele envia o XML e guarda o numero de recibo para buscar o retorno, mas como está na mesma rotina "Envio" do Acbr eu ainda não tenho acesso ao numero do recibo. O erro acontece na linha seguinte quando ele tenta buscar o retorno do processamento e é aqui nesta hora que gera a exceção e com a exceção para execução do sistema eu não consigo  utilizar o numero do recibo.

Por isso em vez de exceção eu coloquei mensagem, para não interromper a execução do sistema.

 

image.png.73b1ac526ef770359e54a19422ea5979.png

 

  • Consultores
Postado

Boa tarde.

1 hour ago, Desenv. AT Info Sistemas said:

Se notar na rotina de envio, ele envia o XML e guarda o numero de recibo para buscar o retorno, mas como está na mesma rotina "Envio" do Acbr eu ainda não tenho acesso ao numero do recibo

No trecho de código que compartilhou, ele atribui o numero do recibo em FRetorno.numeroRecibo. Esta variável é o reader e o writer da propriedade Retorno da classe.

Faça um teste debugando para ver se ele atribui o valor nesta linha e depois tente ler em seu projeto os valores de:

ACBrGNRe.WebSerivces.Retorno.numeroRecibo;
ACBrGNRe.WebServices.Enviar.numero;

 

Consultor SAC ACBr

Diego Folieni
Ajude o Projeto ACBr crescer - Assine o SAC

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

  • Moderadores
Postado
30 minutos atrás, Desenv. AT Info Sistemas disse:

Bom dia, 

Já fiz o teste, mas como  gera exceção o sistema para, não consigo acessar os dados do Acbr.

 

coloca um ponto de parada e vai usando F7 e F8 para depurar até chegar no erro isso é possível

Consultor SAC ACBr Juliomar Marchetti
 

Projeto ACBr

skype: juliomar
telegram: juliomar
e-mail: [email protected]
http://www.juliomarmarchetti.com.br
MVP_NewLogo_100x100_Transparent-02.png
 

 

  • Membros Pro
Postado (editado)

Bom dia, 

Eu já depurei e sei o ponto onde acontece o erro.

Hoje quando ocorre exceção para a execução mostrando o erro.

Vou tentar reescrever nossas rotinas para tentar tratar o retorno quando ocorrer exceção, hoje o retorno é tratado quando o envio é com sucesso.

 

 

Editado por Desenv. AT Info Sistemas
  • Consultores
Postado

Obrigado por reportar.

Fechando. Para novas dúvidas, criar um novo tópico.

Consultor SAC ACBr

Diego Folieni
Ajude o Projeto ACBr crescer - Assine o SAC

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

Visitante
Este tópico está agora fechado para novas respostas
×
×
  • 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.

The popup will be closed in 10 segundos...