AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 17.06.2008, 15:18   #1  
kashperuk is offline
kashperuk
Участник
Аватар для kashperuk
MCBMSS
Соотечественники
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,361 / 2084 (78) +++++++++
Регистрация: 30.05.2004
Адрес: Atlanta, GA, USA
Перейти на 5.0 - там UTCdatetime используется.

А если по теме - то видимо надо писать сложный фильтр такого плана:
(тек.время > время начала смены И тек.дата = дата начала смены) ИЛИ
(тек.время < время конца смены И тек.дата = дата конца смены) ИЛИ
(тек.дата > дата начала смены И тек.дата < дата конца смены) (это если смена больше суток)
Старый 17.06.2008, 17:13   #2  
Poleax is offline
Poleax
Модератор
Аватар для Poleax
MCP
MCBMSS
Злыдни
 
1,353 / 595 (22) +++++++
Регистрация: 17.02.2005
Адрес: msk
Записей в блоге: 34
Цитата:
Сообщение от kashperuk Посмотреть сообщение
Перейти на 5.0 - там UTCdatetime используется.

А если по теме - то видимо надо писать сложный фильтр такого плана:
(тек.время > время начала смены И тек.дата = дата начала смены) ИЛИ
(тек.время < время конца смены И тек.дата = дата конца смены) ИЛИ
(тек.дата > дата начала смены И тек.дата < дата конца смены) (это если смена больше суток)
Как видишь запрос собрался, я его из отладки и поймал.
SELECT * FROM MilkShifts WHERE (((StartTime < (60419 + (StartDate - 39614 )*86400)) AND ((60419 - (EndDate - 39614 )*86400)< EndTime))) AND ((StartDate<={ts '2008-06-17 00:00:00.000'})) AND ((EndDate>={ts '2008-06-17 00:00:00.000'})) AND ((StatusShift = 0)) AND ((Milk_IdGroupmaterialResponsibility = N'Гр2' OR Milk_IdGroupmaterialResponsibility = N'Гр3'))

осталось разобраться с приведением типов.

На счет запроса
(тек.время > время начала смены И тек.дата = дата начала смены) ИЛИ
(тек.время < время конца смены И тек.дата = дата конца смены) ИЛИ
(тек.дата > дата начала смены И тек.дата < дата конца смены) (это если смена больше суток)
Тек. время преобразовать в целое число?
тек. дату тоже в целое? или оставить так как strfmt делает ? ('18:10:10' и 17.06.2008)
Теги
документация, ax2009

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
axaptafreak: Label for query range cannot be modified in AX 5.0 Blog bot DAX Blogs 0 30.08.2007 16:50
axaptafreak: Label for Query Range cannot be modified (still) Blog bot DAX Blogs 2 25.07.2007 10:09
Fred Shen: Date data type in Query Range Value Expression Blog bot DAX Blogs 0 28.10.2006 16:40
Автоматическая подстановка Range в Query Владимир Максимов DAX: Программирование 9 30.03.2004 16:48
Как вытащить информацию о Range из Query raz DAX: База знаний и проекты 1 26.03.2004 11:10

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 07:16.