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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 28.12.2005, 11:53   #1  
Aslan is offline
Aslan
Участник
 
98 / 10 (1) +
Регистрация: 23.08.2005
Адрес: Астана
AddRange под вопросом
В Range есть такая строка
qbds.addRange(fieldnum(EmplTable,PayEmploymentDate_RU)).value(queryRange(datenull()+1,toDate));
или тоже самое что
SELECT * FROM EmplTable WHERE ((PayEmploymentDate_RU<=28.12.2005))
а как к этому range прибавить ещё что PayEmploymentDate_RU не равно нулю?
Кто знает помогите новичку. Заранее спасибо
Старый 28.12.2005, 11:58   #2  
kashperuk is offline
kashperuk
Участник
Аватар для kashperuk
MCBMSS
Соотечественники
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,361 / 2084 (78) +++++++++
Регистрация: 30.05.2004
Адрес: Atlanta, GA, USA
ну, именно в данном случае, должно сработать
QueryBuildRange qbr = qbds.findRange(fieldNum(EmplTable, PayEmploymentDate_RU));
qbr.value(queryRangeConcat(qbr.value(), SysQuery::valueNotEmptyString());

Правда не равно нулю у вас странно написано - 0 вообще не очень соответствует формату даты. Я написал - не пустая дата. Думаю, вам это нужно было
Старый 28.12.2005, 12:03   #3  
Aslan is offline
Aslan
Участник
 
98 / 10 (1) +
Регистрация: 23.08.2005
Адрес: Астана
не работает а есть какие нить ещё способы?
Старый 28.12.2005, 12:04   #4  
kashperuk is offline
kashperuk
Участник
Аватар для kashperuk
MCBMSS
Соотечественники
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,361 / 2084 (78) +++++++++
Регистрация: 30.05.2004
Адрес: Atlanta, GA, USA
а почему не работает?Должно вообще
что выводит по qbds.toString()?
Старый 28.12.2005, 12:09   #5  
kashperuk is offline
kashperuk
Участник
Аватар для kashperuk
MCBMSS
Соотечественники
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,361 / 2084 (78) +++++++++
Регистрация: 30.05.2004
Адрес: Atlanta, GA, USA
Вот, этот job у меня выдает Дата < условия(today()) и не равно ""

Query q = new Query();
QueryBuildDataSource qbds = q.addDataSource(tablenum(InventTrans));
QueryBuildRange qbr = qbds.addRange(fieldNum(InventTrans, DatePhysical));
;
qbr.value(queryRange(datenull()+1,today()));
qbr.value(queryRangeConcat(qbr.value(), SysQuery::valueNotEmptyString()));
info(qbds.toString());
Старый 28.12.2005, 12:10   #6  
Aslan is offline
Aslan
Участник
 
98 / 10 (1) +
Регистрация: 23.08.2005
Адрес: Астана
выводит SELECT * FROM EmplTable WHERE ((NOT (PayEmploymentDate_RU = ))
но почему то условие не выполняется может у меня неправильно построен запрос?
Старый 28.12.2005, 12:15   #7  
kashperuk is offline
kashperuk
Участник
Аватар для kashperuk
MCBMSS
Соотечественники
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,361 / 2084 (78) +++++++++
Регистрация: 30.05.2004
Адрес: Atlanta, GA, USA
выполните job - что там выводит?
У вас заменяет просто ваше значение - возможно, вы непреавильно написали все-таки вот эту строку которую я привел.

В вашем случае, полный запрос должен выглядеть вот так:

query q = new Query();
QueryBuildDataSource qbds = q.addDataSource(tableNum(EmplTable));
QueryBuildRange qbr = qbds.addRange(fieldnum(EmplTable,PayEmploymentDate_RU));
;
qbr.value(queryRange(datenull()+1,toDate));
qbr.value(queryRangeConcat(qbr.value(), SysQuery::valueNotEmptyString());
Старый 28.12.2005, 12:32   #8  
Aslan is offline
Aslan
Участник
 
98 / 10 (1) +
Регистрация: 23.08.2005
Адрес: Астана
у меня имеено так всё и написано......
почему он выводит мне в отчёт людей с пустыми датами приема...не могу понять лазаю в дебагере
Старый 28.12.2005, 16:45   #9  
Zan is offline
Zan
Участник
 
104 / 25 (1) +++
Регистрация: 22.07.2004
Адрес: I live in Moscow
qbr.value(queryRangeConcat(qbr.value(), SysQuery::valueNot(datenull()));

в сиквеле нулевые даты (как Вы говорите) храняться со значение 01.01.1900
Старый 30.12.2005, 20:01   #10  
Aslan is offline
Aslan
Участник
 
98 / 10 (1) +
Регистрация: 23.08.2005
Адрес: Астана
Всё люди спасибо Вам я разобрался....оказалось что просто в ClassDeclasation объявлял toDate а потом пытался изменить его значение...вот оно мне и давало с диалога только дату...
Спасибо Вам
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Axapta 3.0SP3RU под Oracle 9.2.* RDBMS George V. Tavrizoff DAX: Администрирование 7 24.10.2008 12:29
Установка Dynamics 4.0 под Oracle Paul_ST DAX: Администрирование 6 20.04.2007 16:36
AX-4.0 Права для службы под которой работает сервис AOS Lemming DAX: Администрирование 18 15.03.2007 18:22
AddRange не фильтрует Ихъ бин программикеер DAX: Программирование 6 01.09.2006 14:27
Расширенный AddRange и OuterJoin Russland DAX: Программирование 0 04.07.2006 16:36

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

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

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