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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 16.02.2012, 20:47   #1  
Pustik is offline
Pustik
Участник
 
807 / 372 (14) ++++++
Регистрация: 04.06.2004
Управление cacheAddMethod()
Уважаемые коллеги, Добрый вечер.
Добавление display-метода в кэш очень замечательная вещь.Раньше приходилось на это тратить время на программирование. Но, насколько я понимаю, он в кэш ложит то, что хранится в буфере. Возможно ли как-нибудь этот буфер увеличить? Для простоты восприятия приведу пример : Пользователь открывает форму, на которой висит display-метод. Форма не много задумывается, потом открывается. По прокрутке колесиком вниз пользователь "листает" содержимое. Прокрутка вниз не много начинает притормаживать, потому что сначала считываются(расчитываются) реальные данные, только потом записываются в кэш. Далее пользователь крутит колесико вверх, и вот тут мы видим все удобства этой фичи. Тормозов нет. К этому вопрос, можно ли как-нибудь увеличить буфер записывания в кэш значений display-метода? Т.е. пусть форма откроется чуть дольше, но прокручивание грида вверх и вниз не вызовет у пользователей неудобств, связанных с тормозами.
__________________
-Ты в гномиков веришь?
-Нет.
-А они в тебя верят, смотри, не подведи их.
Старый 16.02.2012, 22:02   #2  
lvan is offline
lvan
Участник
Аватар для lvan
Лучший по профессии 2014
 
858 / 82 (4) ++++
Регистрация: 15.04.2011
Записей в блоге: 1
Цитата:
Сообщение от Pustik Посмотреть сообщение
ложит
кладёт
Старый 16.02.2012, 22:15   #3  
Pustik is offline
Pustik
Участник
 
807 / 372 (14) ++++++
Регистрация: 04.06.2004
Цитата:
Сообщение от lvan Посмотреть сообщение
кладёт
Спасибо за замечание.
Меня волнует эта тема потому, что раньше в качестве кэша мы использовали мар-ы и могли программно определять какой диапазон закэшированных display-методов необходим.Но для этого нужно программировать.Сейчас - одна строчка в методе init() соответствующего датасорса и все ок.
__________________
-Ты в гномиков веришь?
-Нет.
-А они в тебя верят, смотри, не подведи их.
Старый 16.02.2012, 22:17   #4  
glibs is offline
glibs
Member
Сотрудники компании It Box
Most Valuable Professional
Лучший по профессии 2011
Лучший по профессии 2009
 
4,942 / 911 (40) +++++++
Регистрация: 10.06.2002
Адрес: I am from Kyiv, Ukraine. Now I am in Moscow. For private contacts: glibs@hotmail.com
Максимальный размер буфера в конфигурационной утилите АОСа пробовали увеличить?

С точки зрения теории формы открываться будут дольше. При пролистывании при возникновении необходимости подчитывания тормозить будет дольше. Проверьте.
__________________
С уважением,
glibs®
За это сообщение автора поблагодарили: Pustik (3).
Старый 16.02.2012, 22:21   #5  
Pustik is offline
Pustik
Участник
 
807 / 372 (14) ++++++
Регистрация: 04.06.2004
Цитата:
Сообщение от glibs Посмотреть сообщение
Максимальный размер буфера в конфигурационной утилите АОСа пробовали увеличить?

С точки зрения теории формы открываться будут дольше. При пролистывании при возникновении необходимости подчитывания тормозить будет дольше. Проверьте.
Спасибо, обязательно проверю.
__________________
-Ты в гномиков веришь?
-Нет.
-А они в тебя верят, смотри, не подведи их.
Старый 16.02.2012, 22:29   #6  
lvan is offline
lvan
Участник
Аватар для lvan
Лучший по профессии 2014
 
858 / 82 (4) ++++
Регистрация: 15.04.2011
Записей в блоге: 1
Цитата:
Сообщение от glibs Посмотреть сообщение
Максимальный размер буфера в конфигурационной утилите АОСа пробовали увеличить?

С точки зрения теории формы открываться будут дольше. При пролистывании при возникновении необходимости подчитывания тормозить будет дольше. Проверьте.
а вот это уж точно к кешированию на форме никакого отношения не имеет
достаточно прочитать описание к этому параметру путем нажатия F1 или на кнопку Online help
Старый 16.02.2012, 22:43   #7  
Pustik is offline
Pustik
Участник
 
807 / 372 (14) ++++++
Регистрация: 04.06.2004
Если это прошито в ядре, то конечно придется смириться. Но попробовать, я попробую.
__________________
-Ты в гномиков веришь?
-Нет.
-А они в тебя верят, смотри, не подведи их.
Старый 17.02.2012, 14:11   #8  
Link is offline
Link
Британский учённый
Аватар для Link
Соотечественники
 
568 / 523 (19) +++++++
Регистрация: 25.11.2005
Адрес: UK
Записей в блоге: 9
Цитата:
Сообщение от Pustik Посмотреть сообщение
Если это прошито в ядре, то конечно придется смириться. Но попробовать, я попробую.
Как вариант.
Вложения
Тип файла: xpo Form_Tutorial_CacheDemo.xpo (5.5 Кб, 209 просмотров)
__________________
Людям физического труда для восстановления своих сил нужен 7-8 часовой ночной сон. Людям умственного труда нужно спать часов 9-10. Ну а программистов будить нельзя вообще.
Старый 17.02.2012, 15:41   #9  
Link is offline
Link
Британский учённый
Аватар для Link
Соотечественники
 
568 / 523 (19) +++++++
Регистрация: 25.11.2005
Адрес: UK
Записей в блоге: 9
Я на днях столкнулся с другой проблемой с дисплей методами. Как обновить закэшированные поля, когда их значение обновилось. Т.е. в моем случае форма отображает запас в наличии и после резервации на этой же форме, обновляется только текущая и соседние строки. Остальные строки обновляются только при перемещении к ним.
Случайно выяснил, что этот код сразу обновляет все строки:
X++:
SalesLineGrid.resetUserSetting();
Может кто то знает лучшее решение?
__________________
Людям физического труда для восстановления своих сил нужен 7-8 часовой ночной сон. Людям умственного труда нужно спать часов 9-10. Ну а программистов будить нельзя вообще.
За это сообщение автора поблагодарили: macklakov (5), plumbum (2).
Старый 17.02.2012, 16:12   #10  
Pustik is offline
Pustik
Участник
 
807 / 372 (14) ++++++
Регистрация: 04.06.2004
Цитата:
Сообщение от Link Посмотреть сообщение
Я на днях столкнулся с другой проблемой с дисплей методами. Как обновить закэшированные поля, когда их значение обновилось. Т.е. в моем случае форма отображает запас в наличии и после резервации на этой же форме, обновляется только текущая и соседние строки. Остальные строки обновляются только при перемещении к ним.
Случайно выяснил, что этот код сразу обновляет все строки:
X++:
SalesLineGrid.resetUserSetting();
Может кто то знает лучшее решение?
Вот это интересно. Конечно executeQuery() поможет, но это , на мой взгляд, не всегда удобно пользователям. Потеряется позиционирование.
__________________
-Ты в гномиков веришь?
-Нет.
-А они в тебя верят, смотри, не подведи их.
Старый 17.02.2012, 16:15   #11  
Link is offline
Link
Британский учённый
Аватар для Link
Соотечественники
 
568 / 523 (19) +++++++
Регистрация: 25.11.2005
Адрес: UK
Записей в блоге: 9
Цитата:
Сообщение от Pustik Посмотреть сообщение
Вот это интересно. Конечно executeQuery() поможет, но это , на мой взгляд, не всегда удобно пользователям. Потеряется позиционирование.
В данном случае, нужно обновлять сразу как пользователь ввел новое значение, так что executeQuery() никак не подходит.
__________________
Людям физического труда для восстановления своих сил нужен 7-8 часовой ночной сон. Людям умственного труда нужно спать часов 9-10. Ну а программистов будить нельзя вообще.
Старый 17.02.2012, 16:20   #12  
ice is offline
ice
Участник
Аватар для ice
Лучший по профессии 2014
 
1,817 / 402 (17) +++++++
Регистрация: 23.03.2006
Цитата:
Сообщение от Pustik Посмотреть сообщение
Вот это интересно. Конечно executeQuery() поможет, но это , на мой взгляд, не всегда удобно пользователям. Потеряется позиционирование.
research(true) сохраняет позицию и фильтры, обновляя данные
За это сообщение автора поблагодарили: Pustik (3).
Старый 16.02.2012, 22:47   #13  
glibs is offline
glibs
Member
Сотрудники компании It Box
Most Valuable Professional
Лучший по профессии 2011
Лучший по профессии 2009
 
4,942 / 911 (40) +++++++
Регистрация: 10.06.2002
Адрес: I am from Kyiv, Ukraine. Now I am in Moscow. For private contacts: glibs@hotmail.com
2 lvan:

Вопрос, вроде, был про то, как считать за раз больше данных, если я правильно умею читать.

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

А что конкретно вы имеете в виду?
__________________
С уважением,
glibs®
Старый 17.02.2012, 01:11   #14  
lvan is offline
lvan
Участник
Аватар для lvan
Лучший по профессии 2014
 
858 / 82 (4) ++++
Регистрация: 15.04.2011
Записей в блоге: 1
Я имею ввиду то, что размер буфера в настройке AOS не влияет никак на объем буфера, который используется для кеширования с помощью cacheAddMethod
Старый 17.02.2012, 14:00   #15  
ivas is offline
ivas
Участник
Аватар для ivas
 
252 / 68 (3) ++++
Регистрация: 22.12.2005
На сколько я помню, размер буфера влияет на максимальный разрешенный размер текста sql запроса.
Или мы говорим про разные буфера?
__________________
aLL woRk aNd nO JoY MAKes jAck a dULL Boy
Старый 17.02.2012, 14:06   #16  
S.Kuskov is offline
S.Kuskov
Участник
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3,444 / 1781 (66) ++++++++
Регистрация: 28.04.2007
Адрес: Калуга
Цитата:
Сообщение от ivas Посмотреть сообщение
На сколько я помню, размер буфера влияет на максимальный разрешенный размер текста sql запроса.
Нет если и существует такое ограничение, то здеть точно не про него
Maximum buffer size
За это сообщение автора поблагодарили: Pustik (3), ivas (2).
Старый 17.02.2012, 16:02   #17  
ivas is offline
ivas
Участник
Аватар для ivas
 
252 / 68 (3) ++++
Регистрация: 22.12.2005
Цитата:
Сообщение от S.Kuskov Посмотреть сообщение
Нет если и существует такое ограничение, то здеть точно не про него
Maximum buffer size
точняк, перепутал)
__________________
aLL woRk aNd nO JoY MAKes jAck a dULL Boy
Старый 17.02.2012, 20:42   #18  
Link is offline
Link
Британский учённый
Аватар для Link
Соотечественники
 
568 / 523 (19) +++++++
Регистрация: 25.11.2005
Адрес: UK
Записей в блоге: 9
Параметр на АОС может помочь по идее: When records are fetched from the database, N records are fetched at a time. The Array fetch ahead option gives the maximum number of records that the system fetches at a time. The default maximum of 100 is very rarely changed.
__________________
Людям физического труда для восстановления своих сил нужен 7-8 часовой ночной сон. Людям умственного труда нужно спать часов 9-10. Ну а программистов будить нельзя вообще.
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
«Северодонецкий Азот» запустил в промышленную эксплуатацию контур «Управление персоналом» решения «Production.Chemical.ETE» на платформе Microsoft Dynamics AX (пресс-релиз) entecheco DAX в Украине 0 08.06.2010 16:13
«Управление персоналом» Axapta 3.0? Yegor DAX: Функционал 2 21.07.2004 12:32
Модуль “Управление персоналом” ? Таня DAX: Функционал 4 15.07.2004 16:18
Группы маршрутизации и управление заданиями PSA DAX: Функционал 4 09.06.2004 16:38
Управление платежами xconsul DAX: Функционал 0 05.11.2003 12:28

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

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

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