Ir para conteúdo
  • Cadastre-se

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

Recommended Posts

Postado

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?

 

Postado

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. 

  • Consultores
Postado

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 / Araraquara-SP

Araraquara - A era dos Trólebus

Postado
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. 

  • Curtir 1
  • 2 semanas depois ...
Postado

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 ?

Postado
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!

 

Postado

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]

 

 

 

 

 

 

 

 

 

Postado

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

 

 

 

 

Postado

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);

 

 

 

 

Postado

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;
 

 

 

 

 

 

  • Moderadores
Postado

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