Ir para conteúdo
  • Cadastre-se

dev botao

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

Recommended Posts

  • 4 semanas depois ...
Postado

Olá amigos, boa tarde!
Estou com um problema com relação à contingência e talvez alguém desse tópico possa me ajudar.
Quando o meu aplicativo emite a NFC-e em contingência o arquivo.xml  armazenado não possui o protocolo de autorização.
Quanto eu envio o mesmo arquivo.xml em um segundo momento, eu recebo o protocolo de autorização e armazeno no registro da venda no banco de dados.
Existe uma forma de recuperar esse arquivo.xml com o protocolo no corpo no momento em que envio o xml da nota Offline?

Alguns sistemas contábeis só importam o arquivo.xml se o o mesmo estiver autorizado, ou seja, estiver com o protocolo de autorização no corpo do arquivo.

Algum amigo pode me informar algo a respeito?
 

Postado

Categoria 12029 = latência da internet (ruim no momento, muito baixa)...

Aproveitando, Régys te pergunto em que momento usaria

Eu prefiro tratar os codigos de retorno:

         (pos('12007 - ', E.Message.ToUpper) > 0) or // erro de conexão
         (pos('12002 - ', E.Message.ToUpper) > 0) or // timeout
         (pos('12029 - ', E.Message.ToUpper) > 0) or // limite de tempo de conexão
         (pos('ERRO NAO CATALOGADO', E.Message.ToUpper) > 0) then // erros de tratamento do webservice

 

Obrigado,

Leão

  • Membros Pro
Postado
  Em 19/11/2015 at 17:03, desenvolvedor2 disse:

Olá amigos, boa tarde!
Estou com um problema com relação à contingência e talvez alguém desse tópico possa me ajudar.
Quando o meu aplicativo emite a NFC-e em contingência o arquivo.xml  armazenado não possui o protocolo de autorização.
Quanto eu envio o mesmo arquivo.xml em um segundo momento, eu recebo o protocolo de autorização e armazeno no registro da venda no banco de dados.
Existe uma forma de recuperar esse arquivo.xml com o protocolo no corpo no momento em que envio o xml da nota Offline?

Alguns sistemas contábeis só importam o arquivo.xml se o o mesmo estiver autorizado, ou seja, estiver com o protocolo de autorização no corpo do arquivo.

Algum amigo pode me informar algo a respeito?
 

Expandir  

Olá...

Rapaz, no momento que você consegue fazer o envio ONLINE da sua nota, que inicialmente foi emitida OFFLINE, o próprio componente salva o XML com o protocolo no diretório especificado por você.

Dá uma conferida ai

  • Moderadores
Postado
  Em 20/11/2015 at 18:31, Leao disse:

Categoria 12029 = latência da internet (ruim no momento, muito baixa)...

Aproveitando, Régys te pergunto em que momento usaria

Eu prefiro tratar os codigos de retorno:

         (pos('12007 - ', E.Message.ToUpper) > 0) or // erro de conexão
         (pos('12002 - ', E.Message.ToUpper) > 0) or // timeout
         (pos('12029 - ', E.Message.ToUpper) > 0) or // limite de tempo de conexão
         (pos('ERRO NAO CATALOGADO', E.Message.ToUpper) > 0) then // erros de tratamento do webservice

 

Obrigado,

Leão

Expandir  

No envio, ao enviar eu texto em um bloco try except estes erros.

Equipe ACBr

Régys Borges da Silveira

http://www.regys.com.br

certificacao delphicertificacao delphi
  • 3 semanas depois ...
Postado

Boa tarde,

Estou com um problema para obter esses retornos que vocês estão falando. No meu caso só estou conseguindo obter a mensagem, exemplo: 

#$D#$A'O nome ou o endereço do servidor não pôde ser resolvido - URL:https://homologacao.nfce.fazenda.pr.gov.br/nfce/NFeAutorizacao3 - SOAPAction:http://www.portalfiscal.inf.br/nfe/wsdl/NfeAutorizacao'

 

Meu fonte esta da seguinte maneira:


                try
                   cNFe.Enviar(1, False, True);
                except
                   On E: Exception do
                      begin
                         showmessage(e.message);
                      end;
                end;

  • 2 semanas depois ...
  • Membros Pro
Postado

Boa tarde pessoal,

Consegui solucionar o problema da emissão de um cupom caso ocorra o erro do buraco negro, gero uma nova numeração para a venda, e depois verifico se o cupom anterior foi autorizado ou não na sefaz, se foi realizo um cancelamento do mesmo, senão inutilizo a numeração... O grande porém é se esse cupom foi autorizado mas por algum motivo (CONEXÃO DE INTERNET, SEFAZ FORA) não consegui realizar o cancelamento no prazo de 30 minutos! hoje faço uma devolução do mesmo, porém na receita esse cupom esta duplicado para o cliente! alguém já enfrentou esse problema ? pode haver dois cupons autorizados para o cliente porém um com uma nfe de devolução atrelada a ele? Desde já agradeço a atenção de todos...  

 

  • 8 meses depois ...
  • 2 meses depois ...
Postado

Olá amigos, 

estou tendo um problema relacionado a timeout.

Em certos clientes do interior, a internet é muito ruim, via rádio, há perda de pacotes, cai no meio da transmissão, e por aí vai...

Quando isso acontece durante o processo de envio o sistema leva muito tempo para retornar uma exception, as vezes fica 2 ou 3 minutos processando o envio.

Estou tentando usar o timeout do componente, especificamente a propriedade ACBrNFe.Configuracoes.WebServices.TimeOut=10000, o que eu acredito que faria com que o processo fosse interrompido

caso eu não tivesse um retorno em 10 segundos, mas isso não acontece.

Não sei se estou no caminho certo, agradeço qualquer ajuda,

Obrigado

  • 5 meses depois ...
Postado

Revivendo o assunto da contingência offline.

Notei que na loja Decathlon (pelo menos aqui em Londrina) todas as NFCe saem em modo offline, pelo jeito eles não transmitem no momento da venda.

Sei que as práticas discutidas aqui neste tópico englobam maneiras de realizar a venda e transmissão, mas pelo jeito eles não seguem essa ideia.

Agora sobre a legislação, é correto agir desta maneira, tudo offline e transmitir depois?

Londrina - PR

  • Moderadores
Postado
  Em 05/05/2017 at 11:30, armando.boza disse:

Agora sobre a legislação, é correto agir desta maneira, tudo offline e transmitir depois?

Expandir  

A SEFAZ de RO já emitiu comunicado ameaçando de aplicar penalizações para as empresas que adotam esse procedimento.

http://www.nfce.sefin.ro.gov.br/lerNoticia.jsp?id=9

  • Curtir 1
Equipe ACBr BigWings
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

 

 

  • 1 mês depois ...
Postado
  Em 06/09/2015 at 01:55, Régys Silveira disse:

Eu prefiro tratar os codigos de retorno:

         (pos('12007 - ', E.Message.ToUpper) > 0) or // erro de conexão
         (pos('12002 - ', E.Message.ToUpper) > 0) or // timeout
         (pos('12029 - ', E.Message.ToUpper) > 0) or // limite de tempo de conexão
         (pos('ERRO NAO CATALOGADO', E.Message.ToUpper) > 0) then // erros de tratamento do webservice

Expandir  

Eu estava usando essa lógica para descobrir se houve problema na transmissão da nota para entrar em contingência e vinha funcionando, porém de uma hora pra outra parou de funcionar.

Fui investigar e vi que mo message de Exception o formato mudou, não vem mais com o  " - " ao lado do código, está vindo só o código (por exemplo 12007) e a descrição da mensagem.

Mais alguém está passando por isso?

  • Moderadores
Postado
  Em 08/06/2017 at 19:09, jhoerlle disse:

Eu estava usando essa lógica para descobrir se houve problema na transmissão da nota para entrar em contingência e vinha funcionando, porém de uma hora pra outra parou de funcionar.

Fui investigar e vi que mo message de Exception o formato mudou, não vem mais com o  " - " ao lado do código, está vindo só o código (por exemplo 12007) e a descrição da mensagem.

Mais alguém está passando por isso?

Expandir  

houveram algumas alterações no acbr que podem ter influenciado, bastaria remover o " - " e deixar somente o numero, assim você conseguiria tratar normalmente.

Equipe ACBr

Régys Borges da Silveira

http://www.regys.com.br

certificacao delphicertificacao delphi
Postado

Sim Régys, eu fiz exatamente essa alteração que você comentou removendo o "-", só quis comentar aqui para ver se mais alguém tinha passado pela mesma situação, ou até mesmo alertar para alguém que talvez tenha implementado dessa maneira e possa começar a ter problemas no seu sistema devido a essa mudança.

Obrigado pela atenção.

Postado
  Em 08/06/2017 at 19:09, jhoerlle disse:

Eu estava usando essa lógica para descobrir se houve problema na transmissão da nota para entrar em contingência e vinha funcionando, porém de uma hora pra outra parou de funcionar.

Fui investigar e vi que mo message de Exception o formato mudou, não vem mais com o  " - " ao lado do código, está vindo só o código (por exemplo 12007) e a descrição da mensagem.

Mais alguém está passando por isso?

Expandir  

Mesmo vindo como você citou. Ainda está funcionando aqui no meu código. Está entrando na e condição sem tirar o "-".

Postado
  Em 09/06/2017 at 18:15, carlosinfoteen disse:

Mesmo vindo como você citou. Ainda está funcionando aqui no meu código. Está entrando na e condição sem tirar o "-".

Expandir  

Que bom Carlos, menos mal assim.

Eu postei porque pra mim não estava mais funcionando, estava passando reto na exception e não entrando no meu "if" que testava os códigos.

  • 4 semanas depois ...
Postado
  Em 22/10/2015 at 22:15, doidopb disse:

Acho que "matei" o problema através do vídeo https://www.youtube.com/watch?v=znVzIe8T4PE. E a solução é mais uma questão de não observar o óbvio do que pode ser feito.

Se observarem o vídeo e trazerem a nossa realidade do ACBR, a contingência só pode acontecer através de 2 motivos:

1 - Falta de internet

2 - Timeout (ou o tal BURACO NEGRO citado no vídeo)

No caso da falta da internet é fácil, emite em contingência e pronto. Pois temos a certeza que a nota não foi autorizada.

Expandir  

Vejo que temos 2 problemas nessa rotina, um é o tempo de cancelamento caso a empresa fique sem internet, porém o principal é que a receita deixa bem claro "uma das exigências legais é que o cancelamento ocorra antes da ocorrência do fato gerador". Ou seja, cancelar uma nota depois que a venda já aconteceu (cliente já levou o produto) é errado e pode dar dores de cabeça

  • 1 mês depois ...
Postado
  Em 09/06/2017 at 15:55, Régys Silveira disse:

houveram algumas alterações no acbr que podem ter influenciado, bastaria remover o " - " e deixar somente o numero, assim você conseguiria tratar normalmente.

Expandir  

Desculpem reabrir esse tópico.. Comecei a desenvolver minha contingência e quando vi a solução do Regis para o tratamento de erros e que o erro 1202 era só um problema de conexão fiquei feliz..

Mas ao fazer testes desconectando a internet na hora da emissão,constatei que o erro 1202 também entra em 'buraco negro' . Quando fui rodar a rotina que envia e valida os xmls,deu duplicidade com diferença na chave de acesso,ou seja ela foi transmitida,porém não recebida. 

Nesse caso como fazer? pulo a numeração no erro 1202 e emito a próxima em contingencia? 

Postado
  Em 07/08/2017 at 09:59, Aprendiz disse:

Desculpem reabrir esse tópico.. Comecei a desenvolver minha contingência e quando vi a solução do Regis para o tratamento de erros e que o erro 1202 era só um problema de conexão fiquei feliz..

Mas ao fazer testes desconectando a internet na hora da emissão,constatei que o erro 1202 também entra em 'buraco negro' . Quando fui rodar a rotina que envia e valida os xmls,deu duplicidade com diferença na chave de acesso,ou seja ela foi transmitida,porém não recebida. 

Nesse caso como fazer? pulo a numeração no erro 1202 e emito a próxima em contingencia? 

Expandir  

Bom dia,

dá uma conferida no Manual_de_especificacoes_tecnicas_da_Contingencia_Off-line_versao_2.0.pdf disponível no portal da NFe.

Lá existe a sugestão de "pular a numeração" da nota/cupom quando detectado erro de comunicação, justamente a fim de evitar a duplicidade na autorização.

Att

Ricardo

Postado
  Em 07/08/2017 at 14:27, RicardoVoigt disse:

Bom dia,

dá uma conferida no Manual_de_especificacoes_tecnicas_da_Contingencia_Off-line_versao_2.0.pdf disponível no portal da NFe.

Lá existe a sugestão de "pular a numeração" da nota/cupom quando detectado erro de comunicação, justamente a fim de evitar a duplicidade na autorização.

Att

Ricardo

Expandir  

Boa sugestão Ricardo, eu iria postar isso agora também.

Este manual é bastante didático na explicação dos procedimentos.

  • 3 meses depois ...
Postado

Pessoal tenho uma dúvida com relação a esse procedimento

-----  Gero o XML com a propriedade 
  ACBrNFe1.Configuracoes.Geral.FormaEmissao :=teOffLine ; 
-----Depois Imprimo a NFce sem enviar para a Sefaz
  ACBrNFe.NotasFiscais.GerarNFe;  <--- gera o xml corretamente
  ACBrNFe.NotasFiscais.Assinar; <-- assina utilizando o certificado
  ACBrNFe.NotasFiscais.Valida; <-- valida o xml perante os schemas
  ACBrNFe1.NotasFiscais.Imprimir ;

Ocorreu tudo bem, suponhamos que fiz 10 cupons offline, depois quero transmiti-los..
como eu faço para carregar os 10 cupons eu tenho que gerar novamente o XML mudando a propriedade
ACBrNFe1.Configuracoes.Geral.FormaEmissao :=teOffLine ;  para 
ACBrNFe1.Configuracoes.Geral.FormaEmissao :=teNormal ;


e atualizar os Xmls de cada Nota do lote, pois agora a sefaz os retornara com os dados de transmissão..

como eu faço para pegar o retorno dos 10 cupons para atualizar no meu BD?

 

e onde obtenho esse retorno   (pos('12007 - ', E.Message.ToUpper) > 0) or // erro de conexão 

???

Abs

  • Moderadores
Postado
  Em 27/11/2017 at 11:28, netsolutions disse:

como eu faço para carregar os 10 cupons eu tenho que gerar novamente o XML mudando a propriedade
ACBrNFe1.Configuracoes.Geral.FormaEmissao :=teOffLine ;  para 
ACBrNFe1.Configuracoes.Geral.FormaEmissao :=teNormal ;

Expandir  

Você não deve mudar nada no XML, apenas carregar e enviar.
 

ACBrNFe1.NotasFiscais.Clear;
ACBrNFe1.NotasFiscais.LoadFromFile('C:\PATH\TO\ARQUIVO-nfe.xml', False);
ACBrNFe1.WebServices.Envia(nLote, True);

O envio da NFCe é síncrono e só permite o envio de um arquivo por vez.

  Em 27/11/2017 at 11:28, netsolutions disse:

como eu faço para pegar o retorno dos 10 cupons para atualizar no meu BD?

Expandir  

Da mesma forma que quando tratando o envio normal.
 

cStat := ACBrNFe1.WebServices.Enviar.cStat;

XML := ACBrNFe1.NotasFiscais.Items[0].XML;
nProt := ACBrNFe1.NotasFiscais[0].NFe.procNFe.nProt;
chNFe := ACBrNFe1.NotasFiscais[0].NFe.procNFe.chNFe;
dhRecbto := ACBrNFe1.NotasFiscais[0].NFe.procNFe.dhRecbto;

 

  Em 27/11/2017 at 11:28, netsolutions disse:

e onde obtenho esse retorno   (pos('12007 - ', E.Message.ToUpper) > 0) or // erro de conexão 

Expandir  

No exception gerado pelo método de envio:
 

try
  ACBrNFe1.WebServices.Envia(nLote, True);
except
  on E:Exception do
  begin
    if (Pos('12007 - '. E.Message.ToUpper) > 0) or // erro de conexão
    ...
  end;
end;

 

Equipe ACBr BigWings
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

 

 

Postado

@BigWings  Muito obrigado pelos esclarecimentos!  Foi bem claro acho que conseguirei resolver tudo aqui! abs

@BigWings só mais uma coisa então quando eu faço isso ... 

 

try
  ACBrNFe1.WebServices.Envia(nLote, True);
except
  on E:Exception do
  begin
    if (Pos('12007 - '. E.Message.ToUpper) > 0) or // erro de conexão
    ...
  end;
end;

Se o retorno for falta de conexão eu posso fazer o envio offline para posteriormente transmitir? ou seja.. eu deixo por padrão sempre enviar o cupom para a sefaz e caso aconteça o erro por falta de conexão e emito o cupom offline e depois quando retornar a internet só reenvio o mesmo??

 

 

  • Este tópico foi criado há 2633 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.

The popup will be closed in 10 segundos...
The popup will be closed in 10 segundos...