Článek: AN0001899Aktualizováno::
Kalendáře se v ObjectGears používají pro určení časových oken, v rámci nichž má být počítán čas (např. pro výpočet cílového času dle SLA). Kalendáře se definují ve třídách, které obsahují data o standardních časech a výjimkách. Ty mají různou frekvenci opakování (např. pevné datum pro svátky, měsíční opakování atd.)
Inicializace
Před použitím kalendáře je třeba provést jeho inicializaci. Tu je nutné zavolat v Aplikační události Po startu aplikace dle dokumentace.
Místo použití skriptu: Skript v Aplikační události Po startu aplikace
//nastavení pro inicializaci kalendare
OG.Utils.InitScriptBlockCode = 'init_calendar';
OG.Utils.InitScriptFunctionName = 'Init_Calendar_Server_Team';
Místo použití skriptu: Blok skriptu
function Init_Calendar_Server_Team()
{
var k = OGCalculateWorkTime.Configuration; k.Model_DayInWeek_Code= 'common_data';
k.Column_DayInWeek_DayIndex_Code = 'day_number_type_2';
k.Model_Months_Code = 'common_data';
k.ClassDef_Months_Code = 'month';
k.Model_DayOccurrenceInMonth_Code = 'common_data';
//k.Column_ExcPatternYearlyFloat_Month_Code = 'every_x_month';
}
Výpočet hodnoty
Pro použití kalendáře použijte následující skript.
Místo použití skriptu: Pravidlo před uložením záznamu
var dt = OGActualDataRow['date-and-time'];
if ( dt != null)
{
var hour = 8; // 8 hodin
var cal = OG.Utils.CreateCalculateWorkTime('Server_team_working_hours');
cal.Initialize();
var de = cal.CalculateEndDate( dt, hour * 60);
OGActualDataRow['target-resolution'] = de;
}
Změna dat kalendáře
Po každé změně dat, s nimiž kalendář pracuje, je třeba vyprázdnit cache kalendáře. Jinak kalendář bude pracovat s původními daty.
Místo použití skriptu: Tlačítko
OG.Utils.ClearAllCalculateWorkTime();