Membros Pro Desenv. AT Info Sistemas Postado 19 Agosto Autor Membros Pro Postado 19 Agosto (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 19 Agosto por Desenv. AT Info Sistemas
Consultores Diego Foliene Postado 19 Agosto Consultores Postado 19 Agosto 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. Diego FolieniAjude o Projeto ACBr crescer - Assine o SAC (15) 2105-0750 (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 Desenv. AT Info Sistemas Postado 19 Agosto Autor Membros Pro Postado 19 Agosto Sim, eu trato estas propriedades, mas tem estados que mesmo colocando mais tempo ocorre falha. Vou verificar se consigo armazenar o número do recibo mesmo gerando exceção.
Membros Pro Desenv. AT Info Sistemas Postado 20 Agosto Autor Membros Pro Postado 20 Agosto 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.
Consultores Diego Foliene Postado 20 Agosto Consultores Postado 20 Agosto 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; Diego FolieniAjude o Projeto ACBr crescer - Assine o SAC (15) 2105-0750 (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 Desenv. AT Info Sistemas Postado 21 Agosto Autor Membros Pro Postado 21 Agosto Bom dia, Já fiz o teste, mas como gera exceção o sistema para, não consigo acessar os dados do Acbr.
Moderadores Juliomar Marchetti Postado 21 Agosto Moderadores Postado 21 Agosto 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 Juliomar Marchetti skype: juliomar telegram: juliomar e-mail: [email protected] http://www.juliomarmarchetti.com.br
Membros Pro Desenv. AT Info Sistemas Postado 21 Agosto Autor Membros Pro Postado 21 Agosto (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 21 Agosto por Desenv. AT Info Sistemas
Membros Pro Desenv. AT Info Sistemas Postado 21 Agosto Autor Membros Pro Postado 21 Agosto Bom dia, Consegui obter os dados quando ocorre exceção. Podemos fechar este tópico. Obrigado Adriano Lucas 1
Consultores Diego Foliene Postado 21 Agosto Consultores Postado 21 Agosto Obrigado por reportar. Fechando. Para novas dúvidas, criar um novo tópico. Diego FolieniAjude o Projeto ACBr crescer - Assine o SAC (15) 2105-0750 (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 !!
Recommended Posts