Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Firebird e Interbase
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 04-10-2008
ronalg ronalg is offline
Miembro
 
Registrado: may 2003
Ubicación: Sucre - Bolivia
Posts: 68
Poder: 21
ronalg Va por buen camino
Problemas con porcentajes

Buenas amigos, como siempre buscando ayuda:

El asunto es el siguiente:

Tengo dos tablas:

Código SQL [-]
TB_VENTAS (
cod integer,
fecha TdateTime,
ref_proveedor integer [FK],
tipo_descuento integer[FK],
tipo compra integer [FK],
total decimal(10,2) )

TB_ITEMS_VENTAS (
cod integer,
ref_venta integer,
ref_producto integer,
precio_unitario decimal(10,2),
precio_unitario_descuento decimal(10,2),
cantidad integer,
subtotal decimal(10,2))

ademas tengo un trigger after_update para
Código SQL [-]
TB_VENTAS
, el cual en una parte verifica si se modifico el campo
Código SQL [-]
tipo_descuento
, si es asi ejecuta esta instrucción:

Código SQL [-]
update table tb_items_venta
set precio_unitario=precio_unitario_descuento*(1-( : porcentaje/100))
where ref_venta=new_cod;

para actualizar todos los precios de los items de la venta y queden de acorde con el decuento seleccionado (el parámetro : porcentaje se lo extrae previamente de otra tabla
Código SQL [-]
TB_TIPOS_DESCUENTOS
), lo que he descubierto es "FALLA LA DIVISION", asi es todo el factor
Código SQL [-]
*(1-(: porcentaje/100))
no calcula, pero si lo cambio por algo asi
Código SQL [-]
*(1-0.2)
funciona, y tampoco es el valor del parámetro : procentaje, pues si coloco
Código SQL [-]
*(1-: porcentaje)
también funciona, pero el calculo es incorrecto pues : porcentaje esta en tantos por ciento y se lo necesita en tantos por uno, todo esto me hace suponer que el error esta en la división
Código SQL [-]
*(1-(: porcentaje/100))

Uso EMS manager 3.0 y tambien IB-SQL, con firebird 1.5.

Muchas gracias de antemano por su ayuda

NOTA el espacio entre : y porcentaje (orcentaje) tube que colocarlo asi en el foro porque me lo reconoce como un icono sancado la lengua
__________________
Saludos desde Sucre - Bolivia
"Si te lo puedes imaginar lo
puedes resolver" Pyriel
Responder Con Cita
  #2  
Antiguo 04-10-2008
Avatar de enecumene
[enecumene] enecumene is offline
Miembro de Oro
 
Registrado: may 2006
Ubicación: Santo Domingo, Rep. Dom.
Posts: 3.040
Poder: 21
enecumene Va por buen camino
Pregunta: ¿es un procedimiento almacenado? ¿declaraste orcentaje en el SP?)
__________________

Mi BLOG - ¡Joder, leanse la guia de estilo!
Las Palabras son enanas, los ejemplos gigantes.
Responder Con Cita
  #3  
Antiguo 04-10-2008
ronalg ronalg is offline
Miembro
 
Registrado: may 2003
Ubicación: Sucre - Bolivia
Posts: 68
Poder: 21
ronalg Va por buen camino
Cita:
Empezado por enecumene Ver Mensaje
Pregunta: ¿es un procedimiento almacenado? ¿declaraste orcentaje en el SP?)
no uso un SP uso un trigger
Cita:
trigger after_update
__________________
Saludos desde Sucre - Bolivia
"Si te lo puedes imaginar lo
puedes resolver" Pyriel
Responder Con Cita
  #4  
Antiguo 04-10-2008
Avatar de enecumene
[enecumene] enecumene is offline
Miembro de Oro
 
Registrado: may 2006
Ubicación: Santo Domingo, Rep. Dom.
Posts: 3.040
Poder: 21
enecumene Va por buen camino
Cita:
Empezado por ronalg Ver Mensaje
no uso un SP uso un trigger
Bueno amigo sólo pregunto, porque a través de un trigger también puedes disparar un procedimiento

Saludos.
__________________

Mi BLOG - ¡Joder, leanse la guia de estilo!
Las Palabras son enanas, los ejemplos gigantes.
Responder Con Cita
  #5  
Antiguo 04-10-2008
ronalg ronalg is offline
Miembro
 
Registrado: may 2003
Ubicación: Sucre - Bolivia
Posts: 68
Poder: 21
ronalg Va por buen camino
mmmmmmmmmmm sera por las transacciones

Cuando creas una venta se crea un registro en una tabla y ese registro es maestro para los items de la venta que estan en una tabla detalle, los SP usan transacciones independientes, todo lo que haga un SP tiene su propia transacción, si disparo un procedimiento no podre deshacer ls inserción (o tendre que hacerlo con código) en sencillas palabras "Cuestion de gustos"
Lo que me preocupa es el problema de la division que falla.
"Creo que ya encontre el error" les cuento luego
__________________
Saludos desde Sucre - Bolivia
"Si te lo puedes imaginar lo
puedes resolver" Pyriel
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Porcentajes y el gran engaño José Luis Garcí Varios 5 11-07-2008 19:18:07
Porcentajes con SQL ¿? cartmanrules SQL 8 21-04-2008 22:58:57
Porcentajes en CSS no funcionan en explorer 6 Fate Internet 1 21-02-2008 00:19:40
Calculos de porcentajes¡¡¡ inexperto Varios 7 21-06-2005 10:14:32
Duda con los porcentajes en un label CRIS Varios 15 09-07-2003 23:18:09


La franja horaria es GMT +2. Ahora son las 12:21:34.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi