Trik untuk membuat web based report (laporan berbasis web) dengan quick report adalah menyimpan report dalam bentuk file dengan format PDF lalu menampilkannya ke dalam web menggunakan framework raudus. Anda dapat mempelajari diagram flow trik ini pada artikel saya yang lalu. Untuk implementasi project web based report, sebaiknya Anda siapkan dulu amunisinya seperti artikel saya yang satu ini. Ohya, ada satu tambahan lagi yang perlu Anda siapkan, yakni konverter report ke file pdf menggunakan unit synPdf.pas. Unit ini dapat Anda download gratis di http://www.quickreport.co.uk/downloads/QR-synopse-pdf-files.rar. Jangan lupa menambahkan library path ini ke sistem Delphi. Jika belum tahu menambahkan library path, Anda dapat membaca artikel saya yang ini, kurang lebih caranya sama.
Buat sebuah project Raudus baru dan simpan dengan nama sesuai selera Anda. Ambil komponen-komponen pendukung berikut untuk membuat sebuah web online report sederhana
Komponen | Tab Component Pallete | Properties | Nilai |
RaExtWindow1 | Raudus Ext | ||
RaExtButton1 | Raudus Ext | Text | Quick Report Preview |
RaWwwPublisher1 | Raudus Ext | ||
ZConnection1 | Zeos Access | database | db_contoh |
Hostname | localhost | ||
Protocol | mysql | ||
User | Root | ||
ZQuery1 | Zeos Access | Connection | ZConnection1 |
SQL | Select * from tb_contoh | ||
DataSource1 | Data Access | Dataset | ZQuery1 |
QuickRep1 | QReport | Bands | HasDetail, HasPageHeader, HasTitle |
Dataset | ZQuery1 | ||
QRLabel1 | QReport | Caption | Contoh Quick Report di Raudus |
QRLabel2 | QReport | Caption | ID |
QRLabel3 | QReport | Caption | Nama |
QRLabel4 | QReport | Caption | Nilai |
QRDBText1 | QReport | Dataset | ZQuery1 |
Datafield | id | ||
QRDBText2 | QReport | Dataset | ZQuery1 |
Datafield | nama | ||
QRDBText3 | QReport | Dataset | ZQuery1 |
Datafield | nilai |
Atur peletakan komponen seperti pada gambar di bawah
Kemudian double click komponen RaExtButton1 dan isikan source code seperti di bawah
procedure TRaForm1.RaExtButton1Click(Sender: TObject);
var
   vpdf : TPdfDocumentGDI;
   pagemeta : TMetafile;
   p : integer;
   saatini:string;
   namafile:string;
begin
   vpdf := TPdfDocumentGDI.Create(true, 1252,false);
   vpdf.CompressionMethod := cmNone;
   QuickRep1.prepare;
   for p := 1 to QuickRep1.QRPrinter.PageCount do
   begin
     vpdf.AddPage;
     pagemeta := QuickRep1.QRPrinter.GetPage(p);
     vpdf.VCLCanvas.Draw(0,0,pagemeta);
   end;
   saatini:=FormatDateTime(‘ddmmyy-hhmmss’, now);
   namafile:= ‘report ‘+saatini+’.pdf’;
   vpdf.SaveToFile(‘c:\xampp\htdocs\download\’+namafile);
   vpdf.free;
   RaWwwPublisher1.FileURL := ‘http://localhost/download/’+namafile;
   Application.BrowserWindowOpen(RawwwPublisher1.URL);
end;
Jangan lupa tambahakan unit SynPdf.dcu di bawah reserved word ‘implementation’
implementation
uses SynPdf;
Tekan tombol F9 untuk running project, dan buka web browser (misal Google Chrome) dan ketikkan alamat web http://localhost:88, hingga muncul tampilan sebagai berikut
Â
Tekan tombol ‘Quick Report Preview’ dan seharusnya akan muncul preview report dari tabel ‘tb_contoh’ di database ‘db_contoh’ sebagai berikut, di jendela browser yang baru (jika menggunakan IE atau Mozilla Firefox akan muncul di ‘new tab’, bukan ‘new window’).
Â
Pada pojok kanan bawah terdapat beberapa tombol navigasi yang dapat Anda gunakan untuk scrolling, zooming, save maupun print. Selamat mencoba, untuk penjelasan program akan saya tulis pada artikel berikutnya. Ohya, jangan lupa tambahkan unit ‘Graphics’ di bawah klausa ‘Uses’ supaya tidak muncul error TMetaFile not found’.
Bersambung …
*biasakan menulis sumber referensi  jika Anda copas artikel ini untuk menghormati HAKI
a Technopreneur – writer – Enthusiastic about learning AI, IoT, Robotics, Raspberry Pi, Arduino, ESP8266, Delphi, Python, Javascript, PHP, etc. Founder of startup Indomaker.com
mas…kenapa saat run, muncul error Tmetafile not found. apakah Tmetafile tsb merupakan sebuah unit ???
oh iya, lupa….tambahkan unit ‘Graphics’ di bawah ‘Uses’
Thanks mas infonya…
mas…aku coba pake mozila, knpa yg keluar sebuah attachment, yg file’nya hrus di download.
trus di IE, malah gx muncul apa”….
apakah ada pengaturan lain di browser’nya ???
coba buka link ini http://www.atmel.com/Images/doc8161.pdf pake browsernya. Yg terjadi file pdf-nya terbuka atau muncul attachment yg hrs didonwnload?
munculnya attachment mas…hrus didownload
berarti browsernya blm ready utk preview pdf. Coba kalo pake mozilla instal dulu pdf extension https://www.google.com/#fp=d7fdb0406f6810d9&q=pdf+extension+mozilla&safe=off
nice info, krennn. makasih ilmux
thx mas, artikel ini sebenarnya utk materi buku sy ttg raudus jilid 2
Component RaExtWindow1 kok tidak ada ya mas di Button ??, yang lain ada ??, saya download di
http://www.raudus.com/cu-install/raudus-0.9.6-windows.exe
karena katanya Raudus 0.8.10 for Windows (not recommended)
THX
TONI [email protected]
saya pake versi 0.8.7
Nice info mas.. untuk bukunya apa tersedia di toko buku seperti gramed dkk mas?
Berarti untuk create report ini harus terpisah yah mas dengan aplikasi yg kita buat? (soalnya harus running terus aplikasi buat report ini) bener ga?
buku sementara baru tersedia secara online
pertanyaan 1 lg pak.. knp ketika web page kita reload/refresh.. tampilan tidak ter reload.. hanya menampilkan halaman kosong?
cek aplikasi servernya (raudus) jalan apa ga mas, harusnya ngga kosong
Mas kapan buku raudus jilid 2 nya terbit ? n mohon pencerahan, kalau diatas diterangkan cara bikin laporan pake QR bagaimana kalau mau Download dan Upload ke excel ?
terbitnya masih lama mas. Utk download dan upload ke excel spt pake delphi biasa krn file udah ada di local komputer
Terima kasih Mas 7G, bukunya saya tunggu. Oh ya mas saya di delphi7 Utk download dan upload ke excel pakai :
XLS := CreateOleObject(‘Excel.Application’);
tapi di raudus saat di tres sampai baris diatas keluar pesan
“CoInitialize has not been called” . Mohon pencerahannya Mas, saya harus pakai apa ?
OLE itu kan running di sisi client, jadi ga bisa diekseskusi Raudus (Raudus adl aplikasi yg running di server). Pendekatan utk melakukan export/import ke excel adl dg meng-create file dg ekstensi .xls bukan mengeksekusi OLE (Object Linking dan Embedding)
Mas 7G, aplikasi sudah jalan di server, tapi saat runing di client beberapa lama aplikasi putus nyambung dan ujung-ujung nya aplikasi terputus dan keluar pesan : ” Boot AJAX Failure(xhr.status is not 200)”
AJAX Failure occured in boot route
Probably, connection is lost or your browse has switched to office mode
Mohon pencerahan.
ada yg error di programnya mas. Saat compile mgkn mmg ga ada error, tp begitu saat running ada event yg mgkn bikin error. Utk troubleshoot, hilangkan bbrp script yg terakhir ditambahkan sampai ga muncul error tsb
mau minta solusi
kenapa waktu waktu di jalanin komponen QReportnya Cannot Resolve Unit sama undeclared indentifier semua komponennya? terus fatal error file not found ‘QRCtrls.dcu’
kok muncul pesan ini “property scaled does not exist” setelah kita jalan=kan di browser?
mas pake raudus versi berapa?
Mas Daeng, aku juga sama error seperti itu..
Coba Select False aja di Form1.scale := False,
iya..itu cuma masalah di properties nya aja.. scale nya dibuat true..
Pak Ajie…
saya sekarang sudah implementasi raudus di kantor saya.. tapi saya ada kendala saat print report… saya pake printer LX300
– biasanya di prorgam desktop saya print report pake quick report, langsung print preview, print -> hasil oke
– pas pake raudus, export ke pdf, print -> hasil tidak sesuai harapan.. font nya jadi putus2 ga jelas
itu kira2 kenapa ya?
apakah memungkinkan raudus pake quick report preview seperti biasa ? jadi ga perlu export ke pdf ?
raudus kan running di server, dia melayani banyak session dan banyak user. Penggunaan quick report dan metode export to pdf utk preview sebenarnya adl semacam ‘trick’ supaya dpt mengolah report native delphi (desktop) ke dalam teknologi raudus framework. Jadi sepertinya preview menggunakan quickreport spt app desktop tidak dimungkinkan di sini (ingat bahwa raudus running di server bukan di pc client).
Kalo masalah font ga jelas saat diprint, sepertinya itu karena report di export ke pdf dan printer yg digunakan adalah tipe dot matrix (tipe jadul) yg mungkin memang ga support file pdf. Coba diganti tipe printernya dg printer tinta.
dear pak,
saya pake Delphi 7 dan raudus-0.9.8-windows.exe.
muncul pesan kesalahan sbb : ” Error reading frmReport.Scaled: Property Scaled does not exist ”
mohon pencerahannya.
terima kasih, salam
sepertinya pd versi 0.9.8 tdk lagi mendukung properti form ‘scaled’. Coba cari properti yang similar mas
Dear pak,
Mohon bantuannya. Jika ditambahkan chart (TeeChart) di Quickreport kenapa ada message “Control ‘blablabla’ has no parent windows pada quick report prepare di panggil. Saat dicompile jg tiak ada masalah. Terimakasih.
krn teechart hanya support utk aplikasi desktop. Utk aplikasi web based spt raudus belum support
Mas saya baru kenal raudus ni,,
Mau tanya,bisa gak,file hasil project raudus di import ke self hosting (online)?
bisa, asal ke hosting yg bertipe VPS windows
hallo pak, saya mau tanya tentang report… apa ada alternatif lain selain quickreport untuk aplikasi desktop? tapi yang bisa desgin tanpa masuk delphi, seperti crystal report. klo quickreport/fastreport design reportnya harus delphi ya, tidak ada editor sendiri
ada mas editor eksternalnya. Googling aja
Apakah metode ini bisa digantikan dengan fastreport. Karena intinya kan bs menghasilkan output pdf kan?. Newbie…baru install raudus barusan bgt.
bisa juga
Maaf sedikit menyinpang dr artikel. Bagaimana design menu utama dr aplikasi raudus yah. Soalnya sepertinya blm mendukung form child dan perubahan parent form ke kontainer panel. Tanya juga sampai versi berapa raudus yg masih versi free yah?
ada komponen raExtMenu mas, caranya mirip komponen menu Delphi biasa. Yg free Raudus versi 0.8.7