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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 26.01.2015, 15:15   #1  
Art_Tanis is offline
Art_Tanis
Участник
 
225 / 36 (2) +++
Регистрация: 04.02.2014
Проблема с Query
Добрый день!
Подскажите как правильно сделать?
Через select конечно же все работает но надо через query
Запрос через select
Код:
select CustTrans
         where custTrans.TransDate <= systemGetData() &&
            custTrans.Closed == dateNull() ||  custTrans.Closed > systemGetData()
Пытаюсь так но ошибка
Код:
void InitQuery()
{
    Query                   query = new Query();
    QueryBuildDataSource    qbds;
    ;

    qbds = query.addDataSource(tablenum(CustTrans),"_custTrans");
    qbds.addRange(fieldnum(CustTrans, TransDate)).value(strfmt('((%1 <= %2))', fieldstr(CustTrans, TransDate), systemDateGet()));
    qbds.addRange(fieldnum(CustTrans, Closed)).value(strfmt('((%1 == %2) || (%1 > %3))', fieldstr(CustTrans, Closed), DateNULL(), systemDateGet()));

    queryRun = new QueryRun(Query);
}
Старый 26.01.2015, 15:40   #2  
Ruff is offline
Ruff
Дмитрий Ерин
Аватар для Ruff
1C
 
475 / 396 (14) ++++++
Регистрация: 18.09.2003
Адрес: Тула
Для вашего случая можно обойтись обычными (не "расширенными" Range). Посмотрите в качестве примера метод \Classes\RLedgerSheetEngine_TurnoverCustVend\initRunQuery() (там не точно ваш запрос, но очень похожий).
__________________
Старый 26.01.2015, 17:16   #3  
michel1971 is offline
michel1971
Участник
 
76 / 63 (3) ++++
Регистрация: 14.01.2011
а если вот так?
X++:
qbds.addRange(fieldnum(CustTrans, Closed)).value(SysQuery::range(systemdateget(), datemax()));
qbds.addRange(fieldnum(CustTrans, Closed)).value(queryvalue(datenull()));
Старый 26.01.2015, 17:55   #4  
gl00mie is offline
gl00mie
Участник
MCBMSS
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,684 / 5788 (200) ++++++++++
Регистрация: 28.11.2005
Адрес: Москва
Записей в блоге: 3
Цитата:
Сообщение от Art_Tanis Посмотреть сообщение
X++:
qbds.addRange(fieldnum(CustTrans, Closed)).value(strfmt('((%1 == %2) || (%1 > %3))', fieldstr(CustTrans, Closed), DateNULL(), systemDateGet()));
Для расширенного range даты надо форматировать с помощью date2StrXpp():
X++:
qbds.addRange(fieldnum(CustTrans, Closed)).value(strfmt('((%1 == %2) || (%1 > %3))', fieldstr(CustTrans, Closed), date2StrXpp(dateNull()), date2StrXpp(systemDateGet())));
За это сообщение автора поблагодарили: IvanS (1).
Старый 26.01.2015, 18:37   #5  
Art_Tanis is offline
Art_Tanis
Участник
 
225 / 36 (2) +++
Регистрация: 04.02.2014
Супер! Большое спасибо. Помогло.
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
emeadaxsupport: Microsoft Dynamics AX general performance analysis scripts page 5 Blog bot DAX Blogs 0 01.09.2014 14:11
Проблема с Query в AOT radya DAX: Программирование 7 17.10.2007 17:28
Проблема с составлением Query axaLearner DAX: Программирование 10 01.12.2005 15:00
проблема с query EreminIgor DAX: Программирование 7 11.10.2004 16:57
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

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

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

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 14:41.
Powered by vBulletin® v3.8.5. Перевод: zCarot
Контактная информация, Реклама.