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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 22.03.2018, 23:58   #1  
alex55 is offline
alex55
MCTS
MCBMSS
 
224 / 145 (5) +++++
Регистрация: 13.02.2007
Адрес: Москва
Самопроизвольное наложение Order By в Query по SalesTable
Приветствую!

Обнаружил что на приложении AX4 при фильтрации SalesTable в Query по кастомному полю, добавленному на USR, самопроизвольно накладывается Order By по этому полю, при этом данный факт виден только при трассировке SQL, а если выводить текст запроса через DataSource.toString(), то никакой сортировки не видно. Если фильтровать по SalesId, например, то сортировки никакой нет. В данном случае на корректность результата не влияет, но хотелось бы понять откуда ноги растут. По полю есть неуникальный индекс, включающий dataareaId, вроде больше ничего особо примечательного.

Вопросы:
1. Нормально ли такое поведение системы и с чем оно может быть связано?
2. Возможно есть еще какие-то принципиальные моменты, которые в DataSource.toString() не видны? Вроде там обычно достаточно адекватное соответствие реальному запросу отображается.

Пример:
X++:
    SalesTable               st;
    QueryRun                queryRun;
    Query                       query;
    QueryBuildDataSource    qbdsSalesTable;
    ;

    query = new Query();

    qbdsSalesTable = query.addDataSource(tablenum(SalesTable));

    qbdsSalesTable.addRange(fieldnum(SalesTable, FIELD_NAME)).value(QueryValue('ЗНАЧЕНИЕ'));

    queryRun = new QueryRun(query);

    while (queryRun.next())
    {
        info(queryrun.query().dataSourceNo(1).toString());
    }
В инфологе:
SELECT * FROM SalesTable WHERE ((FIELD_NAME = N'ЗНАЧЕНИЕ'))

Трассировка SQL:
...
FROM SALESTABLE A WHERE ((DATAAREAID=?) AND (FIELD_NAME=?)) ORDER BY A.FIELD_NAME,A.DATAAREAID

Последний раз редактировалось alex55; 23.03.2018 в 00:13.
За это сообщение автора поблагодарили: S.Kuskov (2).
Теги
ax4.0, query, queryrange, queryrun

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
stoneridgesoftware: Placing a Sales Order on Hold in Dynamics AX 2012: Part 2 – Holding, Tracking, Overriding & Releasing Blog bot DAX Blogs 0 27.10.2016 13:11
emeadaxsupport: Microsoft Dynamics AX general performance analysis scripts page 5 Blog bot DAX Blogs 0 01.09.2014 14:11
dynamicsaxtraining: Vendor returns Blog bot DAX Blogs 0 11.10.2012 00:11
axStart: Cannot mix old-style sorting with new-style Group By or Order By on a query. Blog bot DAX Blogs 0 06.11.2008 12:05
Опции темы Поиск в этой теме
Поиск в этой теме:

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

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

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

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