Quando habilito as variáveis: ConfigArquivos.SalvarCFe e/ou ConfigArquivos.SalvarCFeCanc ocorre o salvamento do respectivo arquivo previamente configurado, correto?
Bom, meu problema foi que quando existe um path mal configurado ou algum problema de permissão de gravação de arquivo é gerada uma exceção, e essa exceção me fez com que eu não continuasse com meu processo de venda, porém o cupom havia sido emitido pelo SAT normalmente.
No meu caso eu acabei contornando fazendo um tratamento mais abaixo na chamada da função principal: EnviarDadosVenda e/ou CancelarUltimaVenda, porém, achei importante sugerir a ACBr o tratamento dentro das próprias funções DecodificaRetorno6000 e DecodificaRetorno7000 no caso de erro no salvamento do arquivo continuar com a execução normalmente.
procedure TACBrSAT.DecodificaRetorno6000;
// ...
if fsConfigArquivos.SalvarCFe then
begin
NomeCFe := CalcCFeNomeArq(fsConfigArquivos.PastaCFeVenda);
try
CFe.SaveToFile(NomeCFe);
DoLog(' Gravando XML Venda recebido: '+NomeCFe);
except
on E: Exception do begin
DoLog(' Erro Gravando XML Venda recebido: '+NomeCFe + ' -> ' + E.Message );
end;
end;
end;
procedure TACBrSAT.DecodificaRetorno7000;
// ...
if fsConfigArquivos.SalvarCFeCanc then
begin
NomeCFe := CalcCFeCancNomeArq(fsConfigArquivos.PastaCFeCancelamento);
try
CFeCanc.SaveToFile(NomeCFe);
DoLog(' Gravando XML Cancelamento recebido: '+NomeCFe);
except
on E: Exception do begin
DoLog(' Erro gravando XML Cancelamento recebido: '+NomeCFe + ' -> ' + E.Message);
end;
end;
end;
Sem mais, deixo registrado um problema que tive e minha sugestão...
Muito Obrigado,
Luiz Henrique