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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 02.12.2013, 03:20   #1  
iCloud is offline
iCloud
Enjoy!
Аватар для iCloud
MCP
Злыдни
 
195 / 112 (4) +++++
Регистрация: 06.03.2012
Выражение и NOT
Приветствую.
Хочу поинтересоваться, кто как пишет:

Пример обычного сложного ренжа
X++:
queryBuildRange.value(strFmt('((ItemType == %1) || (ItemId == "%2"))', 
    any2int(ItemType::Service),
    queryValue("B-R14")));
А если нужно написать чтобы ItemType == %1 && ItemType != %2.
Как корректно должна выглядеть строка рэнжа?
Старый 02.12.2013, 07:33   #2  
dech is offline
dech
Участник
Аватар для dech
Самостоятельные клиенты AX
 
647 / 350 (13) ++++++
Регистрация: 25.06.2009
Адрес: Омск
Записей в блоге: 3
В этом конкретном случае никакого сложного range не нужно.
Делаем такой трюк:
X++:
qbr.value(strfmt('%1, !%2', queryValue(ItemType::Service), queryValue(ItemType::BOM)));
Возможно вы ошиблись, написав ItemType в двух случаях. Если у вас фильтр по разным полям тогда все равно можно обойтись без сложных запросов, поскольку у вас стоит &&.
X++:
qbds.addRange(fieldnum(InventTable, ItemType)).value(queryValue(ItemType::Service));
qbds.addRange(fieldnum(InventTable, ItemId)).value(strfmt('!%1', 'B-R14'));
__________________
// no comments

Последний раз редактировалось dech; 02.12.2013 в 08:21. Причина: скобочку забыл
За это сообщение автора поблагодарили: iCloud (2).
Старый 02.12.2013, 07:43   #3  
MikeR is offline
MikeR
MCT
Аватар для MikeR
MCBMSS
Лучший по профессии 2015
Лучший по профессии 2014
 
1,628 / 627 (24) +++++++
Регистрация: 28.11.2005
Адрес: просто землянин
Есть более расширенная статься про написание выражений в queryrange
__________________
Axapta book for developer
Старый 02.12.2013, 07:52   #4  
dech is offline
dech
Участник
Аватар для dech
Самостоятельные клиенты AX
 
647 / 350 (13) ++++++
Регистрация: 25.06.2009
Адрес: Омск
Записей в блоге: 3
Что касается сложных запросов, буквально недавно скидывал ссылку Complex Query Ranges
__________________
// no comments
Старый 02.12.2013, 09:27   #5  
S.Kuskov is offline
S.Kuskov
Участник
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3,440 / 1775 (66) ++++++++
Регистрация: 28.04.2007
Адрес: Калуга
Ещё может быть любопытным Отличия операторов ! и != в фильтрах
Старый 02.12.2013, 14:16   #6  
iCloud is offline
iCloud
Enjoy!
Аватар для iCloud
MCP
Злыдни
 
195 / 112 (4) +++++
Регистрация: 06.03.2012
Thumbs up
Цитата:
Сообщение от dech Посмотреть сообщение
В этом конкретном случае никакого сложного range не нужно.
Делаем такой трюк:
X++:
qbr.value(strfmt('%1, !%2', queryValue(ItemType::Service), queryValue(ItemType::BOM)));
Возможно вы ошиблись, написав ItemType в двух случаях. Если у вас фильтр по разным полям тогда все равно можно обойтись без сложных запросов, поскольку у вас стоит &&.
X++:
qbds.addRange(fieldnum(InventTable, ItemType)).value(queryValue(ItemType::Service));
qbds.addRange(fieldnum(InventTable, ItemId)).value(strfmt('!%1', 'B-R14'));
То что нужно, вот спасибо! И да, ошибся, конечно

Цитата:
Сообщение от MikeR Посмотреть сообщение
Есть более расширенная статься про написание выражений в queryrange
Спасибо, уже читал эту замечательную статью

Цитата:
Сообщение от dech Посмотреть сообщение
Что касается сложных запросов, буквально недавно скидывал ссылку Complex Query Ranges
Цитата:
Сообщение от S.Kuskov Посмотреть сообщение
Ещё может быть любопытным Отличия операторов ! и != в фильтрах
Спасибо за интересные ссылки, очень интересно!

Вопрос снят! Исчерпывающе.
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
emeadaxsupport: AX 2012 Print destination settings dialog does not show up due to WMI error Blog bot DAX Blogs 0 27.09.2012 05:20
emeadaxsupport: The Dynamics AX 2009 AOS does not start with "The license information can not be decoded" error Blog bot DAX Blogs 0 22.09.2010 23:05
The Death of Reason: How Not to Annoy Your Consulting Manager Blog bot DAX Blogs 0 29.06.2010 13:05
emeadaxsupport: Warning when loading license file - License value for ID 2024 has not been created (or License value for ID 2025 has not been created) Blog bot DAX Blogs 0 12.01.2010 04:44
emeadaxsupport: AxUpdatePortal.exe does not update Enterprise Portal when not running from an elevated command prompt Blog bot DAX Blogs 0 26.07.2009 15:07

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

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

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