X++:
static void Job63(Args _args)
{
TransDateTime fromDateTime = DateTimeUtil::newDateTime(str2date("01.12.2011", 123), 0);
TransDateTime toDateTime = DateTimeUtil::newDateTime(str2date("31.12.2011", 123), str2time("23:59:59"));
TransDateTime countDateTime;
Seconds secs;
CalendarId calendarId = "TEST"; // календарь должен существовать
;
countDateTime = fromDateTime;
while(countDateTime<=toDateTime)
{
if (countDateTime == fromDateTime)
{
secs +=WorkCalendarDate::calcDefinedSeconds(calendarId, DateTimeUtil::date(countDateTime),
DateTimeUtil::time(countDateTime), str2time("23:59:59"));
}
else
if (countDateTime == toDateTime)
{
secs +=WorkCalendarDate::calcDefinedSeconds(calendarId, DateTimeUtil::date(countDateTime),
0, DateTimeUtil::time(countDateTime));
}
else
{
secs +=WorkCalendarDate::calcDefinedSeconds(calendarId, DateTimeUtil::date(countDateTime),
0, str2time("23:59:59"));
}
countDateTime = DateTimeUtil::addDays(countDateTime,1);
}
info(strFmt("%1", secs/3600));
}