tüit Logo Skip to main content

Datumsfelder mit Zeitspanne auf Beleg und Positionen

Einleitung

Auf dieser Seite sehen wir, wie ein Datums Feld "Ende" in Abhängigkeit zu einem Datumsfeld "Anfang" befüllt wird und diese Daten auf die Artikelpositionen vererbt werden.

 

Datumsfeld "Ende" ein Jahr nach "Beginn"

frappe.ui.form.on('Sales Order', {
    performance_period_start: function(frm,cdt,cdn){
        if (frm.doc.performance_period_start) {
            var end_date = frappe.datetime.add_days(frm.doc.performance_period_start, 364);
            frappe.model.set_value(cdt,cdn,"performance_period_end",end_date);
            for (var i =0; i < frm.doc.items.length; i++){
              frm.doc.items[i].start_date = frm.doc.performance_period_start;
              frm.doc.items[i].end_date = frm.doc.performance_period_end;
            }
        }
    }
});

Daten auf Positionstabelle übertragen

frappe.ui.form.on('Sales Order Item', {
    start_date: function(frm,cdt,cdn){
            var d = locals[cdt][cdn];
            if (d.start_date) {
                var end_date = frappe.datetime.add_days(d.start_date, 364); 
                frappe.model.set_value(cdt,cdn,"end_date",end_date); 
                } 
            }
    });