Цитата:
Сообщение от
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
{
}
}