![]() |
#1 |
Программер
|
Не работает условие по дате.
Есть запрос по проводкам:
Код: EXISTS JOIN InventTrans WHERE InventTable.ItemId == InventTrans.ItemId && InventTrans.inventDimId == 'AAAAJWTIQ' && InventTrans.DatePhysical >= str2DateDMY('12.03.2015') && InventTrans.DatePhysical <= str2DateDMY('12.03.2015') Если же убрать одно из условий по дате, например так Код: EXISTS JOIN InventTrans WHERE InventTable.ItemId == InventTrans.ItemId && InventTrans.inventDimId == 'AAAAJWTIQ' && InventTrans.DatePhysical >= str2DateDMY('12.03.2015') В чем может быть причина? |
|
![]() |
#2 |
Участник
|
А просто по условию равенства отрабатывает?
InventTrans.DatePhysical == 12\03\2015
__________________
Axapta v.3.0 sp5 kr2 |
|
![]() |
#3 |
Программер
|
Нет, не срабатывает.
|
|
![]() |
#4 |
NavAx
|
Наверно в том, что нет проводок за 12.03.2015.
|
|
![]() |
#5 |
Участник
|
Вы точно уверены, что у вас есть проводки на 12 марта?
__________________
Axapta v.3.0 sp5 kr2 |
|
![]() |
#6 |
Программер
|
Да, проводки есть. Правда даты в них изначально были на 03.03. Сейчас джобом поменяли на 12.
|
|
![]() |
#7 |
Участник
|
А на 03.12 селект случайно ничего не находит?
![]()
__________________
Ivanhoe as is.. |
|
![]() |
#8 |
Участник
|
Или поменяли финансовую дату, например
__________________
Axapta v.3.0 sp5 kr2 |
|
![]() |
#9 |
Программер
|
Нет, даты в проводках 100% стоят на 12 марта.
Условие не работает что на физ. дату, что на фин. дату. При чем когда мы убираем одно условие по дате, и запрос работает. Без разницы какое условие мы оставим ">=" или "<=", запрос отработает. |
|
![]() |
#10 |
Участник
|
Смотрите, что за запрос уходит на сервер
__________________
Axapta v.3.0 sp5 kr2 |
|
![]() |
#11 |
Программер
|
Через трассировку запросов, ничего толкового не увидел. Те же условия >= и <=.
А где еще посмотреть можно? Что то я давно с таким не сталкивался ![]() |
|
![]() |
#12 |
Участник
|
А посмотреть, что именно запрос находит? В смысле, какую именно дату
X++: ItemId itemId = 'XXXXX'; InventDimId inventDimId = 'AAAAJWTIQ'; TransDate transDate = str2DateDMY('12.03.2015'); InventTrans inventTrans; ; select firstonly inventTrans order by DatePhysical asc where InventTrans.ItemId == itemId && InventTrans.inventDimId == inventDimId && InventTrans.DatePhysical >= transDate; info(strFmt('>= %1', InventTrans.DatePhysical)); select firstonly inventTrans order by DatePhysical desc where InventTrans.ItemId == itemId && InventTrans.inventDimId == inventDimId && InventTrans.DatePhysical <= transDate; info(strFmt('<= %1', InventTrans.DatePhysical));
__________________
- Может, я как-то неправильно живу?! - Отчего же? Правильно. Только зря... |
|
![]() |
#13 |
Программер
|
Результат запросов:
Цитата:
Информация Сообщение (17:29:33) >= 12.03.2015
Информация Сообщение (17:29:33) <= 04.03.2015 |
|
![]() |
#14 |
Программер
|
Точнее нет. <= не вернул 12ое число. Хотя должен был.
|
|
![]() |
#15 |
Участник
|
Цитата:
Вы можете проверить на уровне SQL-сервера, не оказалось ли записано в поле InventTrans.DatePhysical кроме даты еще и время? Именно наличие времени может привести к подобному результату.
__________________
- Может, я как-то неправильно живу?! - Отчего же? Правильно. Только зря... |
|
![]() |
#16 |
Участник
|
Если во втором запросе действительно сортировка обратная стоит, то получается неверно.
Должна быть одинаковая дата
__________________
Axapta v.3.0 sp5 kr2 |
|
![]() |
#17 |
Программер
|
Может ли быть что это из-за индексов, или еще какого кэша данных?
|
|
![]() |
#18 |
Программер
|
Время в базе данных проверяли. Стоят нули.
|
|
![]() |
#19 |
Участник
|
В том джобе, которым Вы делали замену, в качестве нового значения Вы указывали значение типа Date или UTCDateTime?
__________________
- Может, я как-то неправильно живу?! - Отчего же? Правильно. Только зря... |
|
![]() |
#20 |
Участник
|
Вы можете сделать запрос не из Axapta, а из SQL Management? Обратите внимание на значение миллисекунд в возвращаемом результате
__________________
- Может, я как-то неправильно живу?! - Отчего же? Правильно. Только зря... |
|
|
Опции темы | Поиск в этой теме |
Опции просмотра | |
|