tüit Logo Direkt zum Hauptinhalt

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:

image-1637225997643.png

Überprüfen ob ein Häkchen (Check) gesetzt ist

Im DoctypeElement
Feldextention (Type Link)
Ziel DoctypeProtocol Template
zu überprüfendes Feldcheckliste_ist_eine_erweiterung
zu überprüfender Wert1 (häkchen gesetzt)

image-1637500640301.png

frappe.ui.form.on('Element', {
	setup: function(frm) {
		frm.set_query("extension", function() {
			return {
				filters: [
					["Protocol Template","checkliste_ist_eine_erweiterung", 'in' , ['1']]
				]
			}
		});
	}
});

image-1637500414448.png