Difference between revisions of "JasperReports"
(Tambah prosedur resmi Setting Compatibility Jaspersoft Studio ke JR 6.0.0 + sumber) |
|||
| Line 77: | Line 77: | ||
* [[JRXML Local Verification]] — cara compile + render JRXML di laptop tanpa server | * [[JRXML Local Verification]] — cara compile + render JRXML di laptop tanpa server | ||
| − | [[Category:Development]] | + | [[Category:Development ERP]] |
Revision as of 22:27, 16 September 2026
JasperReports adalah library reporting Java yang dipakai InfiniteERP (Openbravo) untuk mencetak dokumen (invoice, kuitansi, dan report lain) dari file template JRXML.
Contents
Versi Library di Server
Berdasarkan pemeriksaan source code Openbravo, runtime report memakai:
jasperreports-6.0.0.jarjasperreports-fonts-6.0.0.jar- iText 5.5.x (package
com.itextpdf) untuk export PDF — bukan iText lawascom.lowagieyang dipakai JasperReports 5.x
Tool Desain
| Tool | Library JasperReports bawaan | Keterangan |
|---|---|---|
| iReport 5.6.0 | 5.6.0 | Legacy, sudah tidak dikembangkan |
| Jaspersoft Studio CE 6.21.x | 6.21.x | Tool desain aktif berbasis Eclipse |
File JRXML existing (contoh: sales_invoice_SSD.jrxml) dibuat dengan iReport 5.6, lalu sempat disentuh Jaspersoft Studio (terlihat dari property com.jaspersoft.studio.* dan atribut splitType di dalamnya).
Kompatibilitas JRXML (Sudah Diuji)
Pengujian dilakukan dengan meng-compile JRXML memakai jasperreports-6.0.0.jar persis seperti di server:
| File JRXML | Compile di JR 6.0.0 | Export PDF |
|---|---|---|
Asli (output iReport 5.6, ada splitType) |
OK | — |
| Versi perbaikan (clean-up) | OK | OK |
| Layout baru (modern) | OK | OK |
Kesimpulan:
- Namespace lawas
http://jasperreports.sourceforge.net/jasperreportssepenuhnya kompatibel dengan JR 6.0.0 — tidak perlu diubah. - Parser JR 6.0.0 (bahkan 5.6.0) toleran terhadap atribut yang tidak dikenal; atribut asing diabaikan saat compile.
- Risiko sesungguhnya bukan di runtime, melainkan di editor: iReport 5.6 dapat menghapus/mengacaukan atribut versi baru saat file di-edit lalu di-save.
Mengedit dengan Jaspersoft Studio CE
Jaspersoft Studio Community Edition dapat diunduh di: Download Jaspersoft Studio CE 6.21.x
Karena Studio 6.21.x membawa library JasperReports 6.21.x (lebih baru dari runtime server 6.0.0), perhatikan:
- Setelah mengedit, selalu compile ulang JRXML terhadap JR 6.0.0 (lihat JRXML Local Verification) sebelum deploy — jangan mengandalkan preview Studio.
- Hindari memakai komponen/fitur yang hanya ada di versi baru (misal elemen
<part>) kecuali runtime server memang di-upgrade. - Property
com.jaspersoft.studio.*yang ditulis Studio aman — diabaikan oleh runtime. - Simpan file dengan encoding UTF-8 dan pertahankan namespace lawas agar tetap konsisten dengan report existing.
Setting Compatibility ke JasperReports 6.0.0 (Dokumentasi Resmi)
Jaspersoft Studio secara default memakai library versi bawaannya (Studio 6.21.x → JasperReports 6.21.x) untuk menyimpan JRXML dan meng-compile report. Karena runtime server InfiniteERP adalah JR 6.0.0, atur compatibility agar keduanya memakai 6.0.0:
- Buka Window > Preferences (di macOS: Jaspersoft Studio > Preferences).
- Pilih Jaspersoft Studio > Compatibility.
- Pada bagian Source .jrxml Version, pilih 6.0.0 di menu Version — JRXML akan disimpan dalam format versi tersebut.
- Centang Don't save Jaspersoft Studio properties — property khusus Studio (info layout, dimensi px/mm, data adapter terakhir dipakai) tidak ikut tersimpan ke JRXML.
- Pada bagian Compiler Settings, pilih 6.0.0 di menu Version — report di-compile memakai JR 6.0.0.
- Jika 6.0.0 belum tersedia di menu, klik Manage JasperReports Versions:
- Add From Path — jika jar JR 6.0.0 sudah ada di lokal; arahkan ke direktori berisi JasperReports Library dan Studio akan memverifikasinya.
- Add From URL — unduh dari SourceForge (https://sourceforge.net/projects/jasperreports/) atau URL lain; Studio mengunduh, memverifikasi jar, lalu menambahkannya ke menu.
Catatan dari dokumentasi resmi:
- Fitur report yang bergantung pada versi JasperReports lebih baru tidak akan tersedia saat memakai versi lebih lama.
- Pengaturan Compatibility ini ditujukan untuk report yang dipakai di aplikasi sendiri berbasis JasperReports Library (persis kasus Openbravo/InfiniteERP). Jika targetnya JasperReports Server, versi diatur di connection settings server.
Sumber resmi: TIBCO Jaspersoft Studio User Guide — Setting Compatibility with Earlier Versions of JasperReports Library (arsip Wayback, 4 Agustus 2025)
Praktik dan Verifikasi
- JRXML Best Practices — aturan penulisan JRXML, jebakan umum, dan polanya
- JRXML Local Verification — cara compile + render JRXML di laptop tanpa server