Estou com um problema bem estranho ao fazer um CNF, ocorre assim:
Ao registrar um item CNF, estranhamente na ECF fica com 1 centavo a mais.
Para complicar mais o problema, usando o EcfTeste não acontece.
Já atualizei o componente e continuou na mesma.
Tentei debugar e só consegui descobrir que a mudança onde acontece o acréscimo
de 1 centavo é dentro de uma função do componente.
Na procedure, RegistraItemNaoFiscal existe a seguinte chamada "fsECF.RegistraItemNaoFiscal(CodCNF, Valor, Obs);"
Até aqui não ocorre problema mas quando entro debugando vai para
"procedure TACBrECFEscECF.RegistraItemNaoFiscal(CodCNF: String; Valor: Double; Obs: AnsiString);"
Nessa procedure, ao entrar em "EscECFComando.AddParamDouble( Valor ) ;"
vai para
procedure TACBrECFEscECFComando.AddParamDouble(ADouble: Double; Decimais: Byte);
begin
AddParamInteger( Round( ADouble * power(10, Decimais) ) ) ;
end;
e aqui a mágica acontece, acrescenta 1 centavo. Ao ir ao próximo ponto já está com o valor alterado.
Já fiz de tudo, conferi a configuração do ACBrECF do EcfTeste com o do nosso sistema e não consegui
encontrar o porque disso acontecer. Se alguém tiver visto isso acontecer e puder me ajudar agradeço.
Em anexo o Log da ECF gerado por ambos os sistemas mas pelo que olhei, não entendo muito o conteúdo desse log,
mas parece que nele não tem o conteúdo que esclarece o problema por este ocorrer antes de ir para a ECF.
ECF.TXT
acbrlog.txt