Показать сообщение отдельно
Старый 26.07.2011, 20:17   #5  
axalex is offline
axalex
Участник
 
91 / 14 (1) ++
Регистрация: 14.03.2011
:)
Цитата:
Сообщение от mazzy Посмотреть сообщение
а какого типа поле1 и поле2?
насколько я понимаю, оба DateTime?
могут ли минуты(поля1) быть больше суток?

можно ли свести условие к следующему?
Сегодня >= дата(поле2) И минуты(поля1) > минуты(поля2)
}[/xpp]
Тип поля один - Time
Тип поля два - DateTime
В комплексе: DateTime(Date+Time)>DateTime
Да, минуты могут быть больше суток, и не одних.

Свести к Сегодня >= дата(поле2) И минуты(поля1) > минуты(поля2) можно, но учитывая сдвиг в минутах больше суток возникают задачи другого характера.

В качестве Сегодня брал:
X++:
DateTimeUtil::newDateTime(systemdateget(),timenow());
DateTimeUtil::getUserPreferredTimeZone() решил не трогать, хотя присутствует вопрос в разности часовых поясов(решу позже).

Цитата:
Сообщение от AndyD Посмотреть сообщение
Судя по использованию DateTimeUtil и полю modifiedDateTime речь идет о DAX2009 и, соответствено, о типе UTCDateTime

А так как используется метод addMinutes(), второй параметр которого int, то и поле TimeChange имеет тип, скорее всего, int и содержит смещение в в целых минутах
Всё верно DAX2009, смещение в минутах.

Решил сделать так:
X++:
while (qR.next())
    {
        ...........

        if (DateTimeUtil::addMinutes(Global_UN::serverDateTime_V(), -typeTable.TimeChange) > docTable.modifiedDateTime
            && DateTimeUtil::addMinutes(Global_UN::serverDateTime_V() , -2880) < docTable.modifiedDateTime)
        {
        ...........
        }
    }
X++:
static server UtcDateTime serverDateTime_V()
{
    return DateTimeUtil::newDateTime(systemdateget(),timenow());//DateTimeUtil::getUserPreferredTimeZone());
}
Работает быстро.. Спасибо.
__________________
С уважением, Алексей.

Последний раз редактировалось axalex; 26.07.2011 в 20:20.