tüit Logo Direkt zum Hauptinhalt

Tabelleneintrag beim Speichern ändern

Tabelleneintrag beim Speichern ändern

Wir können bevor auf den Speichern-Button in einem Dokument geklickt wird einzelne Felder in einer Tabelle ändern.

  1. Im folgenden Beispiel muss 'frm.doc.items' im gesamten Skript mit 'frm.doc.feldname_der_tabelle' ersetzt werden.
  2. 'Doctype' mit dem richtigen Doctype ersetzten und auf Groß- und Kleinschreibung achten
  3. Die 'if(...)'-Bedingung kann nach belieben abgeändert werden. 'item' ist die Position, sprich eine Zeile, innerhalb der Tabelle.
  4. Mit 'frappe.model.set_value(...)' wird das Feld 'rate' in der Zeile geändert und auf '0' eingestellt
  5. Die letzte Zeile aktualisiert das Feld 'rate' damit der Anwender die Änderung sehen kann
frappe.ui.form.on('Doctype', {
	validate(frm) {
        for (let i = 0; i < frm.doc.items.length; i++) {
            var item = frm.doc.items[i];
            if(item.positionsart != "Standard"){
                frappe.model.set_value(item.doctype, item.name,"rate","0");
            frm.refresh_fields("rate");
	    }
	}
}
});