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.