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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 28.10.2014, 03:53   #1  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Сообщение от wojzeh Посмотреть сообщение
Проблема отсутствия искомой цены не может быть надуманной, ибо для того и нужна система, чтоб получать нужные данные.
она их и получит.
обратите внимание, что в вашем утверждении ничего не сказано про время

Цитата:
Сообщение от wojzeh Посмотреть сообщение
Дело в том, что класс PriceDisc_Price для поиска цен использует класс PriceDisc, который найденные значения добавляет в глобальный кэш
да. а вот как раз за это яйца бы оторвать разработчикам последних версий.
которые вместо использования стандартных механизмов выполняют закат солнца вручную.
Старый 28.10.2014, 17:06   #2  
wojzeh is offline
wojzeh
Участник
Аватар для wojzeh
Соотечественники
 
677 / 517 (19) +++++++
Регистрация: 27.04.2006
Адрес: Montreal
Цитата:
Сообщение от mazzy Посмотреть сообщение
она их и получит.
обратите внимание, что в вашем утверждении ничего не сказано про время


да. а вот как раз за это яйца бы оторвать разработчикам последних версий.
которые вместо использования стандартных механизмов выполняют закат солнца вручную.
давай на ты, в интернете всё-таки!

о времени давно уже сказано до нас, что оно - деньги. я тут писал модуль симуляции розничных цен для крупнейшего поставщика автозапчастей, и уверяю тебя, эти люди порвут кого угодно, если новая цена не будет появляться чуть раньше реального времени.

вторая часть комментария эмоциональная, но не конструктивная.

глобальный кэш -- вполне себе стандартный механизм, как раз созданный для того, где кеширование таблиц не очень эффективно. впрочем, это, как я понимаю, тема для обширных дискуссий.

тем более, что используется он не для всех случаев при поиске цен. например, тот же приснопамятный метод findDisc:

X++:
// To avoid flooding the cache the most granualated setup isn't cached.
// ADAXBasis - Begin
    cacheMode = !(_itemCode      == ADAXTableCategoryGroupAll::Table
                 && _accountCode == ADAXTableGroupOfContractGroupAll::Table);
// ADAXBasis - End
Кроме того, он сбрасывается при всяком "шевелении" таблицы цен\скидок.

Нажмите на изображение для увеличения
Название: цены.png
Просмотров: 215
Размер:	12.5 Кб
ID:	9019

Для моего конкретного случая, когда нужно загружать сотни тысяч новых цен, я это дело отключил.

А вот как бы сделать так, чтоб Ваня заинтересовался косяком, про который я написал, и пофиксили бы это дело в консерватории...
__________________
Felix nihil admirari
Старый 29.10.2014, 09:05   #3  
SRF is offline
SRF
Участник
MCBMSS
Axapta Retail User
 
376 / 562 (19) +++++++
Регистрация: 08.08.2007
Записей в блоге: 1
Цитата:
Сообщение от wojzeh Посмотреть сообщение
Кроме того, он сбрасывается при всяком "шевелении" таблицы цен\скидок.
Да, но только проблема этого кеширования в том, что кеш сбрасывается только для АОСа, на котором происходило "шевеление", а на других оставшихся АОСах глобальный кеш остается неизменным Приходится в некоторых операциях насильно его вручную обновлять.
__________________
Sergey Nefedov
Старый 29.10.2014, 17:13   #4  
wojzeh is offline
wojzeh
Участник
Аватар для wojzeh
Соотечественники
 
677 / 517 (19) +++++++
Регистрация: 27.04.2006
Адрес: Montreal
Цитата:
Сообщение от SRF Посмотреть сообщение
Да, но только проблема этого кеширования в том, что кеш сбрасывается только для АОСа, на котором происходило "шевеление", а на других оставшихся АОСах глобальный кеш остается неизменным Приходится в некоторых операциях насильно его вручную обновлять.
ничего подобного! почитайте же по ссылке что написано: кэш реально global.
__________________
Felix nihil admirari
Старый 29.10.2014, 10:37   #5  
Ivanhoe is offline
Ivanhoe
Участник
Аватар для Ivanhoe
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
4,143 / 2161 (81) +++++++++
Регистрация: 29.09.2005
Адрес: Санкт-Петербург
Цитата:
Сообщение от wojzeh Посмотреть сообщение
А вот как бы сделать так, чтоб Ваня заинтересовался косяком, про который я написал, и пофиксили бы это дело в консерватории...
Понимаю, что про другого Ваню, но все же Если объяснишь, на какой версии и как повторить, то зарегистрирую в MS.
__________________
Ivanhoe as is..
За это сообщение автора поблагодарили: kashperuk (3).
Старый 29.10.2014, 11:33   #6  
kashperuk is offline
kashperuk
Участник
Аватар для kashperuk
MCBMSS
Соотечественники
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,361 / 2084 (78) +++++++++
Регистрация: 30.05.2004
Адрес: Atlanta, GA, USA
Цитата:
Сообщение от SRF Посмотреть сообщение
Да, но только проблема этого кеширования в том, что кеш сбрасывается только для АОСа, на котором происходило "шевеление", а на других оставшихся АОСах глобальный кеш остается неизменным Приходится в некоторых операциях насильно его вручную обновлять.
Как это? Другие АОСы тоже должны его сбросить, просто чуть с задержкой.

Цитата:
Сообщение от Ivanhoe Посмотреть сообщение
Понимаю, что про другого Ваню, но все же Если объяснишь, на какой версии и как повторить, то зарегистрирую в MS.
О, вот и доброволец нашелся. Спасибо!
Старый 29.10.2014, 17:14   #7  
wojzeh is offline
wojzeh
Участник
Аватар для wojzeh
Соотечественники
 
677 / 517 (19) +++++++
Регистрация: 27.04.2006
Адрес: Montreal
Цитата:
Сообщение от Ivanhoe Посмотреть сообщение
Понимаю, что про другого Ваню, но все же Если объяснишь, на какой версии и как повторить, то зарегистрирую в MS.
AX2012 R2, R3
__________________
Felix nihil admirari
Старый 30.10.2014, 11:25   #8  
Ivanhoe is offline
Ivanhoe
Участник
Аватар для Ivanhoe
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
4,143 / 2161 (81) +++++++++
Регистрация: 29.09.2005
Адрес: Санкт-Петербург
Цитата:
Сообщение от wojzeh Посмотреть сообщение
AX2012 R2, R3
А как повторить то?
__________________
Ivanhoe as is..
Старый 30.10.2014, 17:22   #9  
wojzeh is offline
wojzeh
Участник
Аватар для wojzeh
Соотечественники
 
677 / 517 (19) +++++++
Регистрация: 27.04.2006
Адрес: Montreal
Цитата:
Сообщение от Ivanhoe Посмотреть сообщение
А как повторить то?
на рабочем проекте я получил ситуацию, когда флажок "цена найдена" был взведён, а переданный буфер оказался пустым. повторять конкретно на том классе сейчас у меня времени нет, но суть примерно такова:

X++:
static void tmxTestCustTable(Args _args)
{
    PriceDiscTable   priceTable;
    PriceDiscTable   foundPriceTable;
    PriceDiscTable   foundPriceTableData;
    int         maxCust = 5;
    int         i = 1;
    
    while select priceTable
    {
        info(strFmt("in loop %1: %2", i, priceTable.RecId));
        if(i == 2)
        {
            foundPriceTable = priceTable;
            foundPriceTableData = priceTable.data();
            info("<-- let's say this is what we were looking for...");
        }
        
        if(i>maxCust)
        {
            break;
        }
        else
        {
            i++;
        }
    }
    info("---------------------------------------");
    info(strFmt("priceTable buffer after %1", priceTable.RecId));
    info(strFmt("found reference after %1", foundPriceTable.RecId));
    info(strFmt("found buffer after %1", foundPriceTableData.RecId));
}
результат

X++:
Message (10:19:22 am)
in loop 1: 5637351352
in loop 2: 5637349038
<-- let's say this is what we were looking for...
in loop 3: 5637349039
in loop 4: 5637344655
in loop 5: 5637339598
in loop 6: 5637331591
---------------------------------------
priceTable buffer after 5637331591
found reference after 5637331591
found buffer after 5637349038
соответственно, если буфер по дороге где-то обнуляется, то искомые данные митькой звали.
__________________
Felix nihil admirari
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
crminthefield: Podcast and Overview: Microsoft Dynamics CRM 2011 Update Rollup 15 Blog bot Dynamics CRM: Blogs 1 10.02.2016 10:26
emeadaxsupport: Managing general performance issues in Microsoft Dynamics AX Blog bot DAX Blogs 0 12.09.2014 12:11
DAX: Official Dynamics AX 2012 R2 Content (update) - Where is it, and how can you find out about updates? Blog bot DAX Blogs 0 03.12.2012 11:11
crminthefield: Podcast and Overview: Microsoft Dynamics CRM 2011 Update Rollup 10 Blog bot Dynamics CRM: Blogs 0 17.08.2012 03:27
CRM DE LA CREME! Configuring Microsoft Dynamics CRM 4.0 for Internet-facing deployment Blog bot Dynamics CRM: Blogs 0 18.08.2009 11:05

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

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

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