Jump to content

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

Recommended Posts

  • Membros Pro

Vinícius,

Olha só esse problema pode ocorrer por diversos motivos, pode ser por internet com perda de pacote, servidor SEFAZ congestionado em fim.

Você pode otimizar no componente ACBRNFe:

 

   Configuracoes.Webservices.Tentativas := 15;
    Configuracoes.WebServices.AguardarConsultaRet      := 15000;
    Configuracoes.WebServices.AjustaAguardaConsultaRet := True;
    Configuracoes.WebServices.IntervaloTentativas      := 1000;
    Configuracoes.WebServices.TimeOut                  := 15000;

 

 

O que você pode fazer depois que transmitir é verificar se a NFCe está na SEFAZ usando a consulta pela chave no mesmo método de transmissão, caso seja satisfatório a sua aplicação segue o fluxo normalmente, caso a nota não esteja na SEFAZ você pode usar um repeat de no máximo 3 vezes seguindo o fluxo de transmissao, e caso contrário colocar em modo Off-Line para posterior transmissão.

Espero ter te ajudado!

Edited by Fernando Di Pace
  • Like 2
Link to comment
Share on other sites

  • Membros Pro
Em 31/03/2016 at 09:20, Vinícius Da Silva Avelar disse:

Bom dia, obrigado pela resposta, eu mexi aqui e parece que deu certo...mas você tem um exemplo em codigo de como faço essa consulta pela chave? Vi em outro forum que ao consultar o cupom, o acbr ja atualiza o xml com o protocolo.

Obrigado.

Boa tarde Vinícius,

Você pode fazer assim no método de transmissão:

function TransmitirNFCe;
var

bNotaJaTransmitida : Boolean;

...

begin

   ...

 if (ACBrNFe1.Enviar(iLoteId, False, False)) then

   if not ConsultaChaveNFCe(sChaveNFCEe) then

 

end;

 

 

 

Boa tarde Vinícius,

Eu faço dessa forma tento 3 vezes para garantir a transmissão. Caso contrário não consegua transmitir emito em OFFLINE e depois será transmitida por outro método. Quando o problema de Internet ou servidor da sefaz voltar em fim.

Espero ter te ajudado! E dá uma curtida ai! Valeu!

procedure TransmitirNFCe (sChaveNFCEe : string);
var

bNotaJaTransmitida : Boolean;

iTentativas : Integer;

...

begin

   ...

repeat

bNotaJaTransmitida := false;

 ACBrNFe1.Enviar(iLoteId, False, False);

 bNotaJaTransmitida  := ConsultaChaveNFCe(sChaveNFCEe);

 if bNotaJaTransmitida  then
   Exit;

until (iTentativas > 3);

if (not bNotaJaTransmitida) then

begin

// Código para gerar nota em OFFLINE para depois transmitir.

....

end;

...

end;

 

 

  • Like 5
Link to comment
Share on other sites

Obrigado pela resposta Fernando, mas não deu muito certo aqui pra mim não, eu tento enviar e cai naquele "o tempo limite foi excedido", se eu mando enviar novamente da "duplicidade de nfc-e", mas se eu mando consultar esse mesmo cupom da "100 - Autorizado o uso da NFC-e" mas não sei o que fazer depois disso, como faço pra atualizar o meu xml que ainda não esta com o protocolo, sendo que na sefaz esta ok.

Link to comment
Share on other sites

  • Membros Pro
Em 06/04/2016 at 09:22, Vinícius Da Silva Avelar disse:

Obrigado pela resposta Fernando, mas não deu muito certo aqui pra mim não, eu tento enviar e cai naquele "o tempo limite foi excedido", se eu mando enviar novamente da "duplicidade de nfc-e", mas se eu mando consultar esse mesmo cupom da "100 - Autorizado o uso da NFC-e" mas não sei o que fazer depois disso, como faço pra atualizar o meu xml que ainda não esta com o protocolo, sendo que na sefaz esta ok.

Vinícius  olha esse link pois Juliomar descreve de forma clara o procedimento que se deve fazer: da uma curtida ai! :)

 

 

Edited by Fernando Di Pace
  • Like 2
Link to comment
Share on other sites

Em 30/03/2016 at 17:18, Fernando Di Pace disse:

Você pode otimizar no componente ACBRNFe:

 

   Configuracoes.Webservices.Tentativas := 15;
    Configuracoes.WebServices.AguardarConsultaRet      := 15000;
    Configuracoes.WebServices.AjustaAguardaConsultaRet := True;
    Configuracoes.WebServices.IntervaloTentativas      := 1000;
    Configuracoes.WebServices.TimeOut                  := 15000;

 

Fazer 15 tentativas não pode entrar naquela exceção do Sefaz de "Consumo Indevido" ? 

Como você já usa essa configuração, você não tem algum problema com o tempo em que o cupom é emitido no caixa? Imagino que deva aumentar consideravelmente o tempo em alguns casos, diga se estou errado. 

Link to comment
Share on other sites

  • 2 weeks later...
  • Membros Pro
Em 11/04/2016 at 10:26, Reinaldo Alberto disse:

Fazer 15 tentativas não pode entrar naquela exceção do Sefaz de "Consumo Indevido" ? 

Como você já usa essa configuração, você não tem algum problema com o tempo em que o cupom é emitido no caixa? Imagino que deva aumentar consideravelmente o tempo em alguns casos, diga se estou errado. 

Bom dia Reinaldo, 

Realmente em alguns casos deverá ser reconfigurado para aumentar as tentativas e timeout, mais isso pode deixar o processo lento no caixa, poderá demorar muito para emitir uma NFCe, isso depende de internet e etc.. como foi citado nesse blog. Em relação ao consumo indevido, acredito que não, pois está se dando um delay com base nas propriedades   Configuracoes.WebServices.AguardarConsultaRet e Configuracoes.WebServices.TimeOut sempre está se dando um tempo 15 segundos para refazer novas tentativas, o ACBR também é bem consistente nesse quesito.

 

Valeu :)

 

  • Like 2
Link to comment
Share on other sites

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

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.