PDA

Ver la Versión Completa : Expresiones en QReport


StartKill
28-05-2004, 17:00:23
Hola Club.

Trabajo con delphi 7.0, Interbase 6.0.1, componentes IBX y utilizo el QReport

Para poder detallar mi problema empezare por mis tablas/vistas


CREATE VIEW V_LIQUIDA03 (
Q_FECHA,
Q_ZONA,
Q_RUTA,
Q_PESO,
Q_PRE_TM)
AS
SELECT
FFEC_BOLE AS Q_FECHA,
FZONA1 AS Q_ZONA,
FRUTA1 AS Q_RUTA,
FPES_RUTA1 AS Q_PESO,
FPRE_TM AS Q_PRE_TMP
FROM
BOLETA_CAB
WHERE
FPES_RUTA1<>0
UNION ALL
SELECT
FFEC_BOLE AS Q_FECHA,
FZONA2 AS Q_ZONA,
FRUTA2 AS Q_RUTA,
FPES_RUTA2 AS Q_PESO,
FPRE_TM AS Q_PRE_TMP
FROM
BOLETA_CAB
WHERE
FPES_RUTA2<>0
UNION ALL
SELECT
FFEC_BOLE AS Q_FECHA,
FZONA3 AS Q_ZONA,
FRUTA3 AS Q_RUTA,
FPES_RUTA3 AS Q_PESO,
FPRE_TM AS Q_PRE_TMP
FROM
BOLETA_CAB
WHERE
FPES_RUTA3<>0
UNION ALL
SELECT
FFEC_BOLE AS Q_FECHA,
FZONA4 AS Q_ZONA,
FRUTA4 AS Q_RUTA,
FPES_RUTA4 AS Q_PESO,
FPRE_TM AS Q_PRE_TMP
FROM
BOLETA_CAB
WHERE
FPES_RUTA4<>0
;


Esta vista es llamada desde mi programa de la siguiente forma:

selectselect
Q_ZONA,
Q_RUTA,
SUM(Q_PESO) as S_PESO,
SUM(Q_PESO*Q_PRE_TM) as S_TOTAL
from
V_LIQUIDA03
where
Q_FECHA >= :P_FEC_INI and
Q_FECHA <= :P_FEC_FIN
group by
Q_ZONA, Q_RUTA
order by
Q_ZONA, Q_RUTA
from
V_LIQUIDA03
where
Q_FECHA >= :P_FEC_INI and
Q_FECHA <= :P_FEC_FIN
group by
Q_ZONA, Q_RUTA
order by
Q_ZONA, Q_RUTA


Luego preparo un reporte de la siquiente forma: Con tres bandas.

1.-Una banda de titulo
2.-una banda detalle
3.-Una banda sumary

En la banda detalle pinto mis campos utilizando los componentes QRDBtext
(Q_ZONA, Q_RUTA, S_PESO, S_TOTAL)

En la banda sumary pinto dos calculos utilizanzo dos componentes QRExpr
-QRExpr1(SUM(IBQuery1.S_PESO))
-QRExpr2(SUM(IBQuery1.S_TOTAL))

Al ejecutar el programa y visualizar mi reporte veo mi titulo y mi detalle correctamente pero no aparece el resultado de la expresion2 mas si de la expresion1 :confused:

Espero haber sido claro en cuanto mi problema.

Your Friend

StartKill
Lima-Perú

Gydba
29-05-2004, 16:31:39
En lo particular no utilizo el qreport, pero la pregunta que tengo es si vos realizas esta consulta desde otro programa (IBExpert por ejemplo) y le va bien.

@-Soft
31-05-2004, 05:22:22
hola StartKill

es recomendable que hagas algo que yo hice para entender los detalles y eso, ve a la pagina web de cadetill y vajate unos ejemplos que el realizo con el quickreport y pruebalos, es casi seguro que entiendas vien el engranaje de los TQRExpresion y TQRGroups, estos ejemplos utilizan componentes de las RXLibs, es decir, si no las tienes instaladas es probable que no te funcione bien.

Suerte, un Salu2

StartKill
31-05-2004, 22:56:07
Hola club, esta demas decir que gracias por su interes de ayuda.

Saludos "GYDBA" he probado la sentencia en varios manejadores de interbase con resultados perfectos

Que tal "@-Soft" asi es... he bajado los reportes de la pagina de nuestro moderador Cadetill y es de alli que saque el ejemplo para mis reportes.

Revisando mi codigo y manipulando me he dado cuenta que en el campo calculado :

"SUM(Q_PESO*Q_PRE_TM) as S_TOTAL" lo cambio a
"SUM(Q_PESO) as S_TOTAL" y el sumary sale bien.
"SUM(Q_PESO*1) as S_TOTAL" tambien el sumary sale bien.
"SUM(Q_PRE_TM) as S_TOTAL" tambien bien en el sumary

Extraño no??

Aun estoy a la espera de sus comentarios...

Gracias de antemano

Your friend

StartKill
Lima-Perú

marcoszorrilla
31-05-2004, 23:20:29
Has probado ago como esto:

SUM(Table1.Total *Table1.TtlIva)

ó


SUM(Query1.Total * Query1.TtlIva)

Un Saludo.