Vale
egostar
Seguramente obtenías valores duplicados porque en el procedure compartes variables de retorno a la hora de hacer el segundo
suspend, bastaría con haberlas puesto a
null antes de hacer el segundo
select.
En cuanto al procedimiento del report, no veo la razón por la cual no funcionaría así:
Código Delphi
[-]
function Detail_OnBeforePrint(Self: TRaveDataBand);
begin
if DataView1S_Ventas.AsInteger > 0 then
Detail.visible := True;
else
Detail.visible := False;
end if;
end OnBeforePrint;