Ver Mensaje Individual
  #1  
Antiguo 07-09-2005
Jose_Pérez Jose_Pérez is offline
Miembro
 
Registrado: may 2003
Posts: 156
Reputación: 22
Jose_Pérez Va por buen camino
FastReport: Funcionamiento de SUM.

Hola a todos:

Estoy intentando hacer un listado de producción de vehículos. Dependiendo del tipo de vehículo, el cáculo de realiza en horas, viajes o kilómetros. Programando el evento OnBeforePrint del MasterData he conseguido imprimir correctamente la columna según el vehículo.

Código:
procedure MasterDataOnBeforePrint(Sender: TfrxComponent);
begin

  If Get('Tipo')=1 Then
     begin
     MemoMasterContador1.Text:='';
     MemoMasterContador2.Text:='[<Kilometros> #n%2,0n]';
     end;

  If Get('Tipo')=2 Then
     begin
     MemoMasterContador1.Text:='[<Horas> #n%2,0n] h.';
     MemoMasterContador2.Text:='[<Minutos> #n%2,0n] min.';
     end;

  If Get('Tipo')=3 Then
     begin
     MemoMasterContador1.Text:='';
     MemoMasterContador2.Text:='[<Viajes> #n%2,0n]';
     end;

end;
El problema viene en el GroupFooter y la función SUM. No puedo programa el evento OnBeforePrint del mismo modo que hice con el MasterData, porque justo en ese momento el report habrá terminado de imprimir los datos, y SUM dará un valor vacío ¿Me explixco?

Es decir, esto no funciona:

Código:
procedure GroupFooterOnBeforePrint(Sender: TfrxComponent);
begin

  If Get('Tipo')=1 Then
     begin
     MemoFooterContador1.Text:='';
     MemoFooterContador2.Text:='[Sum(<Kilometros>) #n%2,0n]';
     end;

  If Get('Tipo')=2 Then
     begin
     MemoFooterContador1.Text:='[Sum(<Horas>) #n%2,0n] h.';
     MemoFooterContador2.Text:='[Sum(<Minutos>) #n%2,0n] min.';
     end;

  If Get('Tipo')=3 Then
     begin
     MemoFooterContador1.Text:='';
     MemoFooterContador2.Text:='[Sum(<Viajes>) #n%2,0n]';
     end;

end;
¿Cómo puedo resolverlo?

Saludos y gracias.
Responder Con Cita