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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 26.03.2005, 09:28   #1  
Woland is offline
Woland
Участник
 
21 / 10 (1) +
Регистрация: 24.11.2002
display метод тормозит
Доброго всем здравия!

Задача: Считать сумму по строкам заказа и выводить в грид в заголовок. Форма SalesTable.

Реализация: Создал display метод на датасорсе, вывел в грид.

Проблема: Тормозит при прорисовке.

Это как-нибудь лечится?

С уважением, Woland.
Старый 26.03.2005, 11:46   #2  
George Nordic is offline
George Nordic
Модератор
Аватар для George Nordic
Злыдни
 
4,479 / 1250 (50) ++++++++
Регистрация: 17.12.2003
Адрес: Moscow
Записей в блоге: 9
1) Вы как считаете: со скидками, со скорректированными налогами, с учетом отгруженных и т.п.? Тогда неудивительно, что тормозит.
2) Если алгоритм расчета проще - то закешируйте этот метод
добавьте в ините датасорса this.cashaddmethod("Мой чудесный метод");
3) Если же все-таки алгоритм рассчета сложный, то, видимо, придется делать еше одно поле в SalesTable и пересчитывать его при изменении некоторых параметров, влияющих на стоимость заказа. Будьте осторожны, допустим, SalesTable/Line Type использует doInsert, дабы избежать рекурсии. Так что, просто пререкрыв validateField/write на SalesLine, изменение ряда пареметров не поведет за собой вызова Вашего пересчета.

С Уважением,
Георгий.
Старый 26.03.2005, 12:11   #3  
Woland is offline
Woland
Участник
 
21 / 10 (1) +
Регистрация: 24.11.2002
Спасибо за ответ.

Алгорит не сложный: суммирование сумм строк.

Метод кэшировал, но результата это не дало никакого, во всяком случае визуально
все так же притормаживает и моргает.

С Уважением, Woland.
Старый 26.03.2005, 12:31   #4  
George Nordic is offline
George Nordic
Модератор
Аватар для George Nordic
Злыдни
 
4,479 / 1250 (50) ++++++++
Регистрация: 17.12.2003
Адрес: Moscow
Записей в блоге: 9
Мда.. display выполняются на клиенте...

Давай обманем:сделай 2 метода:
PHP код:
server Amount getPrice()
{
    
salesLine salesline
    amount amount
;
    ;
    while 
select Amount
        from SalesLine
        where sl
.sid == this.sid....
        {
            
amount += ...
        }  
    
returm amount;
}

display amount showAmount()
{
    return 
this.getAmount.

showAmount закэшируй обязадельно. попробуй addCalculatemethod.

С Уважением,
Георгий.
Старый 28.03.2005, 14:49   #5  
Maxim Gorbunov is offline
Maxim Gorbunov
Administrator
Соотечественники
Лучший по профессии 2009
 
2,483 / 645 (26) +++++++
Регистрация: 27.11.2001
Адрес: Dubai, UAE
Лучше разберитесь с классом SalesTotals.
__________________
Not registered yet? Register here!
Have comments, questions, suggestions or anything else regarding our web site? Don't hesitate, send them to me
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Grid и display-метод Russland DAX: Программирование 20 09.04.2007 09:25
display-метод Pavel Pustovalov DAX: Программирование 9 21.03.2006 10:03
Можно ли в display методе узнать для какого FormControl'а этот метод вызван? Dudnik Anton DAX: Программирование 3 01.02.2006 12:22
display метод с параметром Андре DAX: Программирование 5 11.01.2006 19:04
display метод для StaticText dmitry.v DAX: Программирование 2 07.10.2005 11:12

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

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

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