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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 02.10.2007, 10:32   #1  
konopello is offline
konopello
SAP
SAP
 
628 / 76 (4) ++++
Регистрация: 08.11.2005
Адрес: Минск
Интерестный запрос
Сталкнулся с такой ситуацией следующий запрос возвращает результаты:

X++:
// info = 1
    while select firstonly inventTrans
        where inventTrans.TransRefId == "1"
    {
        info(inventTrans.TransRefId);
    }

    // info = 1
    while select firstonly inventJournalTable
        where inventJournalTable.JournalId == "1"
    {
        info(inventJournalTable.JournalId);
    }

    // в цикл даже не заходит
    while select firstonly inventTrans
        where inventTrans.TransRefId == "1"
    join inventJournalTable
        where inventJournalTable.JournalId == inventTrans.TransRefId
    {
        info(inventTrans.TransRefId);
    }
Axapta Sp3, подскажите что это может быть?

а вот так все работает:
X++:
// а вот так все работает
    while select firstonly inventTrans
        where inventTrans.TransRefId == "1"
    {
        select inventJournalTable
            where inventJournalTable.JournalId == inventTrans.TransRefId;

        info(inventJournalTable.JournalId);
    }
??????
Старый 02.10.2007, 10:40   #2  
tourist is offline
tourist
Участник
 
21 / 14 (1) ++
Регистрация: 03.05.2006
Разное выравниваение у типов InventTransRefId(left) и InventJournalId (right)
За это сообщение автора поблагодарили: konopello (1).
Старый 02.10.2007, 10:59   #3  
ice is offline
ice
Участник
Аватар для ice
Лучший по профессии 2014
 
1,738 / 404 (17) +++++++
Регистрация: 23.03.2006
зачем цикл, если стоит firstonly?
Старый 02.10.2007, 11:07   #4  
konopello is offline
konopello
SAP
SAP
 
628 / 76 (4) ++++
Регистрация: 08.11.2005
Адрес: Минск
Цитата:
зачем цикл, если стоит firstonly?
да просто так чтобы в info-лог выдавало 1-но значение
Старый 02.10.2007, 11:28   #5  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Сообщение от konopello Посмотреть сообщение
Axapta Sp3, подскажите что это может быть?
Типы разные. Они даже не из одного семейства. И даже параметры имеют разные.
У одного 10 длина символов, а у другого - 20.

А про выравнивание мысль интересная.
С выравниванием Аксапта нормально справляется, если у типов хотя бы параметры одинаковые.
А с разными параметрами...

Точно известен случай неприводимых типов.
http://forum.mazzy.ru/index.php?showtopic=173

А вот с разными типами пока мало написано.
konopello, расскажите какое у вас выравнивание у обоих переменных, версию и сервис-пак?
__________________
полезное на axForum, github, vk, coub.
Старый 02.10.2007, 11:38   #6  
konopello is offline
konopello
SAP
SAP
 
628 / 76 (4) ++++
Регистрация: 08.11.2005
Адрес: Минск
Цитата:
А вот с разными типами пока мало написано.
konopello, расскажите какое у вас выравнивание у обоих переменных, версию и сервис-пак?
Axapta 3.0 Sp3

поле inventTrans.TransRefId:
Adjustment - right;
StringSize - 20

поле inventJournalTable.JournalId:
Adjustment - right;
StringSize - 10
Старый 02.10.2007, 11:42   #7  
konopello is offline
konopello
SAP
SAP
 
628 / 76 (4) ++++
Регистрация: 08.11.2005
Адрес: Минск
наверно придется делать что то типа этого:
X++:
while select InventTrans
        where   InventTrans.TransType  == inventTransType::InventLossProfit
        join   InventJournalTrans
        where  InventJournalTrans.InventTransId == InventTrans.InventTransId
        &&     InventJournalTrans.Voucher       == InventTrans.VoucherPhysical
        join   InventJournalTable
        where  InventJournalTable.JournalId     == InventJournalTrans.JournalId
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
передача параметров в запрос while select tolstjak DAX: Программирование 13 15.02.2009 19:39
Как собрать запрос? moid DAX: Программирование 11 02.07.2007 12:07
Почему join запрос разбивается на подзапросы!? 3oppo DAX: Программирование 59 28.06.2007 11:52
Долго отрабатывает запрос по таблице InventItemLocation AlexeyBP DAX: Администрирование 1 30.05.2007 17:33
Не работает запрос на нескольких компаниях Bega DAX: Программирование 3 16.09.2005 10:21
Опции темы Поиск в этой теме
Поиск в этой теме:

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

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

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

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