By Lars Mäurer on 23. Juni 2023
Beginner

Client Script zum Errechnen der Kalenderwoche:


Der Nutzer trägt irgendwo ein Datum ein, wir möchten gern die entsprechende Kalenderwoche ermitteln...


Beispiel-Script:


frappe.ui.form.on('Schichtplanung Dokument', {

validate:function(frm){


   frm.set_value('kalenderwoche',moment(frm.doc.date).isoWeek())

   frm.set_value('date_montag_2',frm.doc.date)

   frm.set_value('date_dienstag',frappe.datetime.add_days(frm.doc.date, 1))

   (...)

   

}

})


Entscheidend ist die Funktion isoWeek(), siehe Beispiel-Zeile 4:

frm.set_value('kalenderwoche',moment(frm.doc.date).isoWeek())

...welche tatsächlich die deutsche (!) Kalenderwoche ermittelt. Kalenderwochen in anderen Teilen der Welt können abweichen, USA ist z.B. im Allgemeinen immer eine Woche weiter. Im ERPNext wird aber korrekt die deutsche Kalenderwoche ausgerechnet.


validate:function(frm)

"validate" sorgt dafür, dass die Kalenderwoche ausgerechnet wird, bevor "Save" ausgelöst wird, die Kalenderwoche kann dann also auch zur automatischen Namensgebung einer Datei genutzt werden, weil der Wert der Variable schon vor dem Speichern da ist.


übrigens nebenbei:

die Funktion  frappe.datetime.add_days  macht genau das, was der Name sagt – es werden Tage zu einem Datum addiert:

Syntax: frappe.datetime.add_days(*Datum*, *Anzahl Tage, die addiert werden sollen*)


Weitere Artikel zum Customizing



Weitere Artikel zum Customizing
Comments

No comments yet.

Einen Kommentar hinzufügen
"Strg + Enter" um Kommentar hinzuzufügen