Ir para conteúdo
  • Cadastre-se

dev botao

Recommended Posts

Postado

São 3 dúvidas só que não queria abrir tópico para cada uma, porque de certa forma esta dentro de contingencia, e uma delas peguei uma resposta aqui de um tópico fechado de 2019 (dúvida 2) qual o certo enviar para sefaz.

Meu ambiente e de homologação:

1) Como faço para simular o timeout, da sefaz ou qual o seu retorno no try, (msg de erro) para poder tratar, se desligar a internet, eu tenho erro 12007 - O nome do servidor não pode ser resolvido,  como pego o erro do retorno por motivo da sefaz. para gerar outra nota em contingencia, qual o código de erro, ou msg, para tratar no except do enviar.

2) gerei a nota 20 entrei em contingencia, gerei a nota 21 com tpEmis = 9, dhCont data e hora e xJust em Contingencia, gerou o xml, vi um tópico, que para enviar a nota 21 para a sefaz quando resolver a internet que preciso modificar o xml, e voltar o tpEmis para 1 normal e remover dhCont e xJust, ja que agora a internet voltou e preciso enviar o xml, como se fosse normal ou deixo o xml como esta e envio ele como gerei na contingencia com tpEmis 9.

3) emiti uma nota em contingencia e o cliente cancelou a venda, como não enviei o xml, para a sefaz, o que é correto fazer, quando voltar a internet manda a nota e logo em seguida cancela ou inutiliza a nota uma vez que não enviei  o cliente cancelou a venda ou reaproveita o numero para uma nova venda, já que foi a ultima venda.

 

  • Moderadores
Postado

1 conhece a pasta c:\windows\system32\drivers\etc lá tem hosts tu seta o caminho do sefaz em loop back para localhost e ele vai dar o erro ao tentar emitir

2 quando gerou em contigencia, tu só vai alterar o componente para emitir normal e carregar a nota do jeito que está no tipo 9 e enviar

3 tu tem que enviar e cancelar ela do mesmo jeito

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
 

 

Postado
14 minutos atrás, Juliomar Marchetti disse:

1 conhece a pasta c:\windows\system32\drivers\etc lá tem hosts tu seta o caminho do sefaz em loop back para localhost e ele vai dar o erro ao tentar emitir

2 quando gerou em contigencia, tu só vai alterar o componente para emitir normal e carregar a nota do jeito que está no tipo 9 e enviar

3 tu tem que enviar e cancelar ela do mesmo jeito

Bom dia, no item 1, pesquisei aqui no forum achei este codigo, vou tentar adicionar. eu so tinha o 12007, agora tem o timeout, tambem.

 except
      on E: Exception do
      begin
        StrMsg := E.Message;

        // erros de conexão enviar em modo off-line
        if (pos('12007', E.Message) > 0) or                       // erro de conexão
           (pos('12002', E.Message) > 0) or                       // timeout
           (pos('12029', E.Message) > 0) or                       // limite de tempo de conexão
           (pos('12157', E.Message) > 0) or                       // erro no suporte a canais seguros
           (pos('TIMED OUT', E.Message.ToUpper) > 0) or           // timeout
           (pos('ERRO NAO CATALOGADO', E.Message.ToUpper) > 0) or // erros de tratamento do webservice
           (pos('SERVICO PARALISADO', E.Message.ToUpper) > 0)     // Servico Paralisado Momentaneamente
        then
    except

na duvida 2, vou carregar o xml como foi gerado fazer o loadfromfile dele e enviar sem nenhuma mudanca e isto que estou fazendo mais fiquei com duvida por que li em outro topico, que a pessoa estava indicando de mudar o xml de tpEmis 9 para tpEmis 1, vou so carregar o xml e enviar o lote. do jeito que ele foi gerado na contingencia.

na duvida 3,  vou fazer desta forma vou gravar a nota como cancelada, e quando voltar a internet, envio o xml e logo em seguida mando seu cancelamento. motivo venda cancelada pelo cliente.

Se estiver correto isto que vou fazer pode encerrar o topico, so me confirma obrigado

 

  • Moderadores
Postado
2 horas atrás, Vanderlei Domingos Gimenez disse:

Bom dia, no item 1, pesquisei aqui no forum achei este codigo, vou tentar adicionar. eu so tinha o 12007, agora tem o timeout, tambem.

 except
      on E: Exception do
      begin
        StrMsg := E.Message;

        // erros de conexão enviar em modo off-line
        if (pos('12007', E.Message) > 0) or                       // erro de conexão
           (pos('12002', E.Message) > 0) or                       // timeout
           (pos('12029', E.Message) > 0) or                       // limite de tempo de conexão
           (pos('12157', E.Message) > 0) or                       // erro no suporte a canais seguros
           (pos('TIMED OUT', E.Message.ToUpper) > 0) or           // timeout
           (pos('ERRO NAO CATALOGADO', E.Message.ToUpper) > 0) or // erros de tratamento do webservice
           (pos('SERVICO PARALISADO', E.Message.ToUpper) > 0)     // Servico Paralisado Momentaneamente
        then
    except

isso é tratamento para a situaçaõ

2 horas atrás, Vanderlei Domingos Gimenez disse:

na duvida 2, vou carregar o xml como foi gerado fazer o loadfromfile dele e enviar sem nenhuma mudanca e isto que estou fazendo mais fiquei com duvida por que li em outro topico, que a pessoa estava indicando de mudar o xml de tpEmis 9 para tpEmis 1, vou so carregar o xml e enviar o lote. do jeito que ele foi gerado na contingencia.

está errado. tem que ser exatamente igual. tu muda de 9 pra 1 o componente para emissão mas o xml continua 9

2 horas atrás, Vanderlei Domingos Gimenez disse:

na duvida 3,  vou fazer desta forma vou gravar a nota como cancelada, e quando voltar a internet, envio o xml e logo em seguida mando seu cancelamento. motivo venda cancelada pelo cliente.

dai é sua regra de banco , mas o que deve ser feito é oque disse antes, emitir e cancelar ela.

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
 

 

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.

The popup will be closed in 10 segundos...