SOMA E SUBTRAÇÃO DBGRID

Delphi

17/05/2010

na tela de vendas vendo um item de R$ 1.00,00 dou o desconto de 10% e inserido no banco CAIXA da segunte forma
(R$ 900,00).  ou seja valor NEGATIVO  =  - 900,00

Quando vou somar a tabela caixa no form CAIXA ele vai somando os valores Positivos e quando chega em um valor negativo  (R$ 00,00)  =  - 900,00  ele subtrai o valor ja somado dos positivos pelo valor (R$ - 00,00) . OQUE FAZER .. ????


estou usando adotable  banco access.

EXEMPLO DA TABELA

VALOR UNIDADE ---

200,00
200,00
100,00
- 100,00

o  EDIT1 pega a soma total dos valores

ao inves de somar tudo e dar  600,00 ele soma  200 + 200 + 100 = 500  - 100  = 400

OQUE FAZER ???



Lartedesign

Lartedesign

Curtidas 0

Respostas

Emerson Nascimento

Emerson Nascimento

17/05/2010

seu cálculo do desconto está errado.

deveria ser:

PV = PL * (1 - (D / 100))

PV = Preço de venda
PL = Preço de lista
D = Desconto

usemos como exemplo os valores que você passou:

PL = 1.000,00
D = 10%

então, a fórmula deve ficar assim:

PV = 1.000 * (1 - (10 / 100))


resolvendo a fórmula de forma bem didática:

PV = 1.000 * (1- 0.1)
PV = 1.000 * 0.9
PV = 900

GOSTEI 0
Lartedesign

Lartedesign

17/05/2010

Emerson obrigado pela ajuda eu consegui ontem resolver
da seguinte maneira : 

Function Desconto(Valor, porcentagem : real) : Real;
begin
  Result := Valor-(Valor * porcentagem / 100);
end;


com essa função foi possivel obter o valor sem que o - aparece na frente..

********



Agora outra duvida seria o seguinte  estou subtraindo tambem o valor de quantidade de produtos
que no caso fica com o sinal de -    na frente do numero estou usando a seguinte solução para isso


Function Des(Valor, valor1 : real) : Real;
begin

  Result := Valor-(Valor1);
end;


desta maneira ele me retorna a subtração listada nos edits   mais o resultado vem com  (- 1 )
sempre mostra o SINAL - na frente teria como fazer essa subtração sem que o sinal fique a frente
do numero

estou chamando a func no evento onexit do edit

Edit8.Text :=CurrToStr(Des(StrToCurr(Edit5.Text),StrToCurr(Edit8.Text)));



OBRIGADO
GOSTEI 0
POSTAR