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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 02.07.2015, 15:05   #8  
Ruff is offline
Ruff
Дмитрий Ерин
Аватар для Ruff
1C
 
475 / 396 (14) ++++++
Регистрация: 18.09.2003
Адрес: Тула
Цитата:
Сообщение от АртемМелихов Посмотреть сообщение
Судя по всему меня не понимают. если я напишу "001....009,002", то выпадет очень много записей, точнее все от 001 до 009, ибо два условия ("001..009" и "002") соединяются через или. А есть ли возможность объединить через и? Спасибо!
Судя по постановке, речь идет о том, что одно из условий накладывается программно, а второе - прилетает от пользователя? Если так, то пользовательский фильтр может сам оказаться довольно сложным (типа "001..009, 100..109, 777*"). В этом случае формировать запрос через ExtendedQuery - муторно, IMHO. Проще приджойнить таблицу саму к себе по ExistsJoin и наложить разные условия на разные DS.
Пример:
X++:
    mainQbds = query.addDataSource(tablenum(InventTable));
    mainQbds.addRange(fieldnum(InventTable, ItemId)).value("001..009, 002");

    filterQbds = mainQbds.addDataSource(tablenum(InventTable));
    filterQbds.relations(true);
    filterQbds.joinMode(JoinMode::ExistsJoin);
    filterQbds.addRange(fieldnum(InventTable, ItemId)).value("007..020, 006");
В итоге получится "пересечение множеств" (006, 007, 008, 009) - то чего вы и добиваетесь. Главный минус - громоздкость запроса (если нужно несколько таких "И", придется делать несколько джойнов).
__________________
Теги
query

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Взаимодействие с Excel через .NET (семейство классов SysExcel) gl00mie DAX: Программирование 102 11.08.2022 17:09
QueryRange и QueryFilter [AX2012] iCloud DAX: Программирование 7 10.07.2014 00:12
Условие запуска документооборота по контейнерному полю Maximin DAX: Функционал 1 11.04.2013 12:15
Ошибка с подключением через ODBC + глюк с работой через connection Corel DAX: Программирование 8 17.05.2012 11:58
Можно ли в одном select`e получить maxof и minof по одному полю? ArturK DAX: Программирование 2 28.04.2004 12:28

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

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

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