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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 05.12.2013, 02:54   #1  
wojzeh is offline
wojzeh
Участник
Аватар для wojzeh
Соотечественники
 
674 / 512 (19) +++++++
Регистрация: 27.04.2006
Адрес: Montreal
баг в классе PriceDisc
коллеги, а почему буфер таблицы PriceDiscTable в методе

X++:
PriceDiscTable  priceTable()
{
    return actualPriceTable;
}
всегда пуст?

при этом правильная цена и прочие параметры вроде markup находятся верно.

AX 2012 R2
__________________
Felix nihil admirari
Старый 05.12.2013, 10:03   #2  
Sada is offline
Sada
Программатор
Аватар для Sada
 
1,450 / 153 (8) ++++++
Регистрация: 29.03.2005
Адрес: Толи Барнаул, толи Москва
инитится в методе findPriceAgreement или findPriceAgreementByLocation. Может туда не доходит выполнение кода?
Старый 05.12.2013, 11:15   #3  
b_nosoff is offline
b_nosoff
Читатель
Аватар для b_nosoff
MCP
MCBMSS
 
197 / 143 (5) +++++
Регистрация: 01.12.2004
Адрес: Msk
Записей в блоге: 13
Если у вас стоит priceDiscTable.SearchAgain, то, наверное, проявился вот этот косячок:
вместо
X++:
actualPriceTable        = priceDiscTable.data();
в findPriceAgreement теперь
X++:
actualPriceTable        = priceDiscTable;
и курсор, как это ни странно, на следующем шаге очищается...

PS. Если есть возможность, зарегистрируйте в MS, пожалуйста.
__________________
Axapta non erubescit

Последний раз редактировалось b_nosoff; 05.12.2013 в 12:43. Причина: ЗЫ
За это сообщение автора поблагодарили: wojzeh (1).
Старый 05.12.2013, 18:33   #4  
wojzeh is offline
wojzeh
Участник
Аватар для wojzeh
Соотечественники
 
674 / 512 (19) +++++++
Регистрация: 27.04.2006
Адрес: Montreal
Цитата:
Сообщение от b_nosoff Посмотреть сообщение
Если у вас стоит priceDiscTable.SearchAgain, то, наверное, проявился вот этот косячок:
вместо
X++:
actualPriceTable        = priceDiscTable.data();
в findPriceAgreement теперь
X++:
actualPriceTable        = priceDiscTable;
и курсор, как это ни странно, на следующем шаге очищается...

PS. Если есть возможность, зарегистрируйте в MS, пожалуйста.
так вот я вчера в дебаггере поползал по всему коду, но так и не понял, почему он очищается, а главное -- где?

прописал везде свою строчку, где сохраняю в новую переменную ссылку на запись -- она отлично передаётся в параметрах по результатам выполнения findPrice().
__________________
Felix nihil admirari
Старый 05.12.2013, 19:50   #5  
wojzeh is offline
wojzeh
Участник
Аватар для wojzeh
Соотечественники
 
674 / 512 (19) +++++++
Регистрация: 27.04.2006
Адрес: Montreal
Цитата:
Сообщение от b_nosoff Посмотреть сообщение
Если у вас стоит priceDiscTable.SearchAgain, то, наверное, проявился вот этот косячок:
вместо
X++:
actualPriceTable        = priceDiscTable.data();
в findPriceAgreement теперь
X++:
actualPriceTable        = priceDiscTable;
и курсор, как это ни странно, на следующем шаге очищается...

PS. Если есть возможность, зарегистрируйте в MS, пожалуйста.
поправил -- работает!

гран мерси!
__________________
Felix nihil admirari
Старый 05.12.2013, 19:57   #6  
SRF is offline
SRF
Участник
MCBMSS
Axapta Retail User
 
375 / 562 (19) +++++++
Регистрация: 08.08.2007
Записей в блоге: 1
Выполните джоб и все станет ясно.

X++:
static void TestCursors(Args _args)
{
    PriceDiscTable      priceDiscTable;
    PriceDiscTable      priceDiscTableActual;
    PriceDiscTable      priceDiscTableActualData;
    ;
    
    while select firstOnly10 priceDiscTable
    {
        priceDiscTableActual        = priceDiscTable;
        priceDiscTableActualData    = priceDiscTable.data();
    }
    
    info(strFmt("%1", priceDiscTableActual.RecId));
    info(strFmt("%1", priceDiscTableActualData.RecId));
}
Ничего странного нет в очистке курсора, ведь строка priceDiscTableActual = priceDiscTable присваивает ссылку на курсор, и как система добегает до конца и priceDiscTable становится null, то и priceDiscTableActual = null
__________________
Sergey Nefedov
За это сообщение автора поблагодарили: b_nosoff (1).
Теги
ax2012r2, pricedisc, буфер, класс, таблица

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
AX 2012 Пересчет единиц измерения - баг или фича? Kabardian DAX: Функционал 3 25.02.2014 11:00
PriceDisc.findPrice в DAX2009 - непонятно ZVV DAX: Программирование 3 30.12.2013 18:38
Баг в классе SysPDFFontType2 (формирование PDF) Hyper DAX: Программирование 6 15.06.2010 17:49
Баг в системном классе SysOperationProgressBase. Hyper DAX: Прочие вопросы 0 19.03.2009 18:58
Баг (?) в классе LedgerBalanceDim Peter Savintsev DAX: Программирование 3 18.06.2008 05:41

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

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

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