calculateEndAndRemindDate
Versionshinweise | 20.2 |
---|
Code
void FieldUtils.calculateEndAndRemindDate(String fieldName, Date oldValue, String startDateName, String endDateName, String remindDateName)
Beschreibung
Berechnet das Enddatum und Erinnerungsdatum, wenn das Startdatum, das Enddatum oder das Erinnerungsdatum geändert wurden.
Damit die Methode fehlerfrei genutzt werden kann, müssen das Startdatum und das Enddatum als Pflichtfelder markiert werden.
Bei der Berechnung wird sichergestellt, dass das immer Enddatum größer oder gleich dem Startdatum ist.
Die Standardzeitspanne für die Berechnung des Enddatums wird über die Benutzereinstellung "/de/cursor/jevi/common/activity/GroupwarePreferences$!!$OFFSET" festgelegt.
Falls das Feld Erinnerungsdatum definiert wurde, wird bei der Berechnung sichergestellt, dass dieses kleiner oder gleich dem Startdatum ist.
Die Standardzeitspanne für das Erinnerungsdatum wird über die Benutzereinstellung "Erinnerungszeitspanne in Minuten" definiert.
Parameter
fieldName
- Der interne Feldname des geänderten Feldes, z.B.StartDate.Maintenance
.oldValue
- Der alte Datumswert des geänderten Feldes.startDateName
- Der interne Feldname des Startdatums, z.B.StartDate.Maintenance
.endDateName
- Der interne Feldname des Enddatums, z.B.EndDate.Maintenance
.remindDateName
- Der interne Feldname des Erinnerungsdatums, z.B.RemindDate.Maintenance
.
Wenn kein Erinnerungsdatum auf der Maske vorhanden ist, nutzen sienull
, um die Berechnung zu deaktivieren.
Beispiele
// Nutzen sie genau dieses Skript um die fehlerfreie Funktion im Rich und Web Client zu gewährleisten.
// Die Feldnamen müssen ersetzt werden. Das Erinnerungsdatum kann mit null ignoriert werden.
void fieldValueChanged(String fieldName, Object oldValue, Object newValue)
{
if(ScriptUtils.equal(fieldName, "StartDate.Maintenance") || ScriptUtils.equal(fieldName, "EndDate.Maintenance") || ScriptUtils.equal(fieldName, "StartDate.Maintenance"))
{
FieldUtils.calculateEndAndRemindDate(fieldName, oldValue, "StartDate.Maintenance", "EndDate.Maintenance", "RemindDate.Maintenance");
}
}
void fieldFocusLost(String fieldName)
{
if(!ScriptUtils.isWebClient() && ScriptUtils.equal(fieldName, "EndDate.Maintenance"))
{
FieldUtils.calculateEndAndRemindDate(fieldName, FieldUtils.getValue("EndDate.Maintenance"),
"StartDate.Maintenance", "EndDate.Maintenance", "RemindDate.Maintenance");
}
}