Skip to main content
Skip table of contents

calculateEndAndRemindDate

Versionshinweise

20.2

Code

GROOVY
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 sie null, um die Berechnung zu deaktivieren.

Beispiele

GROOVY
// 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");
  }
}
JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.