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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 17.10.2007, 13:50   #1  
radya is offline
radya
Участник
 
16 / 10 (1) +
Регистрация: 07.05.2007
Адрес: Москва
Проблема с 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())
{...}
При инициализации формы параметров (SysQueryForm) вчера весь вечер поле DatePhysical было пустое(не указан параметр 01\08\2007). Ушел домой, плюнул : )). И о-чудо с утра после перезапуска Ах поле параметра DatePhysical заполнено!!. Что я делаю дальше ? комментирую строку с параметром
X++:
//qr.query(new Query(querystr(MyAotQuery))).dataSourceTable(tablenum(InventTrans)).range(2).Value(strfmt("%1  %2","<",global::date2StrXpp(01\08\2007)));
Но параметр заполнен значением, не помогает даже чистка кеша (SysFlushAod,SysFlushDictonary,SysFlushData) и перезапуск Аксапты. Прям барабашка какой -то : ))
Я конечно понимаю , что можно принудительно указывать пустой параметр, но хотелось бы узнать причины такого поведения Аксапты...
Что нужно сделать , чтобы пустое значение по умолчанию имело место быть ? : ))
Старый 17.10.2007, 14:45   #2  
konopello is offline
konopello
SAP
SAP
 
628 / 76 (4) ++++
Регистрация: 08.11.2005
Адрес: Минск
по мойму у вас ситуация когда ваш query сохранился в SysLastValue и мучает вас.
Старый 17.10.2007, 15:13   #3  
radya is offline
radya
Участник
 
16 / 10 (1) +
Регистрация: 07.05.2007
Адрес: Москва
Цитата:
Сообщение от konopello Посмотреть сообщение
по мойму у вас ситуация когда ваш query сохранился в SysLastValue и мучает вас.
Возможно это так. Но почему в первоначальном варианте при явном указании фильтра , значение было пустым?
Кроме того , чистил кеш вот так:
X++:
xSession::removeAOC();    SysTreeNode::refreshAll();    SysFlushDictionary::main(_args);    SysFlushAOD::main(_args);    SysFlushData::main(_args);    xSession::updateAOC();
(воспользовался советом из предыдущих топиков)
Старый 17.10.2007, 15:34   #4  
radya is offline
radya
Участник
 
16 / 10 (1) +
Регистрация: 07.05.2007
Адрес: Москва
Цитата:
Сообщение от konopello Посмотреть сообщение
по мойму у вас ситуация когда ваш query сохранился в SysLastValue и мучает вас.
Возможно это так. Но почему в первоначальном варианте при явном указании фильтра , значение было пустым?
Кроме того , чистил кеш вот так:
X++:
xSession::removeAOC();    SysTreeNode::refreshAll();    SysFlushDictionary::main(_args);    SysFlushAOD::main(_args);    SysFlushData::main(_args);    xSession::updateAOC();
(воспользовался советом из предыдущих топиков)
Старый 17.10.2007, 15:43   #5  
Russland is offline
Russland
MCTS
Аватар для Russland
MCBMSS
 
267 / 116 (4) +++++
Регистрация: 17.10.2005
Адрес: Донеччина, Україна
Если действительно проблема с SysLastValue, то попробуйте так:
в таблице SysLastValue прибейте все строки с elementName равное MyAotQuery
__________________

В глухомани, в лесу Несмотря на красу Дни проводит Лиса Патрикевна. Я никак не пойму Отчего, почему Не пускают куму На деревню
Старый 17.10.2007, 16:11   #6  
konopello is offline
konopello
SAP
SAP
 
628 / 76 (4) ++++
Регистрация: 08.11.2005
Адрес: Минск
Цитата:
Возможно это так. Но почему в первоначальном варианте при явном указании фильтра , значение было пустым?
Кроме того , чистил кеш вот так:
я по молодости любил не только свои настройки чистить но чужие , может кто-то за вас их и почистил, да и вообще когда тестируется запрос его необходимо создавать в QueryRun каждый раз заново.
Старый 17.10.2007, 16:18   #7  
Logger is offline
Logger
Участник
Лучший по профессии 2015
Лучший по профессии 2014
 
3,953 / 3230 (115) ++++++++++
Регистрация: 12.10.2004
Адрес: Москва
Записей в блоге: 2
Можно еще попробовать в коде написать
SysQueryRun.saveUserSetup(false)
сразу после создания SysQueryRun

Тогда она не пытается сохранять настройки в SysLastValue
на вызовах SysQueryRun.prompt() и проч.

Последний раз редактировалось Logger; 17.10.2007 в 16:29.
За это сообщение автора поблагодарили: radya (1).
Старый 17.10.2007, 17:28   #8  
kashperuk is offline
kashperuk
Участник
Аватар для kashperuk
MCBMSS
Соотечественники
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,361 / 2084 (78) +++++++++
Регистрация: 30.05.2004
Адрес: Atlanta, GA, USA
Скорее всего дело именно в SysLastValue
И вы делаете очень неправильно, пытаясь лечить его очисткой кэша, так как к кэшу он отношения не имеет. Это пользовательские настройки.
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
palleagermark: Sample union query from AX 2009 Blog bot DAX Blogs 0 11.07.2008 20:05
Dynamics AX Geek: Using query() Blog bot DAX Blogs 0 28.10.2006 16:40
Проблема с составлением Query axaLearner DAX: Программирование 10 01.12.2005 15:00
Програмно сохранить Query в AOT Julija DAX: Программирование 5 01.01.2005 09:36
проблема с query EreminIgor DAX: Программирование 7 11.10.2004 16:57

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

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

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