Bayangkanlah kondisi berikut ini di dalam sebuah Aplikasi Web.
Ketika Pengguna sedang mengetikkan data Angka di sebuah Field pada bagian tabel Detail, maka hasil penjumlahan angka di baris tabel Detail tadi akan otomatis ditampilkan di Field tertentu pada bagian Record Master. Data Angka yang diketikkan oleh Pengguna akan otomatis diformat oleh sistem dengan menambahkan karakter pemisah ribuan dan/atau pemisah desimal, sehingga Pengguna semakin nyaman saat menginput data Angka khususnya yang nilainya mencapai ribuan atau jutaan.
Pengguna masih dapat membatalkan data yang sudah sempat dimasukkan di bagian tabel Detail (tapi belum disimpan ke Database) dengan cara menghapus baris Record yang bertalian di tabel Detail. Sistem akan menampilkan kotak dialog berisi konfirmasi apakah ingin menghapus baris tersebut. Jika ya, maka sistem pun akan otomatis menghitung ulang jumlah nilai total di Field tadi.
Pengguna juga masih diberi kesempatan untuk menambahkan baris kosong baru di bagian tabel Detail tanpa memuat ulang halaman tadi. Selanjutnya Pengguna dapat memasukkan lagi data yang baru di baris kosong tadi. Data Angka yang sedang diketikkan oleh Pengguna pada Field tadi akan dihitung ulang kembali oleh sistem.
Salah satu Field di bagian tabel Detail tadi memiliki karakteristik untuk otomatis mengisi data di Field lain pada baris yang sama berdasarkan data yang dipilih melalui control Combobox. Data yang ditampilkan menggunakan Combobox tersebut juga harus lookup ke tabel tertentu.
Pengguna cukup mengklik tombol Simpan sekali saja, lalu sistem akan menyimpan data di bagian Master dan juga di bagian Detail (yang jumlah baris Record-nya tidak terbatas). Jika data di Field tertentu tidak memenuhi kriteria berdasarkan validasi di sisi script server, maka sistem akan membatalkan penyimpanan dan menampilkan pesan. Sistem harus bisa menampilkan data tadi sehingga Pengguna masih diberi kesempatan untuk memperbaiki, lalu menyimpan ulang ke Database.
Dan terakhir, layout Form untuk menginput data Master/Detail di atas harus bisa ditampilkan secara mobile-responsive di perangkat HP, Tablet, dan mobile lainnya. Kotak dialog yang ditampilkan tidak boleh menggunakan dialog confirm bawaan Browser, tapi harus menggunakan tampilan yang sama dengan tema Aplikasi Web yang Anda bangun.
Stop sampai di sini! Sudah ada gambaran/bayangan, sekarang? 😀
Pertanyaan selanjutnya. Bisakah Anda membuat halaman berisi Form untuk menginput data Master/Detail tadi? Berapa lama waktu yang harus Anda butuhkan untuk menghasilkannya dan menjamin semua fungsi tadi berjalan dengan semestinya? Apakah Anda merasa tertekan ketika dihadapkan dengan pekerjaan yang harus diselesaikan dengan waktu secepat mungkin dengan hasil yang memuaskan? Silahkan jawab dengan jujur menggunakan hati nurani masing-masing.
Sebagai Web Developer yang sudah cukup lama menggunakan PHPMaker, saya harus jujur mengatakan bahwa semua permintaan di atas bisa dijawab dengan sebuah senyuman yang sangat manis sambil mengatakan: Bisa, saya cukup menggunakan PHPMaker, dan bisa saya selesaikan hanya dalam waktu beberapa menit saja!
Kalau seperti itu, masihkah Anda ragu-ragu untu menggunakan PHPMaker? 😀
Eh, masih belum percaya juga PHPMaker dapat menghasilkan Aplikasi Web dengan business-logic seperti yang sudah diuraikan panjang lebar di atas tadi? Serius, Anda belum percaya? Hehehe, kalau begitu, Anda perlu bukti nyata sekarang. Silahkan klik di sini untuk mencoba Aplikasi Web yang dihasilkan oleh PHPMaker tanpa menulis kode secara langsung ke dalam file script di sisi Aplikasi Web, tapi cukup dari dalam project PHPMaker saja. 😀
Nanang Wp mengatakan
Selamat sore Pak Masino,
Client Script untuk menjumlahkan total didetail untuk ditampilkan di total dimaster.
maaf masih newbie.
terima kasih.
Masino Sinaga mengatakan
Anda bisa mendapatkan contoh project-nya dengan mengunduh Stock Inventory Management dari website I Love PHPMaker.
Malvin mengatakan
Hallo pak.
selamat sore
salam kenal.
saya pemula di PHP maker.
saya terkendala 2 hal,
1. untuk pemilihan tanggal yang ada didalam grid saya terpotong pada record pertama dan seterusnya, sudah coba browsing beberapa sumber tp belum ada yang masuk.
2. saya mau tanya untuk halaman yang ada master dan detailnya , kira kira gimana ya cara nya untuk memastikan kalau record yang ada sudah terisi dan tidak kosong.
..
terima kasih
Masino Sinaga mengatakan
Halo Malvin,
Selamat pagi dan salam kenal.
1. Klik menu Tools -> Advanced Settings, lalu pada pengaturan List page minimum table height (px), masukkan misalnya: 300, lalu generate ulang semua file script seperti biasa.
2. Tinggal diperiksa saja di table-nya, apakah sudah ada record atau belum. Bisa dengan menggunakan ExecuteScalar atau bisa dengan ExecuteQuery. Baca topik Server Events and Client Scripts, lalu lihat di bagian Some Global Functions untuk info dan contoh lebih lanjut.