Membuat Custom Report di Odoo 11

Membuat sebuah laporan kustom di Odoo 11 itu sangat berbeda dari Odoo 10. Dikarenakan di Odoo 11 tidak ada modul report seperti Odoo 10, and ditambah dengan dokumentasi yang buruk di website Odoo, seperti yang bisa kita lihat di https://www.odoo.com/documentation/11.0/reference/reports.html#custom-reports.

Dalam tutorial kali ini, Saya akan menampilkan rekap kehadiran karyawan, dan menampilkan data kehadiran dan ketidakhadiran untuk tiap karyawan. Hasil akhirnya bisa dilihat pada laporan dibawah ini.

Report final result


Persiapan Awal

Untuk persiapan, anda harus membuat database baru dan centang "Load demonstration data", jadi ada data awal yang akan kita gunakan untuk mengetes kode. Selanjutnya install modul hr_attendance, ini adalah modul bawaan dari Odoo. Dan jangan lupa pastikan wkhtmltopdf 0.12.1 sudah terpasang.

Setelah melakukan instalasi modul hr_attendance, anda bisa melihat data kehadiran dengan data demo seperti yang ada pada gambar di bawah ini.​

Demo Data


Membuat Wizard Model

Buat sebuah wizard model yang meng-inherit dari TransientModel.


Buat Wizard XML View

Buat sebuah tampilan untuk wizard berdasarkan model yang sudah dibuat di atas.

Setelah membuat wizard, maka tampilannya seperti di bawah ini.


Modifikasi Wizard Model dan Membuat AbstractModel Baru

Modifikasi method get_report() di model attendance.recap.report.wizard dan buat model yang meng-inherit dari AbstractModel(). Seperti yang bisa dilihat di bawah ini.


Buat XML Template Report

Langkah terakhir adalah membuat XML untuk template laporan sesuai kebutuhan.


Itu saja. Silakan cek https://github.com/CakJuice/odoo11-custom-report untuk mendapatkan semua kodenya, atau bisa juga dengan langsung unduh dan coba modulnya.

di dalam Odoo
Menjalankan Odoo 12 Dengan Virtualenv Di Ubuntu Atau Debian