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;
}