Melanjutkan tulisan Membuat "Hello world!" di OpenERP, berikut ini langkah-langkah untuk membuat laporannya dalam bentuk PDF yang memanfaatkan OpenOffice sebagai visual designer.
Pada dasarnya untuk menghasilkan laporan dalam bentuk PDF, OpenERP membutuhkan file RML (*.rml), yaitu sebuah file berbentuk XML. Namun untuk mempersingkat waktu pembuatan, kita bisa menggunakan OpenOffice sebagai visual designer. File disimpan dalam format OpenOffice Write (*.odt) yang bisa di-export ke RML. File RML inilah yang disimpan di direktori sistem OpenERP nanti.
Kali ini kita menggunakan OpenERP 6.0.4.
Setelah modul hello dipasang, pasanglah modul report_designer. Berikut tahapannya.
Memasang OpenERP Report Designer pada OpenOffice
OpenOffice dapat diberi extention file. File ini bisa diunduh dari sitem OpenERP yang sudah kita pasang.
Konektivitas OpenOffice ke OpenERP
Selanjutnya OpenOffice perlu dihubungkan dengan OpenERP, berikut tahapannya.
Merancang Laporan
Setiap laporan terkait dengan ORM (Object Relational Module) yang telah dibuat. Pada contoh ini kita telah memiliki modul hello.comment yang akan ditampilkan record-nya dalam bentuk tabel. Berikut langkahnya.
Rancangan laporan telah selesai. Jika Anda ingin menambah asesoris lainnya silahkan. Tapi sebaiknya kita lanjutkan dulu dengan menguji seadanya.
Uji Coba
File *.odt ini tidak digunakan oleh OpenERP. Kita perlu menyimpannya terlebih dahulu ke RML.
Sampai di sini pembuatan laporan telah selesai. Namun menu Cetak tersebut hanya tersimpan di database. Bila kita membuat database baru nanti, menu ini tidak akan tampil karena belum tersedia di source.
Membuat Modul Laporan
Kita perlu menyimpan hello.odt ke hello.rml. Lalu file ini disimpan di direktori sistem OpenERP, dan dilanjutkan dengan membuat file-file pendukung lainnya.
Kembali ke OpenOffice, klik menu OpenERP Report Designer, Export to RML. Namai dengan hello.rml. Biasanya disimpan di direktori /tmp. Kemudian salinlah ke direktori sistem OpenERP.
$ sudo mkdir /usr/share/pyshared/openerp-server/addons/hello/report $ sudo cp /tmp/hello.rml /usr/share/pyshared/openerp-server/addons/hello/report/
Lanjutkan dengan pembuatan penerjemahnya (parser), yaitu file /usr/share/pyshared/openerp-server/addons/hello/report/comment.py.
import time from report import report_sxw class comment(report_sxw.rml_parse): def __init__(self, cr, uid, name, context): super(comment, self).__init__(cr, uid, name, context) self.localcontext.update({ 'time': time, }) report_sxw.report_sxw('report.komentar', 'hello.comment', 'addons/hello/report/hello.rml', parser=comment)
Juga buat /usr/share/pyshared/openerp-server/addons/hello/report/__init__.py agar direktori report dikenal sebagai modul.
import comment
Lalu buatlah XML untuk menampilkan menu Cetak di file /usr/share/pyshared/openerp-server/addons/hello/report/menu.xml.
<?xml version="1.0" encoding="utf-8"?> <openerp> <data> <report id="report_hello_comment" string="Cetak Komentar" model="hello.comment" name="komentar" rml="hello/report/hello.rml" auto="False" header="False"/> </data> </openerp>
Kemudian di file /usr/share/pyshared/openerp-server/addons/hello/__terp__.py pada bagian update_xml tambahkan report/menu.xml, sehingga menjadi seperti berikut ini.
{ 'name' : 'Hello world!', 'category': 'Hidden', 'version' : '1.0', 'author' : 'RAB', 'depends' : ['base'], 'update_xml' : ['hello_view.xml', 'report/menu.xml'], 'description': 'A simple form to insert, edit, or delete your comments.', }
Lalu di file /usr/share/pyshared/openerp-server/addons/hello/__init__.py tambahkan import report sehingga menjadi seperti berikut ini.
import hello import report
Setelah selesai restart daemon-nya.
$ sudo /etc/init.d/openerp-server restart
Selesai. Ujilah dengan membuat database baru dan pasang modul hello.
Selamat mencoba.
Komentar terbaru
10 tahun 47 pekan y.l.
13 tahun 25 pekan y.l.
13 tahun 25 pekan y.l.
13 tahun 26 pekan y.l.