Membuat sebuah laporan kustom di Odoo 12 sedikit berbeda dari Odoo 11. Ada beberapa kode yang perlu disesuaikan saat membuat laporan kustom di Odoo 12. Seperti yang ada di https://karisindo.id/blog/odoo-1/membuat-custom-report-di-odoo-11-3, kita masih menggunakan hr_attendance untuk membuat contoh laporan kali ini, dan akan menampilkan rekap data presensi dan absensi karyawan.
Hasil akhir seperti contoh gambar di bawah ini.
Persiapan Awal
Untuk persiapan awal, kita bisa membuat database baru dan centang "Load demonstration data", sehingga ada data awal yang bisa kita gunakan untuk mengetes kode. Selanjutnya install modul hr_attendance, ini adalah modul bawaan dari Odoo. Dan jangan lupa pastikan wkhtmltopdf 0.12.1 atau wkhtmltopdf 0.12.5 sudah terpasang.
Setelah melakukan instalasi modul hr_attendance, anda bisa melihat data kehadiran dengan data demo seperti yang ada pada gambar di bawah ini.
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/odoo12-custom-report untuk mendapatkan semua kodenya, atau bisa juga dengan langsung unduh dan coba modulnya.
Untuk dokumentasi pembuatan laporan di Odoo, silakan cek di https://www.odoo.com/documentation/12.0/reference/reports.html.