Показать сообщение отдельно
Старый 05.02.2013, 19:22   #1  
plumbum is offline
plumbum
Участник
Соотечественники
 
182 / 86 (3) ++++
Регистрация: 07.12.2007
Адрес: Vienna, AT
validTimeState не работает для join
Заметил одну особенность нововведения в AX2012 (validTimeState):

если в запросе указать эту функцию к главное таблице, все пройдет "гладко". Однако, если тоже самое проделать для подчененной таблицы из Join, компилятор сгенирирует ошибку:

X++:
LogisticsPostalAddressView   address;
    DirPartyLocation             location;
    DirPartyTable                party;
    utcDateTime                  fromDateTime = DateTimeUtil::anyToDateTime(dateNull());
    utcDateTime                  toDateTime   = DateTimeUtil::utcNow();
    
    ;
    
    //1. no compilation error
    select firstOnly validTimeState(fromDateTime, toDateTime)
            * from location
        join party
        where party.Name  like "*plumbum*"
           && party.RecId ==   location.Party
        join address
            where address.countryRegionId == "UA";
    
    //2. compilation error
    select firstOnly party
        where party.Name like "*plumbum*"
        join validTimeState(dateNull(), systemDateGet()) // the error is here
            * from location
            where location.Party == party.RecId
        join address
            where address.countryRegionId == "UA";
интересно, это недоработка или умышленное ограничение, связанное с планом построения запроса...
__________________
http://www.axdevposts.blogspot.com
Пришел, уведел.... отойди, дай другому увидеть!

Последний раз редактировалось plumbum; 05.02.2013 в 19:23. Причина: правописание (blush)