Table of Contents

onEvent_GetWorkDayContext

Informationen

  • Kategorien: Kernel | Klassenformeln
  • Version: 12.2.0.1695
  • Veröffentlichungsdatum: Donnerstag, 15. April 2010
  • Entwickler: Götzen
  • Benötigt Datenbankänderung: Ja
  • Betreff: Event GetWorkDayContext

Beschreibung

Mit dem Event: "onEvent_GetWorkDayContext" hat der Projektentwickler die Möglichkeit kontextspezifisch die Verwendung von Werk- und Feiertagen zu steuern. Dies Event wird derzeit aufgerufen:

  • Im Scheduler
  • Im Kalender
  • In allen Funktionen der Terminfortschreibung (z.B. Termin und Auftragsserien) Es können gesteuert werden:
  • die zu verwenden Werktagseinstellungen ( erster Wochentag und Tage der Arbeitswoche ) Siehe auch Funktion: "Werktagseinstellungen in pit-FM Registry"
  • die zu verwende Feiertagsgruppe (SysHolidayContext) die eine Liste von Feiertagen enthält.

Syntax siehe Beispielcode.

Beispielcode

Prototyp:
int onEvent_GetWorkDayContext( entity $eContextEntity, string $FunctionContextString, byref string $WorkDayContextString, byref string $HoliDayContextString )

Parameter:
 
$eContextEntity: enthält ein Objekt das im aktuellen Funktionskontext informationen zu Feiertagen und Werktagen enthalten kann
                            dieses Objekt ist abhängig vom  $FunctionContextString

$FunctionContextString: Enthält einen Text der Aufschluss über den aktuellen Funktionskontext gibt in dem Informationen über Werk- und Feiertage benötigt werden.


Mögliche Werte für  $FunctionContextString:

 "CalendarControl"           - Es werden der Werk- und der Feiertagskontext für den Kalender angefragt
                                             $eContextEntity ist hierbei das MainContextEntity wenn vorhanden
 "SchedulerTableRow"     - Es werden der Werk- und der Feiertagskontext für eine Tabellenzeile im Scheduler angefragt. 
                                             $eContextEntity ist hierbei das Objekt der Tabellenzeile
 "SchedulerResource"      - Es werden der Werk- und der Feiertagskontext für eine Ressource im Scheduler angefragt. 
                                             $eContextEntity ist hierbei das Objekt der Ressource
 "SchedulerWorkDays"     - Es wird nur der Werktagskontext im Scheduler zur Bestimmung des ersten Wochentags und der Arbeitstage angefragt. 
                                             $eContextEntity ist hierbei das hierbei das MainContextEntity wenn vorhanden
 "SerialEvent"                   - Es werden der Werk- und der Feiertagskontext für die Funktionen der Terminfortschreibung angefragt
                                             $eContextEntity ist hierbei die Fortschreibungsvorschrift (Serie)



$WorkDayContextString:   Out Parameter, 
                                           nach dem Aufruf der Funktion sollte dieser Parameter den Namen eines WorkdaySettings haben
                                           (Registry unter "System\\Config\\WorkDaySettings" )  

$HoliDayContextString:   Out Parameter, 
                                         nach dem Aufruf der Funktion sollte dieser Parameter den Namen einer Feiertagsgruppe (SysHolidayContext) haben.
                                         Ausnahme: bei   $FunctionContextString = "SchedulerWorkDays" wird dieser Parameter nicht benötigt.


Beispiel:

int onEvent_GetWorkDayContext( entity $eContextEntity, string $FunctionContextString, byref string $WorkDayContextString, byref string $HoliDayContextString )
{
	if( $eContextEntity != NULL && 
	    IsKindOf( $eContextEntity, "Task" ) && 
	    $FunctionContextString == "SerialEvent" )
	{
	    $WorkDayContextString = GetAttributeValueAsString( $eContextEntity, "WorkDayContext" ); 
	    $HoliDayContextString = GetAttributeValueAsString( $eContextEntity, "HoliDayContext" ); 
	    return 1;
	}
	

    $WorkDayContextString = "DEFAULT"; 
    $HoliDayContextString = "GERMANY";
    return 1;

}