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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 06.11.2008, 18:30   #1  
Poleax is offline
Poleax
Модератор
Аватар для Poleax
MCP
MCBMSS
Злыдни
 
1,353 / 595 (22) +++++++
Регистрация: 17.02.2005
Адрес: msk
Записей в блоге: 34
! Оптимизация кода с LedgerTrans
Есть в Axapte 3 SP6 class LedgerRRGOperationBalanceTotal_RU метод
X++:
public AmountMST calc()
{
    AmountMST   sumTmp, balanceAmountMST;

    balanceAmountMST = 0;

    if (m_PEriodType == LedgerRRGBalancePeriodType_RU::Incoming)
        m_CalculateDate -=  1;

    while select  m_AccountList
    outer join    m_LedgerTrans
        where m_LedgerTrans.TransDate  <= m_CalculateDate          &&
              m_AccountList.AccountNum == m_LedgerTrans.AccountNum &&
              m_LedgerTrans.PeriodCode == PeriodCode::Regular
    {
        if (this.checkTransaction(m_LedgerTrans.TransType,
                                  m_LedgerTrans.OperationsTax,
                                  m_LedgerTrans.Correct,
                                  m_LedgerTrans.Dimension,
                                  ''))
        {
            if (m_currencyForCalc == LedgerRRGCurrencyForCalc_RU::AmountMST)
            {
                sumTmp = m_LedgerTrans.AmountMST;
            }
            else
            {
                sumTmp = m_LedgerTrans.AmountMSTSecond;
            }

            balanceAmountMST    += (m_AccountList.ReverseSign ? (-1) : 1) * sumTmp;
        }
    }

    return  balanceAmountMST;
}
Как его можно оптимизировать? Ощутимо долго цикл пробегается по LedgerTrans, да при этом еще вызывает postLoad каждый раз.
Теги
ledgertrans, отчет, производительность, ax3.0, финансовые движения

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Оптимизация кода exodus DAX: Программирование 11 07.11.2007 13:16
Как для ГК операции в LedgerTrans найти соответствующую операцию в VendTrans? romulis DAX: Программирование 20 29.08.2006 14:10
При в таблице LedgerTrans не заполняется поле vasiliy DAX: Программирование 5 08.04.2005 11:43
проблема с настройкой штрихового кода Nic DAX: Функционал 4 27.12.2004 09:04
Оптимизация кода X++ Владимир Максимов DAX: Программирование 8 19.01.2004 15:24

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

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

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