tüit Logo

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); 
                } 
            }
    });

Revision #2
Created 29 June 2022 12:37:25 by Wolfram Schmidt
Updated 29 June 2022 12:42:32 by Wolfram Schmidt