Pesquisar na Comunidade
Showing results for tags 'efetuapagamento'.
Encontrado 1 registro
-
Olá a todos, Gostaria de compartilhar mais um pequeno caso que localizei na unit: ACBrECFVirtual, exatamente no método: EfetuaPagamento. O método estava programado da seguinte forma: function TACBrECFVirtualClassCupom.EfetuaPagamento(AValor: Currency; AObservacao: String; APosFPG: Integer): TACBrECFVirtualClassPagamentoCupom; begin Result := fpPagamentosCupom.New; with Result do begin PosFPG := APosFPG ; ValorPago := fpECFVirtualClasse.RoundECF(AValor); Observacao := AObservacao ; fpTotalPago := fpTotalPago + max(ValorPago, 0); end; end; Esse método fpECFVirtualClasse.RoundECF utiliza a property fpArredondaItemMFD, e a mesma está igual a False no meu caso. Ou seja, o sistema irá truncar o valor os valores. (Essa propriedade precisa ficar False, pois os produtos nesse caso precisam ser truncados na venda) Ex: Enviei um pagamento de 78,22, o método que efetua o TruncTo retornava 78,21; Pensando nisso esse Valor não deveria ser formatado, pois o mesmo já vem com seu valor respectivamente correto, pois no método: EfetuaPagamento da unit: ACBrECF (TACBrECF.EfetuaPagamento) já faz a devida formatação do campo, enviando assim corretamente para unit: ACBrECFVirtual; Meu método ficou da seguinte forma: function TACBrECFVirtualClassCupom.EfetuaPagamento(AValor: Currency; AObservacao: String; APosFPG: Integer): TACBrECFVirtualClassPagamentoCupom; begin Result := fpPagamentosCupom.New; with Result do begin PosFPG := APosFPG ; ValorPago := AValor; //fpECFVirtualClasse.RoundECF(AValor); Observacao := AObservacao ; fpTotalPago := fpTotalPago + max(ValorPago, 0); end; end; Não consegui pensar em outra solução ou encontrar algo que mudasse esse calculo. Peço por gentileza que desconsidere a sugestão caso exista outra. Agradeço a todos pela ajuda desde já. ACBrECFVirtual.pas