Вы наверное все же правы:
Цитата:
Сообщение от
S.Kuskov
Нужен вариант функции Date2StrXpp, но только для utcDateTime.
Цитата:
Сообщение от
S.Kuskov
Стараюсь не путать....Я из этой статьи и брал расширенный синтаксис.
Вот этот пример я и брал за основу
X++:
queryBuildRange.value(strFmt('((%1 == %2) || ((%1 == %3) && (%4 == "%5")))',
fieldStr(InventTable, ItemType),
any2int(ItemType::Service),
any2int(ItemType::Item),
fieldStr(InventTable, ProjCategoryId),
queryValue("Spares")));
У меня так:
X++:
QueryBuildRange gbr;
;
...
gbr = this.query().dataSourceTable(tablenum(CheckpointTable_KBK)).addRange(fieldnum(CheckpointTable_KBK, ArrivalDateTime));//Дата и время Прибытия
Потом пытался делать так:
X++:
gbr.value (strFmt ( '((%1 > %2) && (%1 < %3))',
fieldStr(CheckpointTable_KBK, ArrivalDateTime),
SysQuery::value(DateTimeUtil::newDateTime(fromDateShiftOnly, 32400)),
SysQuery::value(DateTimeUtil::newDateTime(fromDateShiftOnly+1, 32400-1))
)
);
В дебагере снимаю
NAME:
gbr
VALUE:
((ArrivalDateTime > "15.01.2013 09:00:00") && (ArrivalDateTime < "16.01.2013 08:59:59"))
TYPE:
QueryBuildRange
Вроде как бы все как надо, но данных нет.
X++:
gbr.value (strFmt ( '%1..%2',
SysQuery::value(DateTimeUtil::newDateTime(fromDateShiftOnly, 32400)),
SysQuery::value(DateTimeUtil::newDateTime(fromDateShiftOnly+1, 32400-1))
)
);
В дебагере вижу
ArrivalDateTime>='2013-01-15T09:00:00' AND ArrivalDateTime<='2013-01-16T08:59:59'
Выборка есть.
Явно разнятся форматы времени и даты.