Re: [delphi-br] Problemas com Arredondamento de Campo

2006-06-02 Por tôpico Francisco Thiago
Não li o seu e-mail inteiro (estou com sono) mas...
Faz um Cast nos campos para que eles fiquem iguais

Tipo.. Cast(camp1 as numeric(12,4)) (mesmo que ele esteja definido como 
numeric(12,3)... faça isso e vê se dá certo...

outra coisa...

Tente multiplicar/dividir por 100.000 por exemplo (onde "." é casa decimal)

Talvez funcione...

Agora se você quer um arredondamento financeiro... escreve uma udf pra 
isso :D


[]'s

Thiago

Rafael wrote:
> Bom dia Galera.
>
>  
>
> Seguinte, estou enfrentando um problema no firebird e não estou conseguindo
> solucionar.
>
>  
>
> Estou desenvolvendo um sistema de restaurante, e
>
>  
>
> Eu tenho uma tabela de produtos, e nesta tabela eu tenho os seguintes
> campos:
>
>  
>
> - PRODUTO – PK
>
> - CATEGORIAPRODUTO = FK
>
> - NOMEPRODUTO
>
> - PRECOMEDIO
>
> - QUANTIDADE
>
> - LUCRO
>
> - PRECOVENDA
>
>
>
> O PRECOVENDA é um campo calculado pelo próprio banco que é PRECOVENDA +
> ((PRECOVENDA * LUCRO) / 100)
>
>  
>
> Ai eu tenho uma tabela com de Comandas e Itens Comanda
>
> Dentro do Itens Comanda eu tenho 2 campos que podem ser relacionado ao
> produto,
>
> Que é o PRODUTO ou pode ser um SERVIÇO
>
>  
>
> Porem na hora que eu vou mostrar os dados na tela eu mostro a Quantidade
> pedida do Produto ou Serviço o Valor Unitário e o Valor Total do Produto ou
> Serviço
>
> E Quando o a Quantidade é 1 por exemplo o meu registro fica assim
>
>  
>
> Produto 1
>
> Quantidade 1
>
> Valor Item 2,63
>
> Valor Total 2,625
>
>  
>
> O meu campo de Quantidade é Numérico de 8,2 e o campos de valor é numérico
> de 13,2
>
>  
>
> A minha select é esta:
>
>  
>
> select
>
> ic.QUANTIDADE,
>
> c.COMANDA,
>
> c.MESA,
>
> ic.SEQUENCIA,
>
> ic.SERVICO,
>
> ic.PRODUTO,
>
>  
>
> case when ic.SERVICO is NULL then ic.PRODUTO
>
>  when ic.SERVICO is NOT NULL then ic.SERVICO end as "Produtos",
>
>  
>
> case when ic.SERVICO is NULL then p.NOMEPRODUTO
>
>  when ic.SERVICO is NOT NULL then s.DESCRICAOSERVICO end as "Nome
> Produto",
>
>  
>
> case when ic.SERVICO is NULL then p.PRECOVENDA
>
>  when ic.SERVICO is NOT NULL then s.PRECOVENDA end as "Valor
> Unitário",
>
>  
>
> case when ic.SERVICO is NULL then p.PRECOVENDA * ic.QUANTIDADE
>
>  when ic.SERVICO is NOT NULL then s.PRECOVENDA * ic.QUANTIDADE end
> as "Total Item",
>
>  
>
> case when ic.SERVICO is NULL then 'Produto'
>
>  when ic.SERVICO is NOT NULL then 'Serviço' end as "Tipo Produto"
>
>  
>
> from COMANDAS c
>
>  
>
> INNER JOIN ITENS_COMANDA ic ON ic.COMANDA = c.COMANDA
>
> LEFT JOIN SERVICOS s ON s.SERVICO = ic.SERVICO
>
> LEFT JOIN PRODUTOS p ON p.PRODUTO = ic.PRODUTO
>
>
>
> [As partes desta mensagem que não continham texto foram removidas]
>
>
>
>
>
>   



___ 
Navegue com o Yahoo! Acesso Grátis, assista aos jogos do Brasil na Copa e ganhe 
prêmios de hora em hora! 
http://br.yahoo.com/artilheirodacopa/


-- 
< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >

<*> Para ver as mensagens antigas, acesse:
http://br.groups.yahoo.com/group/delphi-br/messages

<*> Para falar com o moderador, envie um e-mail para:
[EMAIL PROTECTED]
 
Links do Yahoo! Grupos

<*> Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/delphi-br/

<*> Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html

 




[delphi-br] Problemas com Arredondamento de Campo

2006-06-01 Por tôpico Rafael



Bom dia Galera.

 

Seguinte, estou enfrentando um problema no firebird e não estou conseguindo
solucionar.

 

Estou desenvolvendo um sistema de restaurante, e

 

Eu tenho uma tabela de produtos, e nesta tabela eu tenho os seguintes
campos:

 

- PRODUTO – PK

- CATEGORIAPRODUTO = FK

- NOMEPRODUTO

- PRECOMEDIO

- QUANTIDADE

- LUCRO

- PRECOVENDA



O PRECOVENDA é um campo calculado pelo próprio banco que é PRECOVENDA +
((PRECOVENDA * LUCRO) / 100)

 

Ai eu tenho uma tabela com de Comandas e Itens Comanda

Dentro do Itens Comanda eu tenho 2 campos que podem ser relacionado ao
produto,

Que é o PRODUTO ou pode ser um SERVIÇO

 

Porem na hora que eu vou mostrar os dados na tela eu mostro a Quantidade
pedida do Produto ou Serviço o Valor Unitário e o Valor Total do Produto ou
Serviço

E Quando o a Quantidade é 1 por exemplo o meu registro fica assim

 

Produto 1

Quantidade 1

Valor Item 2,63

Valor Total 2,625

 

O meu campo de Quantidade é Numérico de 8,2 e o campos de valor é numérico
de 13,2

 

A minha select é esta:

 

select

    ic.QUANTIDADE,

    c.COMANDA,

    c.MESA,

    ic.SEQUENCIA,

    ic.SERVICO,

    ic.PRODUTO,

 

    case when ic.SERVICO is NULL then ic.PRODUTO

 when ic.SERVICO is NOT NULL then ic.SERVICO end as "Produtos",

 

    case when ic.SERVICO is NULL then p.NOMEPRODUTO

 when ic.SERVICO is NOT NULL then s.DESCRICAOSERVICO end as "Nome
Produto",

 

    case when ic.SERVICO is NULL then p.PRECOVENDA

 when ic.SERVICO is NOT NULL then s.PRECOVENDA end as "Valor
Unitário",

 

    case when ic.SERVICO is NULL then p.PRECOVENDA * ic.QUANTIDADE

 when ic.SERVICO is NOT NULL then s.PRECOVENDA * ic.QUANTIDADE end
as "Total Item",

 

    case when ic.SERVICO is NULL then 'Produto'

 when ic.SERVICO is NOT NULL then 'Serviço' end as "Tipo Produto"

 

from COMANDAS c

 

INNER JOIN ITENS_COMANDA ic ON ic.COMANDA = c.COMANDA

LEFT JOIN SERVICOS s ON s.SERVICO = ic.SERVICO

LEFT JOIN PRODUTOS p ON p.PRODUTO = ic.PRODUTO



[As partes desta mensagem que não continham texto foram removidas]









-- 
< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >

<*> Para ver as mensagens antigas, acesse:
    http://br.groups.yahoo.com/group/delphi-br/messages

<*> Para falar com o moderador, envie um e-mail para:
    [EMAIL PROTECTED]






  




  
Yahoo! Grupos, um serviço oferecido por:
  
  

PUBLICIDADE




  
  



  




  
Links do Yahoo! Grupos

Para visitar o site do seu grupo na web, acesse:http://br.groups.yahoo.com/group/delphi-br/ 
Para sair deste grupo, envie um e-mail para:[EMAIL PROTECTED] 
O uso que você faz do Yahoo! Grupos está sujeito aos Termos do Serviço do Yahoo!.