Bom dia senhores.
Meu software é direcionado a postos de combustíveis e já tenho o Sat implantado em alguns clientes e estou adequando os fontes e presenciando algumas situações específicas.
Um dos meus clientes reparou que na impressão, o preço do combustível não estava correto com as 3 casas decimais como de costume.
Fui analisar a situação e eu estava direcionando o item com a tag "EhCombustivel" para que o ACBr fizesse os devidos tratamentos quanto as casas decimais.
Debugando, percebi que ao passar pela segunda vez na função procedure TCFeW.GerarDetProd(const i: integer); essa indicação "EhCombustivel" se perde (volta a ser false), e daí em diante, todas as informações dos itens, são tratadas como se trabalhasse com apenas 2 casas decimais (XML e Impressão).
Por hora, alterei o fonte \ACBr\Trunk\Fontes\ACBrSat\pcnCFeW.pas com o seguinte código:
procedure TCFeW.GerarDetProd(const i: integer);
var
DecQtd: TpcnTipoCampo;
begin
If CFe.Det[i].Prod.indRegra = irArredondamento then
begin
DecQtd := tcDe2;
end
Else
begin
DecQtd := tcDe3;
end;
Poderiam me dizer se estou fazendo algo errado ou se essa solução é valida?
Desde já agradeço a atenção dos senhores e qualquer dúvida, estou a disposição.