Jump to content

dev botao

NFC-e com XML vazio (0 Kb)


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

Recommended Posts

Bom dia a todos!

Estou com a seguinte situação: algumas vezes o XML retornado no envio da NFC-e vem vazio (0 Kb), mas não dá nenhum erro, então o meu sistema grava tudo normalmente, e o erro só é detectado posteriormente, quando os XMLs do cliente são enviados para a contabilidade. Já verifiquei várias vezes a minha rotina em busca de furos, mas infelizmente ainda não consegui detectar a fonte do problema.

Nesse caso, como não tenho o XML, mas tenho a chave da nota e protocolo de envio, existe alguma forma de recuperar o XML via programação?

Link to comment
Share on other sites

  • Consultores

Bom dia Clerisonb,

Sim, temo como, mas você precisa descobrir o que esta ocorrendo.

Uma dica é atribuir o valor True a propriedade de configuração: Configuracoes.WebServices.Salvar

Desta forma os arquivos de envio e de retorno serão salvos sem nenhum tratamento realizado pelo componente, dai é possível descobrir o problema.

É importante informar sempre um numero de Lote sequencial para que seja possível o rastreamento.

Para recriar basta gerar novamente o XML com os dados da venda e assinar o mesmo.

Para isso basta alimentar o componente com os dados da respectiva venda e depois executar o método Assinar.

Em seguida execute o método Consultar.

Se a nota foi realmente gerada, enviada e autorizada pela primeira vez, ao executar o método Consultar será acrescentado ao XML assinado o protocolo de autorização.

Pronto você tem agora o XML da NFC-e com validade jurídica exatamente igual o que foi enviado da primeira vez.

  • Like 2
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

2 horas atrás, Italo Jurisato Junior disse:

Bom dia Clerisonb,

Sim, temo como, mas você precisa descobrir o que esta ocorrendo.

Uma dica é atribuir o valor True a propriedade de configuração: Configuracoes.WebServices.Salvar

Desta forma os arquivos de envio e de retorno serão salvos sem nenhum tratamento realizado pelo componente, dai é possível descobrir o problema.

É importante informar sempre um numero de Lote sequencial para que seja possível o rastreamento.

Para recriar basta gerar novamente o XML com os dados da venda e assinar o mesmo.

Para isso basta alimentar o componente com os dados da respectiva venda e depois executar o método Assinar.

Em seguida execute o método Consultar.

Se a nota foi realmente gerada, enviada e autorizada pela primeira vez, ao executar o método Consultar será acrescentado ao XML assinado o protocolo de autorização.

Pronto você tem agora o XML da NFC-e com validade jurídica exatamente igual o que foi enviado da primeira vez.

Italo, antes de tudo, obrigado pela ajuda!

Os XMLs de envio ao qual você se refere seriam aqueles que são  nomeados da seguinte forma: "2028-env-lot.xml" ?

Então nesse caso bastaria eu alimentar o componente com ele, assinar e logo em seguida consultar, e depois disso eu já poderia chamar o método de salvar o xml na para que o mesmo seja salvo na pasta final já com os dados corretos?

EDIT !!!!

Fui verificar os arquivos de envio das notas que estão com xml vazio, e para minha surpresa e infelicidade, todos estão com um conteúdo estranho, como se não tivessem sido gerados corretamente. Outra coisa que notei foi que em todos, o arquivo de retorno do protocolo veio com cStat = 104 (Lote processado). Eu não testo esse retorno no meu código para saber se ocorreu tudo bem. Eu testo apenas o cStat = 100. 

Alguém poderia me dar uma luz?

1900-pro-lot.xml

1900-env-lot.xml

1901-env-lot.xml

1901-pro-lot.xml

Edited by clerisonb
Anexando arquivos
Link to comment
Share on other sites

  • Consultores

Boa tarde Clerisonb,

O arquivo *-pro-lot.xml contem 2 TAGs chamadas cStat.

A primeira informa o status do processamento do lote, que no caso tem que ser 104 = Lote Processado com Sucesso.

Já a segunda informa o status do processamento da nota, que no caso tem que ser 100 = Autorização de Uso.

Os arquivos *-env-lot.xml se trata do arquivo de envio do lote, o componente não possui nenhum método capaz de carregado-lo para ser enviado novamente.

Repito, você tem que ler o arquivo *-nfe.xml (assinado e sem o protocolo de autorização) usando para isso o método LoadFromFile da seguinte forma:

LoadFromFile(xNomeXML, False); 

O segundo parâmetro ( False ) diz ao método que o objetivo é apenas ler o conteúdo do XML que precisa estar assinado.

Depois basta executar o método Consultar.

Agora se você não tem o arquivo *-nfe.xml a solução é:

Ler os dados da venda do banco de dados para alimentar o componente.

É preciso garantir que o valor de cNF tem que ser exatamente o mesmo de quando o nota foi gerada pela primeira vez.

Após alimentar o componente, devemos executar o método Assinar e em seguida o Consultar.

Não confunda nNF com cNF, o primeiro se refere ao numero da Nota Fiscal, já o segundo se refere ao código aleatório da Nota Fiscal.

O numero da NF tem 9 dígitos já o código da NF tem apenas 8 dígitos.

Muitos atribuem o valor de nNF a cNF, isso esta errado por 2 motivos.

Primeiro, o que você vai fazer quanto o numero da NF chegar a ter 9 dígitos?

Segundo, a SEFAZ recomenda que seja um código aleatório por motivos de segurança para o próprio emitente da NF.

Dica: quando for salvar no banco de dados os dados da NF, acrescente mais uma campo na tabela.

Esse campo pode se chamar CodigoNF e ser do tipo Inteiro.

Na sua aplicação faça com que seja gerado um numero com 8 dígitos, utilize para isso a função Random.

Quando for alimentar o componente leia o valor do campo CodigoNF e atribua a propriedade cNF do componente.

 

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

Então resumindo, é impossível refazer esses XMLs? Pois como falei, os arquivos " -nfe.xml" estão vazios. E como nunca salvei esse campo cNF, não tenho como saber qual número foi enviado. Então posso esquecer e dar a péssima notícia ao cliente, ou será que existe esperança?? rsrs

Link to comment
Share on other sites

  • Moderadores
1 hora atrás, clerisonb disse:

Então resumindo, é impossível refazer esses XMLs? Pois como falei, os arquivos " -nfe.xml" estão vazios. E como nunca salvei esse campo cNF, não tenho como saber qual número foi enviado. Então posso esquecer e dar a péssima notícia ao cliente, ou será que existe esperança?? rsrs

Se você tem a chave da nota como disse no primeiro post, basta pegar o cNF dela. Os dígitos na posição 36 a 43 correspondem ao cNF.

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

Projeto ACBr

 

 

Link to comment
Share on other sites

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