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
 
856 / 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
 
856 / 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
Если это прошито в ядре, то конечно придется смириться. Но попробовать, я попробую.
__________________
-Ты в гномиков веришь?
-Нет.
-А они в тебя верят, смотри, не подведи их.
Старый 16.02.2012, 22:47   #8  
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   #9  
lvan is offline
lvan
Участник
Аватар для lvan
Лучший по профессии 2014
 
856 / 82 (4) ++++
Регистрация: 15.04.2011
Записей в блоге: 1
Я имею ввиду то, что размер буфера в настройке AOS не влияет никак на объем буфера, который используется для кеширования с помощью cacheAddMethod
Старый 17.02.2012, 14:00   #10  
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   #11  
S.Kuskov is offline
S.Kuskov
Участник
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3,430 / 1772 (66) ++++++++
Регистрация: 28.04.2007
Адрес: Калуга
Цитата:
Сообщение от ivas Посмотреть сообщение
На сколько я помню, размер буфера влияет на максимальный разрешенный размер текста sql запроса.
Нет если и существует такое ограничение, то здеть точно не про него
Maximum buffer size
За это сообщение автора поблагодарили: Pustik (3), ivas (2).
Старый 17.02.2012, 14:11   #12  
Link is offline
Link
Британский учённый
Аватар для Link
Соотечественники
 
568 / 513 (19) +++++++
Регистрация: 25.11.2005
Адрес: UK
Записей в блоге: 9
Цитата:
Сообщение от Pustik Посмотреть сообщение
Если это прошито в ядре, то конечно придется смириться. Но попробовать, я попробую.
Как вариант.
Вложения
Тип файла: xpo Form_Tutorial_CacheDemo.xpo (5.5 Кб, 203 просмотров)
__________________
Людям физического труда для восстановления своих сил нужен 7-8 часовой ночной сон. Людям умственного труда нужно спать часов 9-10. Ну а программистов будить нельзя вообще.
Старый 17.02.2012, 15:41   #13  
Link is offline
Link
Британский учённый
Аватар для Link
Соотечественники
 
568 / 513 (19) +++++++
Регистрация: 25.11.2005
Адрес: UK
Записей в блоге: 9
Я на днях столкнулся с другой проблемой с дисплей методами. Как обновить закэшированные поля, когда их значение обновилось. Т.е. в моем случае форма отображает запас в наличии и после резервации на этой же форме, обновляется только текущая и соседние строки. Остальные строки обновляются только при перемещении к ним.
Случайно выяснил, что этот код сразу обновляет все строки:
X++:
SalesLineGrid.resetUserSetting();
Может кто то знает лучшее решение?
__________________
Людям физического труда для восстановления своих сил нужен 7-8 часовой ночной сон. Людям умственного труда нужно спать часов 9-10. Ну а программистов будить нельзя вообще.
За это сообщение автора поблагодарили: macklakov (5), plumbum (2).
Старый 17.02.2012, 16:02   #14  
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, 16:12   #15  
Pustik is offline
Pustik
Участник
 
807 / 372 (14) ++++++
Регистрация: 04.06.2004
Цитата:
Сообщение от Link Посмотреть сообщение
Я на днях столкнулся с другой проблемой с дисплей методами. Как обновить закэшированные поля, когда их значение обновилось. Т.е. в моем случае форма отображает запас в наличии и после резервации на этой же форме, обновляется только текущая и соседние строки. Остальные строки обновляются только при перемещении к ним.
Случайно выяснил, что этот код сразу обновляет все строки:
X++:
SalesLineGrid.resetUserSetting();
Может кто то знает лучшее решение?
Вот это интересно. Конечно executeQuery() поможет, но это , на мой взгляд, не всегда удобно пользователям. Потеряется позиционирование.
__________________
-Ты в гномиков веришь?
-Нет.
-А они в тебя верят, смотри, не подведи их.
Старый 17.02.2012, 16:15   #16  
Link is offline
Link
Британский учённый
Аватар для Link
Соотечественники
 
568 / 513 (19) +++++++
Регистрация: 25.11.2005
Адрес: UK
Записей в блоге: 9
Цитата:
Сообщение от Pustik Посмотреть сообщение
Вот это интересно. Конечно executeQuery() поможет, но это , на мой взгляд, не всегда удобно пользователям. Потеряется позиционирование.
В данном случае, нужно обновлять сразу как пользователь ввел новое значение, так что executeQuery() никак не подходит.
__________________
Людям физического труда для восстановления своих сил нужен 7-8 часовой ночной сон. Людям умственного труда нужно спать часов 9-10. Ну а программистов будить нельзя вообще.
Старый 17.02.2012, 16:20   #17  
ice is offline
ice
Участник
Аватар для ice
Лучший по профессии 2014
 
1,690 / 405 (17) +++++++
Регистрация: 23.03.2006
Цитата:
Сообщение от Pustik Посмотреть сообщение
Вот это интересно. Конечно executeQuery() поможет, но это , на мой взгляд, не всегда удобно пользователям. Потеряется позиционирование.
research(true) сохраняет позицию и фильтры, обновляя данные
За это сообщение автора поблагодарили: Pustik (3).
Старый 17.02.2012, 16:24   #18  
Pustik is offline
Pustik
Участник
 
807 / 372 (14) ++++++
Регистрация: 04.06.2004
Цитата:
Сообщение от Link Посмотреть сообщение
В данном случае, нужно обновлять сразу как пользователь ввел новое значение, так что executeQuery() никак не подходит.
Т.е. после изменения поля на текущей строке должны обновиться данные display-метода на соседних? Вы это имеете ввиду?
__________________
-Ты в гномиков веришь?
-Нет.
-А они в тебя верят, смотри, не подведи их.
Старый 17.02.2012, 16:41   #19  
Link is offline
Link
Британский учённый
Аватар для Link
Соотечественники
 
568 / 513 (19) +++++++
Регистрация: 25.11.2005
Адрес: UK
Записей в блоге: 9
Цитата:
Сообщение от Pustik Посмотреть сообщение
Т.е. после изменения поля на текущей строке должны обновиться данные display-метода на соседних? Вы это имеете ввиду?
Второе поле на скрине дисплейное, когда пользователь меняет резервацию, нужно обновлять все строки, так как номенклатура может повторяться.

Так работает, но обновление сильно заметно на глаз и все равно оно идет последовательно.
X++:
                element.lock();
                KAB_SalesReleaseOrderPicking_ds.research(true);
                element.unLock();

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

X++:
                SalesLineGrid.resetUserSetting();
Изображения
 
__________________
Людям физического труда для восстановления своих сил нужен 7-8 часовой ночной сон. Людям умственного труда нужно спать часов 9-10. Ну а программистов будить нельзя вообще.
За это сообщение автора поблагодарили: Pustik (3).
Старый 17.02.2012, 16:45   #20  
Pustik is offline
Pustik
Участник
 
807 / 372 (14) ++++++
Регистрация: 04.06.2004
Цитата:
Сообщение от Link Посмотреть сообщение
Второе поле на скрине дисплейное, когда пользователь меняет резервацию, нужно обновлять все строки, так как номенклатура может повторяться.

Так работает, но обновление сильно заметно на глаз и все равно оно идет последовательно.
понятно
__________________
-Ты в гномиков веришь?
-Нет.
-А они в тебя верят, смотри, не подведи их.
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
«Северодонецкий Азот» запустил в промышленную эксплуатацию контур «Управление персоналом» решения «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, время: 12:06.
Powered by vBulletin® v3.8.5. Перевод: zCarot
Контактная информация, Реклама.