Bom dia a todos,
Como todos sabem, o componente ACBrNFe possui todas as funcionalidades para trabalharmos com a NF-e e NFC-e.
Para isso devemos sempre configurar o componente setando o Modelo e a Versão do Documento Fiscal da seguinte forma:
para NF-e:
ACBrNFe.Configuracoes.Geral.ModeloDF := moNFe;
ACBrNFe.Configuracoes.Geral.VersaoDF := ve200; // ou ve310;
para NFC-e:
ACBrNFe.Configuracoes.Geral.ModeloDF := moNFCe;
ACBrNFe.Configuracoes.Geral.VersaoDF := ve300; // ou ve310;
O problema esta agora em carregar um XML, vou explicar:
A sua aplicação esta configurada para emitir NF-e na versão 3.10, mas você necessita carregar o XML de uma NF-e versão 2.00 para enviar por e-mail, por exemplo.
O LoadFromFile (por exemplo) ao carregar o XML, vai executar a procedure GerarNFe que por sua vez gera conforme o ModeloDF e VersaoDF setados.
Isso faz com que o XML da NF-e que você carregou se transforme na versão 3.10 antes de ser enviado por e-mail.
Uma solução que encontrei foi alterar o LoadFromFile de tal maneira que ele reconfigura o componente com o modelo e versão do XML carregado.
Desta forma devemos tomar como regra, sempre setar o Modelo e Versão antes de alimentar o componente e/ou antes de enviar, cancelar, inutilizar numeração.
Quero deixar claro que essa alteração não é A solução e sim UMA solução, caso alguém tenha uma proposta melhor por favor post neste tópico.