Jump to content

dev botao

Duvida sobre erro de NFCe emitida em contingência


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

Recommended Posts

olá amigos.

Preciso tirar uma dúvida de um erro que começou a ocorrer de uns dias pra cá.

Nas notas emitidas em contingencia, faço assim:

O pdv gera o xml, grava nem uma pasta,  uma máquina pega esse xml e transmite a cada "x" minutos. Normal, assim como todos fazem.

De uns dias pra cá, começou a aparecer o erro:  Rejeicao: Assinatura difere do calculado.

Quando gero a NFe

 ACBrNFe.NotasFiscais.GerarNFe;
 ACBrNFe.NotasFiscais.Assinar;
 ACBrNFe.NotasFiscais.Validar;

Guardo as notas.

Para enviar a nota, minutos depois:

Carrego os xml's

ACBrNFe.WebServices.Envia(Lote, False)

se eu gerar e enviar imediatamente, no pdv, não ocorre erro. 

A dúvida é: mudou alguma coisa no trunk2 para notas emitidas em contingencia?

Analisando o xml de uma nota emitida em contingencia, para uma nota emitida normal, realmente muda a assinatura.

Estou fazendo algo errado?

 

Link to comment
Share on other sites

Amigos, seguinte.

Como hoje é sábado e amanhã é domingo, só conseguirei fazer os testes nessa empresa que está dando esse erro, na segunda-feira.

Fiz aqui na empresa todos os testes, mas não ocorreu esse erro. Estou achando que isso é problema com aquele certificado A1 da Valid, porém, só terei certeza na segunda.

Se alguém já passou por isso e quiser dar sua opinião, fique à vontade. Toda ajuda é bem vinda, Servirá para outros também. 

Link to comment
Share on other sites

  • Consultores

Boa tarde João,

Duas coisas:

1. não execute o método GerarNFe, pois o Assinar se encarrega de gerar o XML, assinar e salvar em disco.

2. você deve estar usando o LoadFromFile para carregar o XML antes do seu envio, pois bem, atribua o valor False ao segundo parâmetro do mesmo.

LoadFromFile(sNomeArq, False); 

isso faz com que o XML não seja gerado novamente, você ganha em performasse e não corre o risco da assinatura ser diferente da primeira.

Consultor SAC ACBr

Italo Giurizzato Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Analista de Sistemas / e-mail: [email protected] / Fone: (16) 9-9701-5030 / Araraquara-SP

Araraquara - A era dos Trólebus

Link to comment
Share on other sites

6 horas atrás, Italo Jurisato Junior disse:

Boa tarde João,

Duas coisas:

1. não execute o método GerarNFe, pois o Assinar se encarrega de gerar o XML, assinar e salvar em disco.

2. você deve estar usando o LoadFromFile para carregar o XML antes do seu envio, pois bem, atribua o valor False ao segundo parâmetro do mesmo.

LoadFromFile(sNomeArq, False); 

isso faz com que o XML não seja gerado novamente, você ganha em performasse e não corre o risco da assinatura ser diferente da primeira.

Exatamente isso @Italo Jurisato Junior. Ao Carregar os xml's sem informar False no segunda parâmetro, gerava o xml novamente, com isso, estava ocorrendo erro na assinatura.

Esse código eu não mudei, veio do trunk1. Agora está tudo OK, obrigado. 

  • Like 1
Link to comment
Share on other sites

  • 2 weeks later...

Boa tarde, colegas!

Ao enviar uma nota em contingência, estou recebendo mensagem de erro com relação ao horário. Alguém sabe o que pode estar acontecendo ?
Não estou gerando a nota novamente. Simplesmente carrego o xml e prossigo com o método de envio.

A mensagem é:

NFCE COM DATA/HORA DE EMISSÃO ATRASADA. Tolerância de até 5 minutos.

Alguém já passou pelo mesmo ?

Link to comment
Share on other sites

56 minutos atrás, João Marcos_14485 disse:

Boa tarde, colegas!

Ao enviar uma nota em contingência, estou recebendo mensagem de erro com relação ao horário. Alguém sabe o que pode estar acontecendo ?
Não estou gerando a nota novamente. Simplesmente carrego o xml e prossigo com o método de envio.

A mensagem é:

NFCE COM DATA/HORA DE EMISSÃO ATRASADA. Tolerância de até 5 minutos.

Alguém já passou pelo mesmo ?

Obrigado, galera.
Foi o parâmetro mesmo. Tava meio cego!

 

Link to comment
Share on other sites

Caros Colegas,

Não estou entendendo a contingência no Trunk2...

No Trunk1 fazia:

           ACBrNFe1.NotasFiscais.Assinar;
           ACBrNFe1.NotasFiscais.Validar;
           ACBrNFe1.NotasFiscais.Imprimir;
 

Só não dava o comando para enviar:

ACBrNFe1.Enviar(vNumLote,True,Sincrono);

 

Depois pegava o arquivo da pasta

'logs\' + Trim(chavenfe) + '-nfe.xml' 

e copiava para a minha pasta de contingencia para depois enviar mais tarde...

 

Agora no Trunk2 não consigo achar o arquivo gerado em contingência que fiz e ele já vai para os enviados ...

O que estou fazendo errado ?

Grato,

Rogério

E-mail: [email protected]

 

 

 

 

 

 

 

 

 

Link to comment
Share on other sites

O estranho é que mesmo enviando em Contingencia parece que grava uma cópia na pasta de envio mensal...

\201512

Gostaria que salvasse somente se fosse concluida a operação de envio on-line e corretamente nessa pasta...

E gravasse na \201512 somente quando envio tudo ok em modo normal ?

 

Grato,

Rogério

 

 

 

 

Link to comment
Share on other sites

Resolvido o problema  da gravação da contingência...Coloquei para gravar na pasta de outra forma...

Agora não consigo enviar a nota...

Da a mensagem:

"A Nota Fiscal não foi enviada corretamente para a Sefaz! Mantem o arquivo par uma nova tentativa mais tarde ?"

E fica em loop sem parar...

 

 

             ACBrNFe1.NotasFiscais.Clear;

             ACBrNFe1.Configuracoes.Geral.ModeloDF := moNFCe;
             ACBrNFe1.Configuracoes.Geral.VersaoDF :=  TpcnVersaoDF(cbVersaoDF.ItemIndex);

             // Le a nota
             ACBrNFe1.NotasFiscais.LoadFromFile(meuarquivo, False);


             // Ambiente normal
             ACBrNFe1.Configuracoes.Geral.FormaEmissao := teNormal;


             ACBrNFe1.NotasFiscais.Items[0].NFe.Ide.tpEmis := teNormal;
             ACBrNFe1.NotasFiscais.Items[0].NFe.Ide.dEmi      := now;
             ACBrNFe1.NotasFiscais.Items[0].NFe.Ide.dSaiEnt   := now;
             ACBrNFe1.NotasFiscais.Items[0].NFe.Ide.hSaiEnt   := now;

             
             ACBrNFe1.NotasFiscais.Items[0].NFe.infNFe.ID := '';

             ACBrNFe1.Enviar(vNumLote,True,True);

 

 

 

 

Link to comment
Share on other sites

Na verdade a nota não está sendo enviada...

 

E o protocolo vem vazio...

Para pegar o protocolo fazia:

 

sRetorno := ACBrNFe1.WebServices.Enviar.RetWS;

 

       strretg := '';

           // Pega o retorno pela string
           if (Length(Trim(sRetorno)) > 0) then begin
              if ((Pos('<' + 'nProt' + '>', sRetorno) > 0) or (Pos('<' + '/nProt' + '>', sRetorno) > 0)) then
                begin
                  strretg := Copy(sRetorno, Pos('<' + 'nProt' + '>', sRetorno) + Length('<' + 'nProt' + '>'), Length(sRetorno));
                  strretg := Copy(strretg, 1, Pos('</nProt>', strretg)-1);
                  if (Length(Trim(strretg)) > 0) then
                    cProtocl := strretg;
                end;
           end;
 

 

 

 

 

 

Link to comment
Share on other sites

  • Moderadores

Porque está alterando a nota antes de enviar?

             // Ambiente normal
             ACBrNFe1.Configuracoes.Geral.FormaEmissao := teNormal;
             ACBrNFe1.NotasFiscais.Items[0].NFe.Ide.tpEmis := teNormal;
             ACBrNFe1.NotasFiscais.Items[0].NFe.Ide.dEmi      := now;
             ACBrNFe1.NotasFiscais.Items[0].NFe.Ide.dSaiEnt   := now;
             ACBrNFe1.NotasFiscais.Items[0].NFe.Ide.hSaiEnt   := now;             
             ACBrNFe1.NotasFiscais.Items[0].NFe.infNFe.ID := '';

Você não deve fazer isso, basta somente carregar com loadfromfile e enviar, nada mais.

Equipe ACBr

Régys Borges da Silveira

http://www.regys.com.br

certificacao delphicertificacao delphi
Link to comment
Share on other sites

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