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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 21.05.2004, 13:36   #1  
Maxim Gorbunov is offline
Maxim Gorbunov
Administrator
Соотечественники
Лучший по профессии 2009
 
2,483 / 646 (26) +++++++
Регистрация: 27.11.2001
Адрес: Dubai, UAE
Здесь дело в том, что по правилам SQL при использовании GROUP BY нельзя напрямую (в смысле, без использования агрегатной функции) выбирать в запросе поля, по которым не задана группировка. Форма InventOnHand генерирует достаточно большой запрос с кучей группировок по складским аналитикам. Когда Вы добавляете поле ItemName из InventTable Axapta сначала пытается добавить его в обычный список полей для SELECT'а, а потом, когда выясняется, что группировки по нему нет, выбрасывает его. Соответственно, запрос не возвращает значения ItemName.

Что делать. Самый простой способ - добавить в запрос агрегатную функцию по полю ItemName. Для этого в методе init() у DataSource InventTable после super() добавьте такую строчку:<div class='XPPtop'>X++</div><div class='XPP'>this.query().dataSourceTable(this.table()).addSelectionField([color=:blue]fieldnum[/color](InventTable, ItemName), SelectionField::Max);</div> Это приведет к тому, что в запросе к БД вместо SELECT ItemName появится SELECT MAX(ItemName).

Способ сложнее - исправить запрос на форме так, чтобы в нем появилась группировка по полю ItemName. Чтобы это сделать, смотрите класс InventDimCtrl_Frm_OnHand, а в нем метод modifyQuery(). Именно в этом методе в запрос, генерирующийся формой, добавляются различные группировки. Вызывается метод на форме из метода executeQuery() у DataSource InventSum.
__________________
Not registered yet? Register here!
Have comments, questions, suggestions or anything else regarding our web site? Don't hesitate, send them to me
 

Опции темы Поиск в этой теме
Поиск в этой теме:

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

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

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

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