Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Impresión (https://www.clubdelphi.com/foros/forumdisplay.php?f=4)
-   -   Suma campos Banda Subdetalle, FastReport (https://www.clubdelphi.com/foros/showthread.php?t=92021)

jonharchival 03-07-2017 10:41:35

Suma campos Banda Subdetalle, FastReport
 
Buenos dias a todos.
Primero daros las gracias por este gran foro y vuestras respuestas, me han sido de gran ayuda.
Al tema. Quiero sumar un campo de una Banda Subdetalle y que el resultado me aparezca en su Banda Maestra
En concreto quiero sumar importes de cada articulo de una factura (Subdetalle) y que muestre el total en la banda de Facturas (Maestra). El reporte final puede tener una o mil facturas. La suma total de importes del reporte la tengo, pero quiero la individual de cada factura
Quiero hacerlo internamente con código Pascal. Y estoy un poco perdido
Alguna idea?¿ Gracias de antemanno
Saludos

oscarac 03-07-2017 15:52:32

No se como será la estructura de tus tablas, yo por ejemplo tengo 2 tablas para facturas, cabecera y detalle, al momento de generar la factura, en la tabla de cabecera grabo los totales y en el detalle, solo los items con sus respectivos valores claro, con eso podrias evitarte posteriores sumas

seria bueno que coloques la estructura de tus tablas para tener una mejor idea de lo q quieres hacer y poder ayudarte de mejor manera.

jonharchival 13-07-2017 09:39:51

Estructura
 
2 Archivos Adjunto(s)
Primero gracias por su pronta respuesta. He intentado hacerlo y me ocurre lo siguiente:

Esta es la estructura del reporte (1)

He declarado mi variable “Suma” como un real. A continuación la inicializo a 0 en la BandaHijaTitulo y en la BandaHijaMaestra le doy la función SUM con los importes (2)

jonharchival 13-07-2017 09:44:57

Estructura
 
Muchas gracias por tu respuesta Oscarac. Seguiré intentando solucionarlo mientras espero más ayuda :D

jonharchival 13-07-2017 11:13:40

Estructura
 
Por cierto olvidé decir que tal y como tengo ahora mismo la estructura y el código, me da el siguiente error:

Could not convert variant of type Null into type Double

jonharchival 28-07-2017 10:19:08

Hola de nuevo.
Finalmente he logrado hacer la dichosa suma. Copio el código por si a alguien le vale:
"
Código Delphi [-]
var
 List: TStringList;
 i: Integer;
 
procedure frReport1OnStartReport(Sender: TfrxComponent);
begin
 List := TStringList.Create;
end;
 
procedure frReport1OnStopReport(Sender: TfrxComponent);
begin
 List.Free;
end;
 
procedure Page1OnBeforePrint(Sender: TfrxComponent);
begin
 i := 0;
end;
 
procedure GroupHeader1OnBeforePrint(Sender: TfrxComponent);
begin
if Engine.FinalPass then
   Memo8.Text := 'Sum: ' + List[i];
end;
 
procedure GroupFooter1OnBeforePrint(Sender: TfrxComponent);
begin
if not Engine.FinalPass then
   List.Add(FloatToStr(SUM(,MasterData1)));
 Inc(i);
end;
 
begin
 
end.
"
Gracias a todos

Casimiro Notevi 28-07-2017 10:59:29

Recuerda poner los tags al código fuente, ejemplo:



Gracias :)


La franja horaria es GMT +2. Ahora son las 14:28:33.

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