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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 14.02.2007, 18:02   #1  
EVGL is offline
EVGL
Banned
Соотечественники
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
4,445 / 3001 (0) ++++++++++
Регистрация: 09.07.2002
Адрес: Parndorf, AT
noFetch в Query(Run)
Знает ли кто-нибудь, можно ли извлечь курсор в режиме noFetch при наличии только класса Query (QueryRun)? (Курсор используется в дальнейшем для создания RecordViewCache.)
Старый 14.02.2007, 18:20   #2  
Jony is offline
Jony
Участник
 
99 / 22 (1) +++
Регистрация: 25.06.2003
Адрес: г. Барнаул
new dictTable(query.dataSourceNo(1).table()).makeRecord() - не оно ??

т.е. надо получить курсор на таблицу, имея только запрос (query) по ней ?
ПС: может быть не оч понятный вопрос .

Последний раз редактировалось Jony; 14.02.2007 в 18:22.
Старый 14.02.2007, 18:27   #3  
EVGL is offline
EVGL
Banned
Соотечественники
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
4,445 / 3001 (0) ++++++++++
Регистрация: 09.07.2002
Адрес: Parndorf, AT
Цитата:
Сообщение от Jony Посмотреть сообщение
new dictTable(query.dataSourceNo(1).table()).makeRecord() - не оно ??
Не оно. Мне надо сохранить Ranges.
Старый 14.02.2007, 18:30   #4  
Jony is offline
Jony
Участник
 
99 / 22 (1) +++
Регистрация: 25.06.2003
Адрес: г. Барнаул
Если чесно, не очень понятно что нужно поучить.
Старый 14.02.2007, 18:31   #5  
EVGL is offline
EVGL
Banned
Соотечественники
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
4,445 / 3001 (0) ++++++++++
Регистрация: 09.07.2002
Адрес: Parndorf, AT
Цитата:
Сообщение от Jony Посмотреть сообщение
Если чесно, не очень понятно что нужно поучить.
Табличную переменную типа Common.
Старый 14.02.2007, 23:42   #6  
Jony is offline
Jony
Участник
 
99 / 22 (1) +++
Регистрация: 25.06.2003
Адрес: г. Барнаул
мде...краткость сестра таланта видать.
Старый 14.02.2007, 23:46   #7  
Jabberwocky is offline
Jabberwocky
Microsoft Dynamics
Аватар для Jabberwocky
Сотрудники Microsoft Dynamics
 
274 / 307 (11) ++++++
Регистрация: 02.09.2005
Адрес: Москва
Попробуйте так:
X++:
queryRun.setCursor(common);
__________________
You should use Bing before asking dumb questions.
Старый 15.02.2007, 13:45   #8  
EVGL is offline
EVGL
Banned
Соотечественники
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
4,445 / 3001 (0) ++++++++++
Регистрация: 09.07.2002
Адрес: Parndorf, AT
Цитата:
Сообщение от Jabberwocky Посмотреть сообщение
Попробуйте так:
X++:
queryRun.setCursor(common);
Попробовал. Как и требовалось доказать, не работает, поскольку setCursor() передает курсор, а не извлекает.

Т.е. приведенный ниже код
X++:
RecordViewCache prepareCalcTransBuffer()
{
    BOMCalcTransMap     buffer = this.calcTransBuffer();
    Query               query = this.calcTransQuery();
    QueryRun            queryRun;
    ;

    queryRun = new QueryRun(query);
    queryRun.setCursor(buffer);

    rvcCalcTrans = new RecordViewCache(buffer);

    return rvcCalcTrans;
}
бессмысленен и выдает, как и прежде, ошибку "The cursor is invalid for instantiating recordViewCache".

В противоположность этому, вот такой вариант работает:
X++:
RecordViewCache prepareCalcTransBuffer()
{
    BOMCalcTrans    buffer;

    select noFetch buffer
        where buffer.PriceCalcId    == priceCalcId;

    rvcCalcTrans = new RecordViewCache(buffer);

    return rvcCalcTrans;
}
, но недостаточно абстрагирован.

Ладно, я все понял. Либо сделать то, что я хочу, невозможно, либо никто не знает.

Последний раз редактировалось EVGL; 15.02.2007 в 13:54.
Старый 15.02.2007, 13:56   #9  
raz is offline
raz
NavAx
Аватар для raz
NavAx Club
Лучший по профессии 2014
Лучший по профессии 2009
 
1,494 / 1065 (38) ++++++++
Регистрация: 22.07.2003
Адрес: МО
так тоже не работает?
X++:
    queryRun = new QueryRun(query);

    rvcCalcTrans = new RecordViewCache(queryRun.getNo(1));
Или надо queryRun.next(), что все портит?

Последний раз редактировалось raz; 15.02.2007 в 13:59.
Старый 15.02.2007, 14:02   #10  
EVGL is offline
EVGL
Banned
Соотечественники
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
4,445 / 3001 (0) ++++++++++
Регистрация: 09.07.2002
Адрес: Parndorf, AT
И вот мы опять вернулись к началу темы. Нет, не работает, поскольку не хватает nofetch
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Dynamics AX: QueryRun and Query Objects - Binding operation failed to allocate buffer space Blog bot DAX Blogs 0 03.04.2009 08:05
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
Установка условия ИЛИ (OR) в Query Zeratul DAX: Программирование 3 22.06.2006 14:28
Проблема с составлением Query axaLearner DAX: Программирование 10 01.12.2005 15:00
Опции темы Поиск в этой теме
Поиск в этой теме:

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

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

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

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