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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 07.02.2011, 08:24   #1  
AndyD is offline
AndyD
Участник
КОРУС Консалтинг
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
2,560 / 2494 (89) +++++++++
Регистрация: 20.08.2005
  1. fetchMode(QueryFetchMode::One2One) надо добавить к каждому вложенному датасорсу
  2. super() должен вызываться в любом случае - иначе у вас запрос на сервер не будет уходить.
  3. Если вы для обновления фильтра вызываете ExecuteQuery(), то запрос должен находиться в PurchTable_request_DS.Query()
  4. Надо обрабатывать обе ветки if (Open.checked()) - иначе без переоткрытия формы не получится снять фильтр
  5. Слишком много датасорсов на одном уровне вложенности - Аксапта может такое и не проглотить. Можно попробовать сформулировать запрос так, что бы вложенные датасорсы "цеплялись" друг за друга
__________________
Axapta v.3.0 sp5 kr2

Последний раз редактировалось AndyD; 07.02.2011 в 08:27.
Старый 07.02.2011, 08:49   #2  
kalex_a is offline
kalex_a
Участник
Аватар для kalex_a
Самостоятельные клиенты AX
MCBMSS
 
160 / 19 (1) ++
Регистрация: 26.11.2007
Адрес: Казахстан
Цитата:
Сообщение от AndyD Посмотреть сообщение
  1. fetchMode(QueryFetchMode::One2One) надо добавить к каждому вложенному датасорсу
  2. super() должен вызываться в любом случае - иначе у вас запрос на сервер не будет уходить.
  3. Если вы для обновления фильтра вызываете ExecuteQuery(), то запрос должен находиться в PurchTable_request_DS.Query()
  4. Надо обрабатывать обе ветки if (Open.checked()) - иначе без переоткрытия формы не получится снять фильтр
  5. Слишком много датасорсов на одном уровне вложенности - Аксапта может такое и не проглотить. Можно попробовать сформулировать запрос так, что бы вложенные датасорсы "цеплялись" друг за друга
Не работает, не фильтрует. ((
__________________
Лучше сделать и жалеть, чем жалеть что не сделал
Старый 07.02.2011, 09:09   #3  
S.Kuskov is offline
S.Kuskov
Участник
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3,448 / 1789 (66) ++++++++
Регистрация: 28.04.2007
Адрес: Калуга
Цитата:
Сообщение от AndyD Посмотреть сообщение
Слишком много датасорсов на одном уровне вложенности - Аксапта может такое и не проглотить.
Что бы проверить эту гипотезу, после применения фильтра посмотрите на результат следующей команды:
X++:
info(PurchTable_request_DS.query().DataSourceNo(1).ToString());
Старый 07.02.2011, 09:13   #4  
AndyD is offline
AndyD
Участник
КОРУС Консалтинг
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
2,560 / 2494 (89) +++++++++
Регистрация: 20.08.2005
Цитата:
Сообщение от S.Kuskov Посмотреть сообщение
Что бы проверить эту гипотезу, после применения фильтра посмотрите на результат следующей команды:
X++:
info(PurchTable_request_DS.query().DataSourceNo(1).ToString());
Не факт. toString() может нарисовать правильно, а вот уходить на сервер будет совершенно другой запрос

Надо включать трассировку запросов и смотреть, что реально уходит

PS Угум. А вот и подтверждение.

2kalex_a - смотрите, какой запрос уходит на сервер
__________________
Axapta v.3.0 sp5 kr2
Старый 07.02.2011, 09:21   #5  
S.Kuskov is offline
S.Kuskov
Участник
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3,448 / 1789 (66) ++++++++
Регистрация: 28.04.2007
Адрес: Калуга
Цитата:
Сообщение от AndyD Посмотреть сообщение
Не факт. toString() может нарисовать правильно, а вот уходить на сервер будет совершенно другой запрос
Честно говоря, на практике никогда не встречал такой ситуации. Всегда думал что проблема именно в парсере запросов, а не в их трансляции. В любом случае проверить никогда не повредит.

kalex_a, а если временно упростить запрос (оставить только один или два exists join), то он отработает?

Последний раз редактировалось S.Kuskov; 07.02.2011 в 09:24.
Старый 07.02.2011, 09:36   #6  
kalex_a is offline
kalex_a
Участник
Аватар для kalex_a
Самостоятельные клиенты AX
MCBMSS
 
160 / 19 (1) ++
Регистрация: 26.11.2007
Адрес: Казахстан
Цитата:
Сообщение от S.Kuskov Посмотреть сообщение
Честно говоря, на практике никогда не встречал такой ситуации. Всегда думал что проблема именно в парсере запросов, а не в их трансляции. В любом случае проверить никогда не повредит.

kalex_a, а если временно упростить запрос (оставить только один или два exists join), то он отработает?
с одним отрабатывает
__________________
Лучше сделать и жалеть, чем жалеть что не сделал
Теги
exists, query

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Query на Datasource в LookUp-форме. dynamax DAX: Программирование 26 09.10.2009 15:58
Отображение AOT_Query на форме часть 2 radya DAX: Программирование 7 05.06.2008 17:33
отображение значений query на форме fialka DAX: Программирование 13 31.07.2007 14:31
Как в форме CustTrans через query отобрать записи у которых AmountCur != 0 ( когда в QueryBuildRange ставишь value(strFmt('!0')); - не работает!) rkorchagin DAX: Программирование 12 02.04.2007 17:58
Динамическое изменение Query() на форме makos DAX: Программирование 22 05.07.2006 16:28

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

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

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