Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Impresión (https://www.clubdelphi.com/foros/forumdisplay.php?f=4)
-   -   QuickReport, Guardar resultado de un QRExpr (https://www.clubdelphi.com/foros/showthread.php?t=69888)

Lenny 15-09-2010 19:32:56

QuickReport, Guardar resultado de un QRExpr
 
Nuevamente acudo a ustedes por una pequeña duda:

Tengo un informe en QuickReport, el cual hace todo perfecto, suma, multiplica, etc, en resumen con eso todo bien.
La pregunta, ¿Como puedo guardar/copiar el resultado de un QRExpr? ya sea directamente en la base de datos o en un label, lo que pasa tengo esta "Expression": Código Delphi
Cita:

SUM(TOTFACTURACION.MAYOR * TOTFACTURACION.Cantidad * 1.19)
He provado de todo, pero lo unico que puedo guardar es la "Expression" en si nada mas y lo que necesito es el resultado de esa "Expression", espero puedan ayudarme y gracias de antemano.

Utilizo Delphi 2010, Zeos y MySQL.

ContraVeneno 15-09-2010 19:40:24

¿y porque no haces las operaciones directo en el dataset asociado al reporte?

Lenny 15-09-2010 20:01:40

Bueno si, pero se puede obtener el resultado del QRExpr para poder guardarlo??? tengo todas las formulas en el reporte y la idea es reutilizarlo, sin tener que volver a crear una rutina fuera de este para guardar los resultados.

Caral 15-09-2010 21:30:04

Hola
Si puedes usar el caption del QRExpr por que no lo puedes guardar en una variable el dato?.
Saludos

Lenny 15-09-2010 22:00:49

Por ejemplo, si coloco:
Código Delphi [-]
procedure TFCLIENTE.QRExpr7Print(sender: TObject; var Value: string);
begin
QRLabel13.Caption:= QRExpr7.Value.strResult;
end;

Me deja el resultado en Blanco, si coloco:
Código Delphi [-]
procedure TFCLIENTE.QRExpr7Print(sender: TObject; var Value: string);
begin
QRLabel13.Caption:= QRExpr7.Caption;
end;
ó
Código Delphi [-]
procedure TFCLIENTE.QRExpr7Print(sender: TObject; var Value: string);
begin
QRLabel13.Caption:= QRExpr7.Expression;
end;

Me devuelve la formula:

Código Delphi [-]
SUM(TOTFACTURACION.MAYOR * TOTFACTURACION.Cantidad * 1.19)

Necesito poder guardar el resultado de la formula, o colocarla en un QRLabel para guardarla... no se si me explico, cualquier duda, estare cabezeandome con la solucion, de antemano gracias por la ayuda...

Lenny 15-09-2010 22:52:19

Resuelto!!!
 
Bueno, de tanto darle vuelta encontre la solucion:

Código Delphi [-]
QRLabel13.Caption:= FormatCurr ('########0',QRExpr7.Value.dblResult);

Hace Extactamente lo que necesito, gracias a ContraVeneno y a Caral por los comentarios, que al igual que las soluciones nos iluminan y ayudan en resolver nuetras dudas, Gracias chicos!!!

PD: Ahora para guardarlo a la base de datos deve ser otra cosa, pero creo que estoy mas que encaminado, Byes!!!

Caral 15-09-2010 23:06:46

Hola
Me alegra que lo solucionaras.
Si llegaste hasta aqui, guardarlo en la BD sera muy sencillo.
Saludos

Lenny 15-09-2010 23:32:04

Gracias Caral, aunque tuve que acudir a una solucion algo "CANIBAL" :o

Necesitaba guardar este valor una ves fuera impreso el informe, en este caso en el "AfterPrint" del QuickRep, pero al intentar hacer esto:

Código Delphi [-]
BDatos.TFACTURADO.FieldbyName('TOTAL').AsString := FormatCurr ('########0',QRExpr7.Value.dblResult);

Me guardaba Valor "0", asi que como mencionaba antes, en el evento OnPrint del QRExpr:

Código Delphi [-]
QRLabel13.Caption:= FormatCurr ('########0',QRExpr7.Value.dblResult);

Deje este Label oculto, tonces en el evento "AfterPrint" del QuickRep:

Código Delphi [-]
BDatos.TFACTURADO.FieldbyName('TOTAL').AsString := QRLabel13.Caption;

Por que de esta forma???, Estos tipos hay veces que rebajan valores a sus productos segun el cliente, asi pueden ver la factura y cambiar los valores cuantas veces sea necesario antes de "Imprimir", se que es un kilombo, pero bueno, alla ellos...
Se que no es muy "limpia" ni depurada la solucion, pero al menos hace lo que necesito, aunque este reinventando la rueda nuevamente, Jejejejeje, Un abrazo!!!


La franja horaria es GMT +2. Ahora son las 23:18:18.

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