Prezados,
No componente de emissão de NFe, versão 3.1, eu consigo assinar, enviar para sefaz e, imediatamente, imprimir a DANFE, sem problemas.
No entanto, se eu precisar imprimir uma 2a. via da DANFE, sai com a mensagem sobre o código de barras: "NFe não enviada para SEFAZ".
Eu estou gravando o xml no banco de dados da NFe assinada e o protocolo de envio separadamente.
Vi em algum forum que esse erro é gerado quando não se obtém o xml completo com o protocolo de autorização. No entanto, não sei como juntar os dois xmls (assinado e protocolo de envio).
Segue abaixo procedimentos que estou utilizando para:
1) Enviar a NFe
ACBrNFe1.NotasFiscais.Clear;
ACBrNFe1.NotasFiscais.LoadFromString(aqyNF.FieldByName('im_xml').AsString, False); // xml ja assinado anteriormente, sem problemas
ACBrNFe1.Enviar(1,True); // envia e imprime danfe
MemoResp.Lines.Text := ACBrNFe1.WebServices.Retorno.RetWS;
memoRespWS.Lines.Text := ACBrNFe1.WebServices.Retorno.RetornoWS; // retorno completo do xml
LoadXML(ACBrNFe1.WebServices.Retorno.RetornoWS, WBResposta); // gera xml de autorizacao, que sera gravado no banco de dados
GravaNFStatus(sIdFiscal, IntToStr(ACBrNFe1.WebServices.Retorno.cStat), ACBrNFe1.WebServices.Retorno.RetornoWS, false); // aqui eu gravo retorno xml no banco de dados
2) Imprimir 2a. vida da DANFE
ACBrNFe1.NotasFiscais.Clear;
ACBrNFe1.NotasFiscais.LoadFromString(aqyXml.FieldByName('im_xml').AsString, False); // recuperando xml assinado, sem protocolo de autorizacao. Como anexar o xml de autorizacao aqui também?
ACBrNFe1.NotasFiscais.Imprimir;
Fico grato pelo retorno.
Att,
Marcelo Antunes