ERP Cloud Systems - خيارات البحث والفلترة في القائمة
خيارات البحث و الفلترة في القائمة
افترض أن لديك حقلين منسدلين باسم "المحافظة" و "المنطقة". يحتوي حقل "المحافظة" على خيارين هما "القاهرة" و "الجيزة"، بينما يحتوي حقل "المدينة" على أربع خيارات هي "المعادي"، "الزمالك"، "الدقي"، و "السادس من اكتوبر". إذا كنت ترغب في فلترة خيارات حقل "المنطقة" بناءً على القيمة التي تم اختيارها في "المحافظة"، يمكنك استخدام سكربت مخصص كما هو موضح أدناه.
frappe.ui.form.on("Lead", "state", function(frm) {
if(frm.doc.governorate == "Cairo")
{
set_field_options("area", ["Maadi","Zamalk"])
}
else if(frm.doc.governorate == "Giza")
{
set_field_options("area", ["Dokki","6th of october"])
}
else if(frm.doc.governorate == "")
{
set_field_options("area", ["","Maadi","Zamalk","Dokki","6th of october"])
}
});
إليك مثال على سكربت مخصص يقوم بفلترة الخيارات في حقل اختيار ضمن جدول فرعي:
frappe.ui.form.on('Parent DocType', {
refresh: function (frm) {
// Trigger this function when the form is refreshed or reloaded
frm.fields_dict['child_table_fieldname'].grid.get_field('select_fieldname').get_query = function(doc, cdt, cdn) {
return {
filters: [
['Some Field', '=', 'Some Value'] // Replace with your filter criteria
]
};
};
}
});
مثال على السيناريو:
افترض أن لديك نوع مستند رئيسي يسمى "أمر المبيعات"، والذي يحتوي على حقل جدول فرعي يسمى "العناصر". في هذا الجدول الفرعي، يوجد حقل اختيار باسم "رمز الصنف "، وتريد فلترة الخيارات لعرض الاصناف من فئة معينة فقط.
اليك كيف قد يبدو السكربت الخاص بك
frappe.ui.form.on('Sales Order', {
refresh: function (frm) {
frm.fields_dict['items'].grid.get_field('item_code').get_query = function(doc, cdt, cdn) {
return {
filters: [
['Item Group', '=', 'Specific Category'] // Adjust the filter criteria as needed
]
};
};
}
});