Ini adalah satu lagi dilema aplikasi perusahaan terkait.
Sebagian besar aplikasi profesional menggunakan penulis laporan yang terlalu rumit untuk pengguna umum, meskipun kebanyakan dari mereka adalah wysiwyg. Beberapa aplikasi sederhana hanya memiliki templat tetap yang tidak dapat disesuaikan.
Dalam upaya untuk menyelesaikan masalah lama ini, kami memilih solusi jalan tengah untuk masalah tersebut dan itu adalah pencetakan berbasis template. Ini seperti cara kerja mesin blogging atau mesin forum, template mungkin berisi kode logika sederhana dan berisi pengaturan sederhana yang dapat dilakukan pengguna Tweak mudah tanpa harus tahu kode apa pun. Contoh yang sangat bagus tentang cara kerjanya adalah melihat situs ini: www.squarespace.com
Namun, tidak seperti situs web, sebagian besar laporan aplikasi CRUD memiliki kendala data, kriteria pemilihan tertentu seperti grup atau kategori. Misalnya. Saya ingin laporan semua kursi dari database.
Pertanyaannya adalah, haruskah kriteria pemilihan dimasukkan dalam templat? Memiliki kriteria yang terpisah akan memungkinkan kontrol yang lebih baik atas data yang akan dicetak. Paradigma ini digunakan di seluruh aplikasi tetapi tanpa pemilihan kriteria. Misalnya. Pencetakan faktur tetapi dengan template
Sebagai programmer, kita cenderung berpikir bahwa presentasi (templat) dan logika (dalam hal ini data) harus terpisah. Apa yang akan kamu lakukan dalam situasi ini?
PS: Templat menghasilkan PDF file dan karenanya tidak dapat menampilkan langsung dengan templat.
Dengan asumsi kita berbicara tentang bagian pelaporan umum dari aplikasi di mana semua data yang tersedia dari aplikasi harus "dapat dilaporkan": Saya akan menjaga kriteria pemilihan terpisah dari template.
Biarkan pengguna pertama-tama memilih semua yang ingin dilihatnya lalu menawarkan tindakan cetak untuk memilih templat yang akan digunakan. Dengan cara ini templat dapat difilter juga tergantung pada data yang dipilih (tidak ada gunanya menyajikan templat faktur ketika aplikasi menampilkan item buku harian di kotak pilihan).
Alternatifnya adalah mulai dengan memilih templat (dan dengan demikian membatasi pemilihan data). Pengguna Anda harus memberi Anda panduan tentang hal itu. Mungkin lebih alami bagi mereka untuk memilih template terlebih dahulu.
Dalam kedua kasus saya cenderung menunjukkan data yang dipilih berdasarkan kriteria yang dimasukkan. Misalnya dalam kotak atau treeview semacam. Lebih disukai "hidup" sehingga pengguna dapat segera melihat efek dari kriteria yang mereka masukkan. Kalau tidak minta mereka memasukkan beberapa kriteria, menampilkan data, biarkan mereka memperbaiki kriteria itu (menambah/menghapus/mengedit) dengan kembali ke dialog kriteria sampai mereka puas dengan apa yang telah mereka pilih.
Pembaruan sebagai tanggapan terhadap komentar
Jadi pastikan Anda memiliki templat default yang masuk akal. Bahkan lebih baik: pilih templat yang paling cocok berdasarkan data yang dipilih oleh pengguna.
Tidak mengatakan Anda tidak memilikinya :-), tetapi fitur lain yang dapat membantu pengguna dalam situasi ini: