Filter auf Feld vom Type Verknüpfung (Link)
Einleitung
Auf ein Linkfeld kann mit einigen wenigen Zeilen ein Filter eingestellt werden. Eine allgemeine Vorlage findet sich im nächsten Code Block. Wir passen die Inhalte in 'Mein Dokumententype', 'name_of_your_field', 'Linked Doctype', 'fieldname', 'in' und '["option1", "option2", "..."]' an. Es muss auf die Groß- und Kleinschreibung geachtet werden.
frappe.ui.form.on("Mein Dokumententype", {
setup: function(frm) {
frm.set_query("name_of_your_field", function() {
return {
filters: [
["Linked Doctype","fieldname", "in", ["Open", "Working"]]
]
}
});
}
});
Erklärung der Inhalte
Inhalt | Erklärung |
Mein Dokumententype | Customization für dieses Doctype |
name_of_your_field | Feldname |
Linked Doctype | Auswählbarer Doctype |
fieldname | Feldname auf den ausgewählten Doctype |
in | Operator ( vgl. Filter des auswählbaren Doctypes in seiner Listensicht ) |
["Open", "Working", "..."] | Filtern nach "Open" oder "Working" |
Beispiele
Offene Projekte in den Zeiterfassungen filtern
frappe.ui.form.on('Timesheet', {
setup: function(frm) {
frm.set_query("parent_project", function() {
return {
filters: [
["Project","status", "in", ["Open"]]
]
}
});
}
})
Screenshot:
Überprüfen ob ein Häkchen (Check) gesetzt ist
Im Doctype | Element |
Feld | extention (Type Link) |
Ziel Doctype | Protocol Template |
zu überprüfendes Feld | checkliste_ist_eine_erweiterung |
zu überprüfender Wert | 1 (häkchen gesetzt) |
frappe.ui.form.on('Element', {
setup: function(frm) {
frm.set_query("extension", function() {
return {
filters: [
["Protocol Template","checkliste_ist_eine_erweiterung", 'in' , ['1']]
]
}
});
}
});