05.02.2013, 19:22 | #1 |
Участник
|
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) |
|
06.02.2013, 00:41 | #2 |
Участник
|
Ошибка то какая?
Я вроде использовал подобные запросы без проблем |
|
06.02.2013, 07:47 | #3 |
Участник
|
Может быть дело в использовании функции systemDateGet()? Попробуйте заключить её вызов в скобки.
DAX 2009 RU5 - Ошибка компилятора в конструкции select |
|
21.03.2013, 13:23 | #4 |
Участник
|
+1
Удалось разобраться? Чем все закончилось? |
|
22.03.2013, 12:02 | #5 |
Участник
|
нужно объявить переменную, присвоить ей systemDateGet(), и в селекте уже переменную использовать
видел такой workaround в стандартном коде |
|
22.03.2013, 12:43 | #6 |
Участник
|
|
|
Теги |
validtimestate, ax2012 |
|
|