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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 23.03.2010, 13:22   #1  
S.Kuskov is offline
S.Kuskov
Участник
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3,448 / 1786 (66) ++++++++
Регистрация: 28.04.2007
Адрес: Калуга
Создаётся ощущение, что передача курсора на сервер не всегда происходит. Т.е. у сервера существует своя серверная версия курсора, которая, как оказывается, не всегда (или точнее не целиком) синхронизируется с клиенской. А именно не синхронизируется orig-часть курсора!
т.е. xTable.clear() - полностью стирает только клиенстскую версию, а на сервере курсор остаётся со старым orig.

Для эксперимента можно попробовать вручную стереть серверный orig
X++:
server static void serverClear(xTable _xTable)
{
    _xTable.clear();
}
X++:
...
    for(i = 1; i <= 5; i++)
    {
        xTable.clear();
        xTable::serverClear(xTable); // <<-----------

        xTable.Qty = i;

        diff = xTable::diff(xTable);

        info(strFmt("%1 %2", diff, xTable.Qty - xTable.orig().Qty));

        xTable.insert();
    }
результат:
0,00 1,00
2,00 2,00
3,00 3,00
4,00 4,00
5,00 5,00

P.S.: Проверил, в обратную сторону курсоры синхронизируются корректно. Т.е. clear(), вызванный на сервере стирает и клиенский orig() тоже.

Последний раз редактировалось S.Kuskov; 23.03.2010 в 13:48.
За это сообщение автора поблагодарили: Logger (4).
Теги
orig, баг

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Утечка памяти при вызове orig() gb20 DAX: Программирование 3 11.12.2009 12:11
Глюк orig() в 3-tier или я чего-то не понимаю? olesh DAX: Программирование 2 26.07.2007 13:09

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

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

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