Home Page - Ketergantungan Lapangan
Seringkali kita ingin menampilkan opsi di suatu kolom berdasarkan nilai kolom lain. Kita dapat melakukannya menggunakan Skrip Formulir HD.
Catatan: Ini hanya berlaku saat membuat tiket.
Menambahkan Bidang Kustom
- Buat kolom baru menggunakan formulir kustomisasi. Untuk melakukannya, alihkan ke Desk dan navigasikan ke doctype Tiket HD, lalu gunakan opsi Kustomisasi Formulir.
- Salin nama kolom yang ingin diisi pengguna saat membuat tiket.
- Buka doctype HD Ticket Tempalte (di meja) => buka dokumen dengan nama "default" => Tempel nama tersebut di tabel yang ditampilkan di bagian "fields". (url: http:// nama situs Anda //aplikasi/hd-ticket-template/Default)
misalnya
Menerapkan Ketergantungan Lapangan
Sekarang setelah Anda menambahkan bidang khusus yang diperlukan, ketergantungan bidang (kustomisasi) dapat diimplementasikan menggunakan Skrip Formulir HD di Desk:
Open Desk: Beralih ke Desk dan buka Skrip Formulir HD. Pilih Doctype: Pilih Doctype (misalnya, Tiket HD) tempat Anda ingin menambahkan tindakan kustom. Anda akan melihat kode boilerplate. Apply To: Pilih "Formulir". Mengaktifkan Skrip: Centang kolom "Apply on new page" & "Enabled". Tentukan handler onChange Anda: Berikut cara menentukan berbagai jenis handler untuk berbagai Kolom:
Katakanlah kita telah membuat dua Bidang Pilihan yang disebut "Aplikasi" & "Kategori" dan berdasarkan Aplikasi yang dipilih, saya ingin memfilter opsi pada bidang "Kategori".
function setupForm({doc, applyFilters}) {
function update_category(value) {
if(value=="ERPNext"){
options = ["Manufacturing","Accounting","Selling","Purchase"]
}
else if(value =="Frappe Cloud"){
options = ["Payment","Bench Down","Site Down", "FC Marketplace"]
}
else if(value== "HRMS") {
options = ["Attendance","Shift","Tax"]
}
applyFilters("custom_category",options)
}
return {
onChange:{
// works only for new ticket page
"custom_app":(newVal)=>update_category(newVal)
}
}
}
Pada contoh yang disebutkan di atas ketika custom_app
bidang berubah, update_cateogory
fungsi akan dipicu dan nilai baru bidang custom_app
akan diteruskan ke update_category
fungsi, dan berdasarkan nilai baru kami memperbarui opsi menggunakan apply_filters
fungsi
fungsi ini mengambil 2 nilai sebagai argumen
- Bidang yang ingin Anda ubah (bisa berupa bidang Pilih atau bidang Tautan).
- Opsi yang ingin Anda tampilkan di menu tarik-turun. (Pastikan ejaan yang benar). Jika null dimasukkan, opsi akan diatur ulang ke default.
Berikut adalah contoh implementasinya:
- Untuk menyembunyikan atau menampilkan bidang gunakan
display_depends_on
fungsi menggunakan formulir,
misalnya untuk update_category: eval:doc.custom_app!==""
- Untuk membuat suatu bidang wajib berdasarkan bidang lain, gunakan
mandatory_depends_on
fungsi formulir.
misalnya untuk membuat bidang aplikasi wajib gunakan ekspresi ini: eval:doc.ticket_type==="Bug"
video yang menampilkan mandatory_depends_on
&display_depends_on