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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 29.02.2024, 15:44   #1  
Logger is offline
Logger
Участник
Лучший по профессии 2015
Лучший по профессии 2014
 
3,932 / 3227 (115) ++++++++++
Регистрация: 12.10.2004
Адрес: Москва
Записей в блоге: 2
Багофича qbds.cacheAddMethod() для _updateOnWrite = true
Привет всем.

Заметил особенность кеширования дисплей методов для параметра _updateOnWrite = true метода cacheAddMethod().

Обновление значений дисплей методов идет при вызове super() в табличном методе update. (А лучше бы шло после отработки update.)

Последствия :
Если есть форма, шапка - строки (например SalesTable c двумя датасорсами - SalesTable_ds и SalesLine_ds)
На шапке есть дисплей методы отображающие агрегированные суммы из строк. Меняем в шапке скидку, это влияет на сумму по строке. Но при сохранении шапки, дисплей методы шапки обновляются до того как обновятся строки (обновление строк стоит после super() в методе update шапки). - Т.е. дисплей методы показывают неактуальные, старые значения сумм по строкам. Нужно сохранить шапку повторно, и только тогда обновятся дисплей методы. Для таких ситуаций (весьма часто встречающихся)) параметр _updateOnWrite = true бесполезен. Приходится его явно ставить в false и на write датасорса вызывать для каждого дисплей метода cacheCalculateMethod

Либо скопом один раз вызывать salesTable.executeCachedDisplayMethods()

(Ax 2012 R3)
За это сообщение автора поблагодарили: gl00mie (10).
Теги
cacheaddmethod, updateonwrite, баг, кеш

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Как узнать, что форма открыта через "Перейти к форме основной таблицы"? mazzy DAX: Программирование 15 13.09.2021 10:16
ошибка в AIF syl DAX: Программирование 14 20.08.2015 15:25
Сортировка в Report smailik DAX: Программирование 8 12.12.2013 20:10
Очередная бороьба с Query() (DAX2009) RVS DAX: Программирование 3 17.07.2013 23:07
NoExistsJoin и addRange Deepoint DAX: Программирование 15 04.07.2012 11:11

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

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

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 01:43.
Powered by vBulletin® v3.8.5. Перевод: zCarot
Контактная информация, Реклама.