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

 


Responder a