Показать сообщение отдельно
Старый 26.10.2012, 14:12   #15  
AndyD is offline
AndyD
Участник
КОРУС Консалтинг
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
2,560 / 2494 (89) +++++++++
Регистрация: 20.08.2005
Цитата:
Сообщение от kashperuk Посмотреть сообщение
Вроде вот такое у меня работает, если я правильно понял и Вы хотите выбрать активные сессии:

X++:
static void Job2(Args _args)
{
    SysUserLog sysUserLogGlobal;
    utcDateTime fromDate = DateTimeUtil::getSystemDateTime();
    utcDateTime toDate = DateTimeUtil::newDateTime(mkDate(27, 10, 2012), 0);
    
    while select forUpdate sysUserLogGlobal
        where sysUserLogGlobal.createdDateTime    >= DateTimeUtil::addDays(fromDate, -1) &&
              sysUserLogGlobal.createdDateTime    <= toDate                 &&
              sysUserLogGlobal.LogoutDateTime == DateTimeUtil::minValue() &&
              sysUserLogGlobal.Type           == SysLogType::Login      &&
              sysUserLogGlobal.ClientType     == ClientType::Client
    {
        info(sysUserLogGlobal.UserId);
    }
}
Неа, это не аналог исходному запросу
X++:
void func(date fromDate, date toDate)
{
    SysUserLog sysUserLogGlobal;
    ;
    
    while select forUpdate sysUserLogGlobal
        where sysUserLogGlobal.createdDateTime    >= datetobeginUtcDateTime(fromDate-1, DateTimeUtil::getUserPreferredTimeZone()) && 
              sysUserLogGlobal.createdDateTime    <= datetoendUtcDateTime(toDate, DateTimeUtil::getUserPreferredTimeZone()) &&
              sysUserLogGlobal.LogoutDateTime == DateTimeUtil::minValue() /*или utcDateTimeNull() или просто !sysUserLogGlobal.LogoutDateTime*/ &&
              sysUserLogGlobal.Type           == SysLogType::Login      &&
              sysUserLogGlobal.ClientType     == ClientType::Client
    {
    }
}
__________________
Axapta v.3.0 sp5 kr2
За это сообщение автора поблагодарили: Sada (6).