AXForum  
Zurück   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Kennwort vergessen?
Registrieren Forum Rules Hilfe Benutzerliste Heutige Beiträge Suchen Alle Foren als gelesen markieren

 
 
Themen-Optionen Thema durchsuchen Ansicht
Alt 07.07.2011, 16:38   #1  
S.Kuskov ist offline
S.Kuskov
Участник
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3.449 / 1792 (66) ++++++++
Registriert seit: 28.04.2007
Ort: Калуга
Если select на сервере а next на клиенте...
Таким незамысловатым способом я хотел было вернуть выборку на клиента и там её перебрать.
X++:
static server InventTable getCursor()
//static client InventTable getCursor()
{
    InventTable InventTable;

    select InventTable;

    return InventTable;
}
X++:
static void jobTest()
{
    InventTable InventTable = testClass::getCursor();
    int cnt = 10;
    ;

    while (InventTable)
    {
        info(InventTable.ItemId);
        next InventTable;

        cnt--;
        if (!cnt) break;
    }
}
Но не тут то было. Next на клиенте упорно не хочет получать следующие записи
This post has been rated by: titov (3).
Alt 07.07.2011, 17:08   #2  
samolalex ist offline
samolalex
Участник
Benutzerbild von samolalex
Самостоятельные клиенты AX
 
259 / 107 (4) +++++
Registriert seit: 18.06.2010
Ort: Москва
Попробовал сделать так:
X++:
static void jobTest()
{
    InventTable InventTable = Class1::getCursor();
    int cnt = 10;
    ;

    while(cnt)//Заменил InventTable на cnt
    {
        info(InventTable.ItemId);
        next InventTable;
        
        cnt--;
        if (!cnt) break;
    }
}
Получил ошибку:
Zitat:
Ошибка времени выполнения. : В данном контексте команду NEXT выполнить нельзя. Возможные причины: (a) буфер инициализирован на сервере, (b)не вызван запрос SELECT, (c) SELECT вызван, но строк не найдено, или (d) данные переданы с помощью метода DATA().
Предполагаю, что причина невозможности выполнения NEXT указана в пункте (а) ошибки, потому что данная конструкция, выполненная в методе того же класса работает отлично.
__________________
С уважением, Александр.

Geändert von samolalex (07.07.2011 um 17:13 Uhr)
This post has been rated by: titov (3), S.Kuskov (3).
Alt 07.07.2011, 17:16   #3  
S.Kuskov ist offline
S.Kuskov
Участник
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3.449 / 1792 (66) ++++++++
Registriert seit: 28.04.2007
Ort: Калуга
Zitat:
Zitat von samolalex Beitrag anzeigen
Получил ошибку:
Ошибку вы получили на второй итерации, ккогда выполнение до инструкции Next дошло уже во второй раз. В этот момент значение курсора уже было NULL, из-за того что на первой итерации Next не выбрал нужной записи.

Вопрос. Почему он её не выбрал?

Zitat:
Возможные причины: (a) буфер инициализирован на сервере...
Значит всё-таки нельзя . Жаль

Geändert von S.Kuskov (07.07.2011 um 17:18 Uhr)
Alt 08.07.2011, 12:00   #4  
S.Kuskov ist offline
S.Kuskov
Участник
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3.449 / 1792 (66) ++++++++
Registriert seit: 28.04.2007
Ort: Калуга
Интересно, что если на сервере курсор сделать временным и наполнить теми же данными, то next на клиенте отработает отлично.
This post has been rated by: samolalex (2).
Stichworte
client, next, select, server

 

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
dynamicsaxtraining: Select statement patterns Blog bot DAX Blogs 10 20.08.2010 14:01
Разница NotInTTS и Found Logger DAX: База знаний и проекты 6 18.09.2008 12:35
Нюансы класса SetIterator при вызове на клиенте/сервере sparur DAX: Программирование 3 09.06.2008 13:13
Вопрос про Demand Planner slava09 DAX: Функционал 4 25.09.2006 11:43
Формат даты на сервере и клиенте bio_unit DAX: Администрирование 2 25.08.2004 16:44
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Gehe zu

Рейтинг@Mail.ru
Alle Zeitangaben in WEZ +3. Es ist jetzt 07:16 Uhr.
Powered by vBulletin® Version 3.8.5 (Deutsch)
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.