|
|
#1 |
|
Участник
|
Проблема с Query в AOT
Столкнулся с проблемой : В АОТ создаю Query , состоящую из 5 таблиц (Axapta 3.0#1951 sql2005 3-х уровневая). На корневом ДС (InventTrans) создаю relation DatePhysical, но не заполняю свойство Value в АОТ (динамически изменяемый параметр). В коде пишу следующее :
X++: SysQueryRun qr = new SysQueryRun(querystr(MyAotQuery)); qr.query(new Query(querystr(MyAotQuery))).dataSourceTable(tablenum(InventTrans)).range(2).Value(strfmt("%1 %2","<",global::date2StrXpp(01\08\2007))); if (qr.prompt()) {...} X++: //qr.query(new Query(querystr(MyAotQuery))).dataSourceTable(tablenum(InventTrans)).range(2).Value(strfmt("%1 %2","<",global::date2StrXpp(01\08\2007)));Я конечно понимаю , что можно принудительно указывать пустой параметр, но хотелось бы узнать причины такого поведения Аксапты... Что нужно сделать , чтобы пустое значение по умолчанию имело место быть ? : )) |
|
|
|
|
#2 |
|
SAP
|
по мойму у вас ситуация когда ваш query сохранился в SysLastValue и мучает вас.
|
|
|
|
|
#3 |
|
Участник
|
Цитата:
Кроме того , чистил кеш вот так: X++: xSession::removeAOC(); SysTreeNode::refreshAll(); SysFlushDictionary::main(_args); SysFlushAOD::main(_args); SysFlushData::main(_args); xSession::updateAOC(); |
|
|
|
|
#4 |
|
Участник
|
Цитата:
Кроме того , чистил кеш вот так: X++: xSession::removeAOC(); SysTreeNode::refreshAll(); SysFlushDictionary::main(_args); SysFlushAOD::main(_args); SysFlushData::main(_args); xSession::updateAOC(); |
|
|
|
|
#5 |
|
MCTS
|
Если действительно проблема с SysLastValue, то попробуйте так:
в таблице SysLastValue прибейте все строки с elementName равное MyAotQuery
__________________
![]() В глухомани, в лесу Несмотря на красу Дни проводит Лиса Патрикевна. Я никак не пойму Отчего, почему Не пускают куму На деревню |
|
|
|
|
#6 |
|
SAP
|
Цитата:
Возможно это так. Но почему в первоначальном варианте при явном указании фильтра , значение было пустым?
Кроме того , чистил кеш вот так: , может кто-то за вас их и почистил, да и вообще когда тестируется запрос его необходимо создавать в QueryRun каждый раз заново.
|
|
|
|
|
#7 |
|
Участник
|
Можно еще попробовать в коде написать
SysQueryRun.saveUserSetup(false) сразу после создания SysQueryRun Тогда она не пытается сохранять настройки в SysLastValue на вызовах SysQueryRun.prompt() и проч. Последний раз редактировалось Logger; 17.10.2007 в 16:29. |
|
|
|
| За это сообщение автора поблагодарили: radya (1). | |
|
|
#8 |
|
Участник
|
Скорее всего дело именно в SysLastValue
И вы делаете очень неправильно, пытаясь лечить его очисткой кэша, так как к кэшу он отношения не имеет. Это пользовательские настройки. |
|
|
|
|
Похожие темы
|
||||
| Тема | Ответов | |||
| palleagermark: Sample union query from AX 2009 | 0 | |||
| Dynamics AX Geek: Using query() | 0 | |||
| Проблема с составлением Query | 10 | |||
| Програмно сохранить Query в AOT | 5 | |||
| проблема с query | 7 | |||
|