Langsung ke konten utama

Create PDF from SSRS Form

Hi, i want to share code to create and save from SSRS Report



I created a new Button, so after user selects data and clicks the button, system creates a PDF file and saves it to the destination folder.



public static void main(Args _args)
{
    PurchTable                      purchTable,purchTable2, row;
    PurchPurchaseOrderContract      purchPurchaseOrderContract;

    VendPurchOrderJour              vendPurchOrderJour;
    FormDataSource                  purchTable_ds;
    SRSPrintDestinationSettings     settings;
    SrsReportRunController          controller ;

    str                             folderPath;
    dialog                          d;

    DialogField                     dialogFilename;

    str                             PDFName, FilePath;
    int                             tot = 0;

    Args                            args;
    ReportName                      reportName = "PurchPurchaseOrder.Report";

    PurchTable                      _PurchTable;
    MultiSelectionHelper            _helper = MultiSelectionHelper::construct();
    ;


    d = new dialog();
    d.caption("select a folder");
    dialogFilename = d.addField(extendedTypeStr(FilePath));//add a field where you select your file in a specific path
    d.run();

    if(d.closedOk())
    {
        folderPath = dialogFileName.value();//return path file value

         if(folderPath == '')
        {
            folderPath = 'C:\\SharePdf';
        }


       if(_args.record().TableId == tableNum(PurchTable))
       {
            purchTable2 = _args.record();
            purchTable_ds = purchTable2.dataSource();
       }


    if (purchTable_ds.anyMarked())
    {
        row   = purchTable_ds.getFirst( 1, false );

        while(row)
        {
            tot++;

            args = new Args();

            select firstFast purchTable where purchTable.RecId == row.RecId ;

            select firstFast vendPurchOrderJour where vendPurchOrderJour.PurchId == purchTable.PurchId  ;

            PDFName = strFmt("%2\\%1.pdf",strReplace(purchTable.PurchId,'/','_'), folderPath);

           controller = new SrsReportRunController();
           purchPurchaseOrderContract = new PurchPurchaseOrderContract();

           controller.parmReportName(ReportName);
           controller.parmExecutionMode(SysOperationExecutionMode::Synchronous);
           controller.parmShowDialog(false);

           purchPurchaseOrderContract.parmRecordId(vendPurchOrderJour.RecId);

           args.record(row);

           controller.parmReportContract().parmRdpContract(purchPurchaseOrderContract);
           controller.parmArgs(args);

           settings = controller.parmReportContract().parmPrintSettings();
           settings.printMediumType(SRSPrintMediumType::File);
           settings.fileFormat(SRSReportFileFormat::PDF);
           settings.overwriteFile(true);
           settings.fileName(PDFName);

           controller.startOperation();

           row = purchTable_ds.getNext();
        }

    }

    info(strFmt("%1 Total",tot));

    }

}

Komentar

Postingan populer dari blog ini

Format Label Tom Jerry (MS Word)

Setelah beberapa lama aku tidak membuat label undangan, tiba-tiba kemarin aku diminta untuk membuat label undangan Wisuda dengan menggunakan label merek Tom & Jerry (TJ). Harusnya sih menjadi tugas sekretaris panitia tapi karena yang bersangkutan ada tugas di luar kantor maka aku yang membereskannya. Mula-mula aku membuat format labelnya dengan cara manual, tapi untung ada pak Mulyadi (staf tata usaha) yang menyarankan aku untuk mengunduh format label yang telah ada di Internet. Mulailah aku browsing di google dan menemukan format label berbagai ukuran dari website Tom & Jerry di alamat berikut  http://tjlabels.com/en/download.html  (yang link ini agak rempong krn pake masukin nomor captcha-captcha-an). Sedangkan kalau yang link ini langsung pilih file ga pake nomor captcha-captcha-an ( http://tjlabels.com/assets/download/ ). Ternyata juga ada banyak berbagai blog yang menyediakan  link download seperti ini, tapi aku mem- posting  artikel ini adalah untuk diri sendiri, ya

Solved : Update on a valid time state table is not allowed without specifying a ValidTimeStateUpdateMode

How To Solve Error :  Cannot edit a record in Position hierarchies (xyz). Update on a valid time state table is not allowed without specifying a ValidTimeStateUpdateMode. select forUpdate * from xyz where xyz.recid== _RecId ; try { ttsBegin; _Value= “Abcd”; xyz.Name = _Value; xyz.validTimeStateUpdateMode(ValidTimeStateUpdate::Correction); xyz.ValidFrom =today(); xyz.ValidTo=dateMax(); xyz.update(); ttsCommit; } catch { ttsAbort; }

Cara membuat Harddisk External menjadi Bootable USB untuk install Windows

Untuk install windows dari harddisk external, silahkan siapkan hal hal berikut ini gan : Harddisk External File Image (ISO) dari Windows yang mau digunakan Laptop/ Komputer   Oke, kita masuk ke  LANGKAH PERTAMA :   Setelah kita persiapkan hal hal yang ada diatas, ada baiknya kalo antivirus / Windows Defender nya itu matiin dulu (recommended) bagi harddisk nya terdapat banyak crack. Karena crack itu bersifat virus dan pasti bakalan langsung keapus sama antivirusnya. Pastiin kalo harddisk ente itu ada space minimal 5 – 10 Gb untuk penempatan File Image Windows yang akan dipakai. Recommended 10Gb Abis harddisk nya di colokkk silahkan buka  Control Panel  >  Administrative Tools    Lalu buka  Computer Management Kalo udah kebuka, pilih menu  Disk Management  yang ada di toolbar kiri. Contoh dibawah ini   Karena ane make harddisk yang merknya Toshiba, maka yang akan kedetek itu  Wibi Toshiba  pada bagian  Disk 1 Langung  Kli