2014-11-29 4 views
1

У меня есть опыт работы с отчетами Rave 10 Я сделал много отчетов в прошлом, но теперь у меня возникла проблема с генерацией .Delphi Rave Report, создающий пустую страницу

Контрольный список: На главной форме -RvProject -RvSystem -RvDataSet -RvRenderPDF

Все они созданы

На Rave дизайнер я могу создать отчет успешно , но когда я использую кода он создает пустую страницу.

Можете ли вы проверить мой код и сказать мне, если им что-то не хватает? Я застрял на этом крутом, так как два дня назад, и не могу решить эту проблему.

Я знаю, что существует множество переменных без использования, но я пытаюсь что-то предпринять.

procedure TFormPrincipal.ImprimirReporteDeNomina(FechaCorte:String); 
var 
    DireccionMisDocumentos,A:String; 
    Año, Mes, Dia:Word; 
    I:Integer; 
    MyFields: array of TField; 
    Temf: TStringField; 
    DataView: TRaveBaseDataView; 
    myPage:TRavePage; 
    MyDataText:TRaveDataText; 
    MyText:TRaveText; 
    //MyPage2:TRavePage; 
    nMarginBottom, nMarginLeft, nMarginRight, nMarginTop: Double; 
begin 
    with RvProject1 do 
    begin 
     SetLength(FechaCorte,10); 

     //A:=GetCurrentDir()+'\Data\NOMREP1.rav'; 
     //ProjectFile:=GetCurrentDir()+'\Data\NOMREP1.rav'; 
     //Open; 
     //LoadFromFile(GetCurrentDir()+'\Data\NOMREP1.rav'); 
     //StoreRAV:=True; 
     //ZQuery2.Fields.Clear; 
     ZQuery2.Close; 
     ZQuery2.SQL.Clear; 
     ZQuery2.SQL.Add('Select'); 
     ZQuery2.SQL.Add('NumeroEmpleado,'); 
     ZQuery2.SQL.Add('Cargo,'); 
     ZQuery2.SQL.Add('Nombre,'); 
     ZQuery2.SQL.Add('Apellido,'); 
     ZQuery2.SQL.Add('Format(Cedula,0),'); 
     ZQuery2.SQL.Add('Ingreso,'); 
     ZQuery2.SQL.Add('Format(SalarioMensual,2),'); 
     ZQuery2.SQL.Add('Format(SalarioDiario,2),'); 
     ZQuery2.SQL.Add('Format(CTDiario,2),'); 
     ZQuery2.SQL.Add('DiasTrabajados,'); 
     ZQuery2.SQL.Add('DiasLibres,'); 
     ZQuery2.SQL.Add('CT,'); 
     ZQuery2.SQL.Add('Ausencias,'); 
     ZQuery2.SQL.Add('Format(SSO,2),'); 
     ZQuery2.SQL.Add('Format(RPE,2),'); 
     ZQuery2.SQL.Add('Format(FAOV,2),'); 
     ZQuery2.SQL.Add('Format(TotalSueldo,2),'); 
     ZQuery2.SQL.Add('Format(TotalSanciones,2),'); 
     ZQuery2.SQL.Add('Format(TotalCT,2),'); 
     ZQuery2.SQL.Add('Format(TotalDiasLibres,2),'); 
     ZQuery2.SQL.Add('Format(TotalAusencias,2),'); 
     ZQuery2.SQL.Add('Format(TotalAsignaciones,2),'); 
     ZQuery2.SQL.Add('Format(TotalDeducciones,2),'); 
     ZQuery2.SQL.Add('Format(TotalCobrar,2)'); 
     ZQuery2.SQL.Add('From Constructor.ZRepNom'); 
     //ZQuery2.Open; 
     //ZQuery2.Close; 

     { 
     SetLength(MyFields, ZQuery2.FieldDefs.Count); 
     //Add one by one the fields to make them accesible. 
     for i:=0 to ZQuery2.FieldDefs.Count - 1 do 
     MyFields[i] := ZQuery2.FieldDefs[i].CreateField(ZQuery2); 
     //Create all Calculated Fields as you need 
     Temf := TStringField.Create(nil); 
     Temf.FieldKind := fkCalculated; 
     //Temf.FieldName := 'NewCalcField'; 
     } 
     Open; 

     With ProjMan do 
     begin 
      Dataview := FindRaveComponent('DataView1',nil) as TRaveBaseDataView; 
      CreateFields(DataView, nil, nil, true); // refresh the dataview 
     end; 

     With ProjMan do 
     begin 
      MyPage := FindRaveComponent('Report1.Page1',nil) as TRavePage; 
      MyText := FindRaveComponent('FECHACORTE',MyPage) as TRaveText; 
      MyText.Text:=FechaCorte; 
     end; { with } 

     Save; 
     { 
     with IACProyectUnidades.ProjMan do 
     begin 
      nMarginBottom := 0.5; 
      nMarginLeft := 0.5; 
      nMarginRight := 0.5; 
      nMarginTop := 0.5; 
     end; 
     } 
     //seleccionamos el printer por defecto, 
     //asi salen los reportes tal cual queremos 
     //desde cualquier maquina con cualquier impresora 
     RpDev.SelectPrinter('microsoft xps document writer', False); 
     DireccionMisDocumentos:=GetMyDocuments; 
     if Not (DirectoryExists(DireccionMisDocumentos+'\Informes Luminatti\Nomina')) then 
     CreateDir(DireccionMisDocumentos+'\Informes Luminatti\Nomina'); 
     //Label4.Caption:= 'Generando Reporte...'; 
     RvSystem1.DefaultDest := rdFile; 
     RvSystem1.DoNativeOutput := false; 
     RvSystem1.RenderObject := RvRenderPDF1; 
     RvSystem1.OutputFileName := DireccionMisDocumentos+'\Informes Luminatti\Nomina\['+NOMREPMes.Text+' '+FechaCorte+']Reporte de Nómina.pdf'; 
     RvSystem1.SystemSetups := RvSystem1.SystemSetups - [ssAllowSetup]; 
     //ZConnection1.Connected:=False; 
     RvSystem1.Execute; 
     //Label4.Caption:= 'Reporte Generado!'; 
     ShellExecute(FormPrincipal.Handle,nil,PChar(DireccionMisDocumentos+'\Informes Luminatti\Nomina\['+NOMREPMes.Text+' '+FechaCorte+']Reporte de Nómina.pdf'),'','',SW_SHOWMAXIMIZED); 
    end; 
end; 

ответ

2

Я наконец-то нашел ошибку, была письменность ошибка

Ошибка: RvSystem1.Execute;

Правильный путь: RvProject1.Execute;

Его решена

Смежные вопросы