Ir para conteúdo
  • Cadastre-se

dev botao

Melhor forma de tratar a contingência pelo exception


gss200610
  • Este tópico foi criado há 1534 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

Olá a todos , hoje trato no tryexcept como abaixo pra jogar a nota pra contingencia offline, lembrando que aqui sefaz nao quer que gere a segunda nota pra cancelar a anterior, qual melhor forma de capturar do exception para trata?

notei que não posso pegar pelo ERRO INTERNTO na mensagem de retorno pois tive casos de 12030 que a nota nem chegou na sefaz por que a msg foi de protocolo ssl imcompativel, existe uma tabela com esses codigos de msg?
qual seria a melhor opção de jogar pra contigencia baseada na msg de exception?

  
  if (Pos('12007 - ', FMensagem_Erro) > 0) or // erro de conexão
       (Pos('12002 - ', FMensagem_Erro) > 0) or // timeout
       (Pos('12029 - ', FMensagem_Erro) > 0) or // limite de tempo de conexão
       (Pos('12029 - ', FMensagem_Erro) > 0) or // limite de tempo de conexão
       (Pos('ERRO NAO CATALOGADO', FMensagem_Erro) > 0) or
       (Pos('TIMEOUT', FMensagem_Erro) > 0 ) or
       (Pos('ERRO INTERNO', FMensagem_Erro) > 0 ) or
       (Pos('ERRO HTTP', FMensagem_Erro) > 0 )  then

Link para o comentário
Compartilhar em outros sites

2 minutos atrás, ALA disse:

Boa tarde. Vc disse "lembrando que aqui sefaz nao quer que gere a segunda nota pra cancelar a anterior," então como deve ser feito ?

sim , aqui alegaram que isso pode gerar cancelamentos demais ou inutilizacoes, querem que vc se vire, assim pessoal responsavel da nfce na sefaz respondeu. Ai fica complicado!

Link para o comentário
Compartilhar em outros sites

Eu não sei outra forma de fazer isso. Envio a nota 1 se ocorrer os erros que vc mencionou gero a nota 2 igual a nota 1, libero o cliente e depois o usuario cancela por substituição ou inutiliza a nota 1. Aqui em MG ficamos quase 20 dias em contingencia, teve caixa com 20 mil nfce geradas em contingencia...

Editado por ALA
Link para o comentário
Compartilhar em outros sites

1 minuto atrás, ALA disse:

Eu não sei outra forma de fazer isso. Envio a nota 1 se ocorrer os erros que vc mencionou gero a nota 2 igual a nota 1, libero o cliente e depois o usuario cancela por substituição ou inutiliza a nota 1. Aqui em MG ficamos quase 20 dias em contingencia, teve caixa com 20 mil nfce geradas em contingencia...

è tanto que deixei parametrizavel isso, com opcao de gerar o espelho , mais aqui reclamaram e falaram em autuar o cliente, se o cara cancelar 20 notas num dia aqui o pau pega!

Link para o comentário
Compartilhar em outros sites

15 horas atrás, gss200610 disse:

  if (Pos('12007 - ', FMensagem_Erro) > 0) or // erro de conexão
       (Pos('12002 - ', FMensagem_Erro) > 0) or // timeout
       (Pos('12029 - ', FMensagem_Erro) > 0) or // limite de tempo de conexão
       (Pos('12029 - ', FMensagem_Erro) > 0) or // limite de tempo de conexão
       (Pos('ERRO NAO CATALOGADO', FMensagem_Erro) > 0) or
       (Pos('TIMEOUT', FMensagem_Erro) > 0 ) or
       (Pos('ERRO INTERNO', FMensagem_Erro) > 0 ) or
       (Pos('ERRO HTTP', FMensagem_Erro) > 0 )  then

Pode ser substituído pro cStat = 0 após tentativa de transmissão

Mas alterar automaticamente para offline também não recomendo

Link para o comentário
Compartilhar em outros sites

  • Este tópico foi criado há 1534 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

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