Olá pessoal,
Estava olhando o código do componente para pegar os dados da última Redução Z, no caso da Sweda. Percebi que o totalizador N3 está repetido em dois lugares no código, uma delas na posição que visualmente seria a do I3.
Será que alguém com um ECF Sweda ou experiência nessa parte poderia verificar?
Abaixo trecho do código que se inicia na linha 2399 do ACBrECFSwedaSTX.pas para a função GetDadosUltimaReducaoZ:
{Verifica se existe não tributado}
PosI := Pos('N1 ',RetCMD);
if PosI > 0 then
begin
PosI := PosI + 5 ; {N1 }
V := StrToFloatDef(Trim(Copy(RetCMD,PosI,18)),0)/100;
end;
PosI := Pos('N2 ',RetCMD);
if PosI > 0 then
begin
PosI := PosI + 5 ; {N2 }
V := V + StrToFloatDef(Trim(Copy(RetCMD,PosI,18)),0)/100;
end;
PosI := Pos('N3 ',RetCMD);
if PosI > 0 then
begin
PosI := PosI + 5 ; {N3 }
V := V + StrToFloatDef(Trim(Copy(RetCMD,PosI,18)),0)/100;
end;
Result := Result + 'TotalNaoTributado = '+FormatFloat('#0.00',V)+ sLineBreak;
V:= 0;
{Isentos}
PosI := Pos('I1 ',RetCMD);
if PosI > 0 then
begin
PosI := PosI + 5 ; {N1 }
V := StrToFloatDef(Trim(Copy(RetCMD,PosI,18)),0)/100;
end;
PosI := Pos('I2 ',RetCMD);
if PosI > 0 then
begin
PosI := PosI + 5 ; {N1 }
V := V + StrToFloatDef(Trim(Copy(RetCMD,PosI,18)),0)/100;
end;
PosI := Pos('N3 ',RetCMD); //
if PosI > 0 then
begin
PosI := PosI + 5 ; {N1 }
V := V + StrToFloatDef(Trim(Copy(RetCMD,PosI,18)),0)/100;
end;
Result := Result + 'TotalIsencao = '+FormatFloat('#0.00',V)+ sLineBreak;[/code]