Bom dia
Proponho uma pequena alteração, para converter a variável CaminhoXML em parâmetro
function GerarXML(Arquivo : AnsiString; CaminhoXML : AnsiString = '') : String;
e ao final da função alterar
if CaminhoXML = '' then
CaminhoXML := PathWithDelim(ExtractFilePath(Application.ExeName))+copy(NFe.infNFe.ID, (length(NFe.infNFe.ID)-44)+1, 44)+'-nfe.xml';
Com isso é possível definir antes da chamada da função o caminho+nome do arquivo XML criado;
Após alguns testes, alterei a linha
if LerCampo(Grupo,'|&|IMPOSTO SOBRE PRODUTOS INDUSTRIALIZADOS|&|')<>'' then
para
if LerCampo(Grupo,'|&|IMPOSTO SOBRE PRODUTOS INDUSTRIALIZADOS |&|')<>'' then
Na página obtida do SEFAZ tem um espaço a mais e isto estava impedindo a inclusão do IPI no XML
Obrigado
Paulo C. L. Vicente