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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 23.06.2008, 09:55   #1  
Dronas is offline
Dronas
Участник
 
213 / 14 (1) ++
Регистрация: 16.11.2004
Разница в работе селектов/запросов в джобах и на формах
В джобе:
Код:
SalesPickingListJournalTable    spt;
SalesPickingListJournalLine     spl;
InventTable                     it;
;
while select spt
where spt.BD_InventJournalId != ""
        join spl
        where spl.PickingListId == spt.PickingListId
            exists join it
            where it.ItemId == spl.Itemid
            && it.ItemType == ItemType::Service
            {
                info(spt.PickingListId);
            }
Результат верный!

На форме поместил один dataSource SalesPickingListJournalTable, в init источника данных сделал следущее:
Код:
QueryBuildDataSource    qSPT, qSPL, qIT;

    super();

    qSPT = this.query().addDataSource(tablenum(SalesPickingListJournalTable));

    qSPL = qSPT.addDataSource(tablenum(SalesPickingListJournalLine));
    qSPL.addLink(fieldnum(SalesPickingListJournalTable, PickingListId),
        fieldnum(SalesPickingListJournalLine, PickingListId));

    qIT = qSPL.addDataSource(tablenum(InventTable));
    qIT.addRange(fieldnum(InventTable, ItemType)).value(queryValue(ItemType::Service));
    qIT.addLink(fieldnum(SalesPickingListJournalLine, ItemId),
        fieldnum(InventTable, ItemId));
    qIT.joinMode(JoinMode::ExistsJoin);
При просмотре запроса:
Код:
SELECT * FROM SalesPickingListJournalTable JOIN * FROM SalesPickingListJournalLine WHERE SalesPickingListJournalTable.PickingListId = SalesPickingListJournalLine.PickingListId EXISTS JOIN * FROM InventTable WHERE SalesPickingListJournalLine.Itemid = InventTable.ItemId AND ((ItemType = Услуга))
Но вот в гриде вываливается все

Последний раз редактировалось Dronas; 23.06.2008 в 09:59.
Старый 23.06.2008, 10:01   #2  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Сообщение от Dronas Посмотреть сообщение
Код:
    super();

    qSPT = this.query().addDataSource(tablenum(SalesPickingListJournalTable));
этой командой вы заставляете ДОБАВИТЬ таблицу к УЖЕ СУЩЕСТВУЮЩЕМУ запросу.
Если свойствами вы установили что форма не должна сама создавать запрос, то скорее всего Query не инициализирован и вы добавляете таблицу к неинициализированному запросу.

Если вы не меняли свойства датасорса, то форма сама уже создала запрос. А вы к нему ДОБАВЛЯЕТЕ еще одну таблицу.

Либо пересоздавайте query полностью, либо добавляйте только новые таблицы к суще существующим.
__________________
полезное на axForum, github, vk, coub.
Старый 23.06.2008, 10:04   #3  
Dronas is offline
Dronas
Участник
 
213 / 14 (1) ++
Регистрация: 16.11.2004
Цитата:
Сообщение от mazzy Посмотреть сообщение
этой командой вы заставляете ДОБАВИТЬ таблицу к УЖЕ СУЩЕСТВУЮЩЕМУ запросу.
Если свойствами вы установили что форма не должна сама создавать запрос, то скорее всего Query не инициализирован и вы добавляете таблицу к неинициализированному запросу.

Если вы не меняли свойства датасорса, то форма сама уже создала запрос. А вы к нему ДОБАВЛЯЕТЕ еще одну таблицу.

Либо пересоздавайте query полностью, либо добавляйте только новые таблицы к суще существующим.
Спасибо, верно, от выходных еще видать не отошел
Старый 23.06.2008, 10:23   #4  
Dronas is offline
Dronas
Участник
 
213 / 14 (1) ++
Регистрация: 16.11.2004
Может удалить? Все равно бесполезная тема
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Связываемые переменные при работе с Oracle axbegin DAX: Программирование 8 04.08.2009 09:42
Количество знаков отображения после запятой в формах и отчетах AX3.0 SP3 ksenia DAX: Функционал 4 07.04.2008 17:27
Ошибка при работе клиента при выборе MenuItemButton из MenuButton на любой форме Карис DAX: Администрирование 3 04.04.2008 08:56
aEremenko: Использование прямых запросов SQL Blog bot DAX Blogs 4 18.07.2007 10:09
aEremenko: Записки об использовании службы поддержки или “разница в менталитете” Blog bot DAX Blogs 0 17.04.2007 12:00

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

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

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