Hallo Leute,
Erst einmal vielen Dank für dieses tolle Forum und die wirklich sehr kompetenten Berater*innen.
Mein Problem ist folgendes: Eine Liste enthält das Datum der Medikamentenverordnung des Arztes (nennen wir das Feld "ausst_dat")
Beim Laden des Formulars soll bei allen Eintragungen eines dynamischen Formulars geschaut werden, ob ausst_dat älter (bis zum Wert 329) oder gleich als 300 Tage ist verglichen mit dem aktuellen Datum... Wenn das so ist, dann soll der Feldhintergrund von ausst_dat Gelb gefärbt werden und bei einem Wert von 330 oder älter Rot und die Schrift in Weiß.
Kann da jemand helfen? Link zu einem schon existierenden Beitrag würde es auch tun. Meine Suche brachte kein Ergebnis. Vielen Dank schon einmal im voraus.
Euer Thórralf
Rechnen mit Datum: Ablaufdatum erreicht für Medikamentenverordnung Feld einfärben
Rechnen mit Datum: Ablaufdatum erreicht für Medikamentenverordnung Feld einfärben
Zuletzt geändert von schuh am 07.06.2023, 13:39, insgesamt 1-mal geändert.
-
- Beiträge: 114
- Registriert: 25.02.2011, 19:08
Re: Rechnen mit Datum: Ablaufdatum erreicht für Medikamentenverordnung Feld einfärben
Hallo,
Häng doch mal ein Beispiel Formular an, macht es einfacher.
LG, Stephan
Häng doch mal ein Beispiel Formular an, macht es einfacher.
LG, Stephan
Re: Rechnen mit Datum: Ablaufdatum erreicht für Medikamentenverordnung Feld einfärben
Hier war die fragliche Datei. Da das Problem gelöst ist, habe ich die ursprünglich unvollständige Datei gelöscht... 

Zuletzt geändert von schuh am 12.01.2024, 12:59, insgesamt 2-mal geändert.
GELÖST: Rechnen mit Datum: Ablaufdatum erreicht für Medikamentenverordnung Feld einfärben
Guten Morgen,
Gerade habe ich die Lösung gefunden! HEUREKA...
Die Funktion zum Bewerten des Ablaufdatums und die Funktion des resultierenden Einfärben wird im Feld ausst_dat in die Ereignisse "Initialize" und "Exit" geschrieben. Hier die Funktionen, die ich im Bereich Skripte hinterlegt habe:
Code zum Einbinden in das Feld:
Gerade habe ich die Lösung gefunden! HEUREKA...
Die Funktion zum Bewerten des Ablaufdatums und die Funktion des resultierenden Einfärben wird im Feld ausst_dat in die Ereignisse "Initialize" und "Exit" geschrieben. Hier die Funktionen, die ich im Bereich Skripte hinterlegt habe:
Code: Alles auswählen
// Ablaufdatum berechnen
function expiringDate(Objekt) {
var sDate = util.scand("yyyy-mm-dd", xfa.resolveNode("ausst_dat[0]").rawValue);
var hDate = util.scand("yyyy-mm-dd", xfa.resolveNode("heute").rawValue);
var diffDays = Math.round((Number(hDate) - Number(sDate))/1000/60/60/24);
var NewsDate = Number(sDate) + (24*60*60*1000*Number(365));
var nDate = util.printd("dd.mm.yy", new Date(NewsDate));
if (Objekt.rawValue != null)
{
xfa.resolveNode("ablauf_dat[0]").rawValue = nDate;
}
else
{
xfa.resolveNode("ablauf_dat[0]").rawValue = "";
};
}
// Ablaufdatum einfärben
function colorField(Objekt) {
var sDate = util.scand("yyyy-mm-dd", xfa.resolveNode("ausst_dat[0]").rawValue);
var hDate = util.scand("yyyy-mm-dd", xfa.resolveNode("heute").rawValue);
var yellowDate = Number(sDate) + (24*60*60*1000*Number(335));
var redDate = Number(sDate) + (24*60*60*1000*Number(365));
var diffDays = Math.round((Number(hDate) - Number(sDate))/1000/60/60/24);
if (redDate <= Number(hDate)){
xfa.resolveNode("ablauf_dat[0]").fillColor = "255,200,200";
} else {
if (yellowDate <= Number(hDate)){
xfa.resolveNode("ablauf_dat[0]").fillColor = "255,255,200";
} else {
xfa.resolveNode("ablauf_dat[0]").fillColor = "255,255,255";
};
};
}
Code: Alles auswählen
// Formular1.tbl_übersicht.items.ausst_dat::initialize - (JavaScript, client)
Skripte.expiringDate(this);
Skripte.colorField(this);
// Formular1.tbl_übersicht.items.ausst_dat::exit - (JavaScript, client)
Skripte.expiringDate(this);
Skripte.colorField(this);
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.