Показать сообщение отдельно
Старый 26.12.2011, 16:47   #5  
wolfstein is offline
wolfstein
Axapta Retail User
Axapta Retail User
 
51 / 91 (4) ++++
Регистрация: 05.07.2006
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));
}
За это сообщение автора поблагодарили: AngelDominantes (1).