Thursday, December 16, 2010

Job ile Rapor Oluşturma

Çok Güzel Bir Hareket!!!
Şaşırılacak kadar güzel, güzel olduğu kadar acayip...
Bir Job ile rapor oluşturabilir misiniz? diye sorsalar, artık evet diyin...


static void MakeReportJob(Args _args)
{
    #AOT
    str reportName = 'aaMakeReport';
    tableid custTableId = tablenum(CustTable);
    TreeNode reportNode = TreeNode::findNode(#ReportsPath);
    Report areport;
    ReportDesign design;
    ReportAutoDesignSpecs specs;
    ReportSection section;
    ReportRun run;
    ;

    // Delete the report if it already exists
    areport = reportNode.AOTfindChild(reportName);
    if (areport)
        areport.AOTdelete();

    // Build the report
    areport = reportNode.AOTadd(reportName);
    areport.query().addDataSource(custTableId);
    design = areport.addDesign('Design');
    specs = design.autoDesignSpecs();
    section = specs.addSection(ReportBlockType::Body, custTableId);
    section.addControl(custTableId, fieldnum(CustTable, AccountNum));
    section.addControl(custTableId, fieldnum(CustTable, Name));

    // Now the report will not prompt for user input
    areport.interactive(false);
    areport.query().interactive(false);

    areport.AOTcompile();

    run = ClassFactory.reportRunClass(new Args(reportName));
    run.init();
    run.run();
}

0 yorum:

Post a Comment