Olá, galera, dúvida bem simples aqui... primeiramente queria agradecer a vcs por dedicar a disponibilizar este componente excelente para o Delphi. Após 1 mês e meio vendo tutoriais, quebrando a cabeça e fuçando nos exemplos da ACBr, consegui emitir uma nota em produção usando o componente ACBrNFe. Sempre usei um emissor gratuito da Treeunfe e, infelizmente, descontinuaram o software (migraram para o site). Como não suporto usar emissores web, decidi pegar pra valer e decidi adicionar essa funcionalidade a meu programa de controle de estoque.
Após emitir a nota, gostaria de salvar o XML com a assinatura, o protocolo e a chave da nota (nProt e chNFe) na minha tabela de NFes. Faço assim, mas acredito que não seja o correto:
[...]
ACBrNFe1.NotasFiscais.GerarNFe;
ACBrNFe1.NotasFiscais.Assinar;
ACBrNFe1.NotasFiscais.Validar;
ACBrNFe1.Enviar(1);
LoadXML(ACBrNFe1.WebServices.Retorno.RetornoWS, WBResposta);
FDQueryNFE.Edit;
FDQueryNFE.FieldByName('NFE_XML').AsWideString := ACBrNFe1.NotasFiscais.Items[0].GerarXML; // Salva o XML, mas sem a assinatura
FDQueryNFE.FieldByName('NFE_PROTOCOLO').AsString := ACBrNFe1.WebServices.Retorno.Protocolo; // Acredito que estas
FDQueryNFE.FieldByName('NFE_CHAVE').AsString := ACBrNFe1.WebServices.Retorno.ChaveNFe; // estejam erradas
FDQueryNFE.FieldByName('IDE_CNF').AsString := ACBrNFe1.WebServices.Retorno.Recibo;
[...]
FDQueryNFE.Post;
ACBrNFe1.NotasFiscais.Items[0].GravarXML(); // Isso está ok, e ele gera o arquivo
ShowMessage('Arquivo gerado em: ' + ACBrNFe1.NotasFiscais.Items[0].NomeArq);
Obrigado,