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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 20.07.2022, 07:36   #1  
Pandasama is offline
Pandasama
Участник
 
448 / 133 (5) +++++
Регистрация: 11.08.2014
Адрес: Барнаул
Ax3, join с условием противоположности суммы
Коллеги, столкнулся со странным поведением в Ax 3
Запрос вида:
X++:
while select trans
    join trans_pair
    where trans_pair.AmountMST == - trans.AmountMST
exec sp_cursoropen @p1 output,N'SELECT * FROM table A, table B WHERE (A.DATAAREAID=''XXX'') AND ((B.DATAAREAID=''XXX') AND (B.AMOUNTMST=(5.9524339E8-A.AMOUNTMST) OPTION(FAST 13)',@p3 output,@p4 output,@p5 output

И соответственно те суммы, которая в SQL противоположны, и в SQL запросе вида
where trans.amountMST = -trans_pair.amountMST - отбираются, в запросе вида
B.AMOUNTMST=(5.9524339E8-A.AMOUNTMST) - уже не отбираются.

Это как-то можно вылечить?
Старый 20.07.2022, 07:54   #2  
SRF is offline
SRF
Участник
MCBMSS
Axapta Retail User
 
362 / 542 (19) +++++++
Регистрация: 08.08.2007
Записей в блоге: 1
попробовать заменить запрос на query с расширенными условиями.
__________________
Sergey Nefedov
За это сообщение автора поблагодарили: Pandasama (2).
Старый 20.07.2022, 08:19   #3  
fed is offline
fed
Moderator
Аватар для fed
Ex AND Project
Соотечественники
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
2,890 / 5647 (194) ++++++++++
Регистрация: 13.03.2002
Адрес: Hüfingen,DE
Можно попробовать
X++:
while select trans
    join trans_pair
    where trans_pair.AmountMST == -1 * trans.AmountMST
Насчет Axapta 3.0 не уверен, но в более поздних версиях - точно работает.
За это сообщение автора поблагодарили: Pandasama (2).
Старый 20.07.2022, 08:19   #4  
Pandasama is offline
Pandasama
Участник
 
448 / 133 (5) +++++
Регистрация: 11.08.2014
Адрес: Барнаул
Да, через QueryRun удалось добиться вроде бы нужного поведения. Спасибо
Старый 20.07.2022, 08:33   #5  
S.Kuskov is offline
S.Kuskov
Участник
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3,427 / 1771 (66) ++++++++
Регистрация: 28.04.2007
Адрес: Калуга
Ещё для коллекции: AX2009 Внутреннняя ошибка номер 174 в сценарии
За это сообщение автора поблагодарили: Pandasama (2).
Старый 20.07.2022, 11:10   #6  
Pandasama is offline
Pandasama
Участник
 
448 / 133 (5) +++++
Регистрация: 11.08.2014
Адрес: Барнаул
Да, вариант
X++:
where trans_pair.AmountMST == - 1 * trans.AmountMST
тоже сработал как надо
Теги
ax 3, join

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Запросы из AX на уровне SQL как Cross Join Pokersky09 DAX: Программирование 11 13.12.2016 01:40
dynamicsaxhints: How unique index join cache works Blog bot DAX Blogs 0 30.11.2016 01:11
goshoom: Join first line in AX 2012 Blog bot DAX Blogs 0 29.06.2015 11:11
addicted2ax: Dynamics AX 2012 & SQL Server 2008R2: Cross Join vs. Inner Join – Houston we have *NO* Problem Blog bot DAX Blogs 0 20.12.2012 20:11
Глюки в Query с разными типами Join (в т.ч. NonExistsJoin) к одной таблице gl00mie DAX: Программирование 10 14.02.2007 13:22
Опции темы Поиск в этой теме
Поиск в этой теме:

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

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

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

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