[firebase-br] Duvida com Trigger

Jáber - CPD cpd em lekagi.com.br
Qui Jul 16 13:32:42 -03 2009


Olá pessoal 

Tenho a trigger abaixo para calcular o valor de um determinado imposto e
salvar um uma tabela. 

O problema é que o valor está sendo arredondado. 

Supondo que o valor da venda é 18,80 o imposto calculado a 10% deveria ser
gravado na tabela no valor de 1,88. 

O problema é que o firebird está gravando com o valor de 1,90. 

 

Como proceder para que o firebird não arredonde esse valor? 

Segue abaixo os detalhes da trigger. 

(Uso Delphi7+ZEOS+Firebird2.1.2)

-------------------------------------- 

 

SET TERM ^ ; 

 

CREATE OR ALTER TRIGGER TBL_DVENDA_BIU0 FOR TBL_DVENDA 

ACTIVE BEFORE INSERT OR UPDATE POSITION 0 

AS 

begin 

select pro.ipi from tbl_produtos pro where pro.codigo = new.produto into new
percipi; 

new.vlripi = (new.percipi * new.total)/100; 

end 

^ 

 

SET TERM ; ^ 

 

Campos envolvidos: 

 

PERCIPI D_PERCENT NOT NULL /* D_PERCENT = NUMERIC(8,4) */, 

VLRIPI D_MONEY NOT NULL /* D_MONEY = NUMERIC(15,2) */, 

 

------------------------- 

Desde já agradeço a todos.. 

 

Jáber S. C. Lima





Mais detalhes sobre a lista de discussão lista