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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 23.08.2007, 18:17   #1  
petr is offline
petr
Участник
Соотечественники
 
561 / 201 (8) ++++++
Регистрация: 30.05.2005
Адрес: Швейцария
Извините, возможно сбил вас с верного пути, который указал konopello. Вот код, который работает для таблицы InventTrans. Надо поменять только на вашу ReqPo:
X++:
public void init()
{
    QueryBuildDataSource    inventColorDataSource;
    QueryBuildRange         inventColorItemRange;
    ;

    super();

    inventColorDataSource   = this.query().dataSourceTable(tableNum(InventColor));
    inventColorItemRange    = inventColorDataSource.addRange(fieldNum(InventColor, DataAreaId));
    inventColorItemRange.value(strFmt('((%1.%2 == %3.%4)))',
                                      inventColor_ds.name(),
                                      fieldStr(InventColor, ItemId),
                                      inventTrans_ds.name(),
                                      fieldStr(InventTrans, ItemId)));
}
И AutoQuery = true.

Успехов!
Старый 24.08.2007, 11:00   #2  
npokypatop is offline
npokypatop
Злыдни
Сотрудники компании It Box
Злыдни
 
60 / 14 (1) ++
Регистрация: 28.09.2005
Адрес: Нюрнберг
Цитата:
Сообщение от petr Посмотреть сообщение
Извините, возможно сбил вас с верного пути, который указал konopello. Вот код, который работает для таблицы InventTrans. Надо поменять только на вашу ReqPo:
X++:
public void init()
{
    QueryBuildDataSource    inventColorDataSource;
    QueryBuildRange         inventColorItemRange;
    ;

    super();

    inventColorDataSource   = this.query().dataSourceTable(tableNum(InventColor));
    inventColorItemRange    = inventColorDataSource.addRange(fieldNum(InventColor, DataAreaId));
    inventColorItemRange.value(strFmt('((%1.%2 == %3.%4)))',
                                      inventColor_ds.name(),
                                      fieldStr(InventColor, ItemId),
                                      inventTrans_ds.name(),
                                      fieldStr(InventTrans, ItemId)));
}
И AutoQuery = true.

Успехов!

Спасибо, Петр, оно заработало Оказалось, что дохло оно из-за того, что ReqPO тоже был привязан... к сгруппированному ReqPO (ReqPOGroup). Сильно систему клинило...
__________________
Все может быть и быть все может, все может быть или не быть,
но быть того никак не может, чего совсем не может быть.
Старый 24.08.2007, 11:07   #3  
npokypatop is offline
npokypatop
Злыдни
Сотрудники компании It Box
Злыдни
 
60 / 14 (1) ++
Регистрация: 28.09.2005
Адрес: Нюрнберг
Цитата:
Сообщение от Dron AKA andy Посмотреть сообщение
А это уже явный OuterJoin.
Да, но проблема в том, что использовать existsJoin и outerJoin надо одновременно. То есть PS относился к первой же проблеме - чтоб отображались и те записи из ReqPO, в InventDim которых InventSizeId и не заполнен даже...
И, мне кажется, existsJoin несколько неправильно использовать, строка-то одна в гриде будет, но мне-то нужен не любой InventSize, а именно тот, у которого ItemId совпадает с ReqPOшным.
__________________
Все может быть и быть все может, все может быть или не быть,
но быть того никак не может, чего совсем не может быть.
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Как собрать запрос? moid DAX: Программирование 11 02.07.2007 12:07
Почему join запрос разбивается на подзапросы!? 3oppo DAX: Программирование 59 28.06.2007 11:52
Запрос по двум таблицам fialka DAX: Программирование 17 15.12.2006 14:36
Не работает запрос на нескольких компаниях Bega DAX: Программирование 3 16.09.2005 10:21
Как выполнить запрос созданный в переменной ddadream DAX: Программирование 12 27.02.2002 14:57

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

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

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