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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 03.08.2007, 11:29   #25  
Михаил Андреев is offline
Михаил Андреев
Участник
Компания АМАНД
Лучший по профессии 2009
 
1,300 / 239 (10) ++++++
Регистрация: 09.11.2001
Адрес: Химки, Московская область
16033 - Russian report generator performance was improved
Поставил СП2. Как ставил - предмет отдельного опуса, учитывая, что у меня Windows XP Home Edition.
Прочитал, что ускорена работа российского генератора отчётов. Открываю метод класса
LedgerRRGOperationTurnoverCorrCredit_RU:
X++:
public AmountMST calc()
{
    AmountMST sumTmp, corrTotal =0;

    while select m_AccountList
    {
        while select m_OffsetAccountList
        {
            while select AmountMST, AmountMSTSecond, TransType, OperationsTax, Correct, Dimension from m_LedgerTrans
                where m_LedgerTrans.AccountNum == m_AccountList.AccountNum                     &&
                      m_LedgerTrans.PeriodCode == PeriodCode::Regular                          &&
                      m_LedgerTrans.TransDate  >= m_CalculateDateFrom                          &&
                      m_LedgerTrans.TransDate  <= m_CalculateDateTo                            &&
                      m_LedgerTrans.Crediting  == NoYes::Yes                                   &&
                      m_LedgerTrans.BondBatch_RU                                               &&
                      m_LedgerTrans.BondBatchTrans_RU

            exists join m_OffsetLedgerTrans
                where m_OffsetLedgerTrans.AccountNum        == m_OffsetAccountList.AccountNum  &&
                      m_OffsetLedgerTrans.PeriodCode        == PeriodCode::Regular             &&
                      m_OffsetLedgerTrans.TransDate         == m_LedgerTrans.TransDate         &&
                      m_OffsetLedgerTrans.Voucher           == m_LedgerTrans.Voucher           &&
                      m_OffsetLedgerTrans.Crediting         ==  NoYes::No                      &&
                      m_OffsetLedgerTrans.BondBatch_RU      == m_LedgerTrans.BondBatch_RU      &&
                      m_OffsetLedgerTrans.BondBatchTrans_RU == m_LedgerTrans.BondBatchTrans_RU &&
                      m_OffsetLedgerTrans.RecId             !=  m_LedgerTrans.RecId
            {
                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;
                    }
                    corrTotal += (m_AccountList.ReverseSign ? (-1) : 1) * sumTmp;
                }
            }
        }
    }

    return -corrTotal;
}
И в чём ускорение? Самое узкое место - ручной перебор ВСЕХ проводок, так и осталось за бортом. Или я неправ и не туда смотрю?
__________________
Михаил Андреев
https://www.amand.ru
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Arijit Basu: AX 2009 - Quick Overview Blog bot DAX Blogs 4 19.05.2008 14:47
Arijit Basu: Optimizing Data Upgrade for Microsoft Dynamics AX 4.0 and 4.0 Service Pack on Microsoft SQL Server Blog bot DAX Blogs 1 10.01.2008 12:06
Arijit Basu: Microsoft Dynamics™ AX Mobile Blog bot DAX Blogs 0 02.08.2007 22:00
Arijit Basu: Hot Fixes released for Microsoft Dynamics™ AX 4.0 Blog bot DAX Blogs 0 12.06.2007 08:41
Dynamics AX: Microsoft Dynamics AX (DAX): Known Issues when upgrading to Microsoft Dynamics™ AX 4.0 - Arijit Basu | AX MVP Blog bot DAX Blogs 0 31.05.2007 03:30

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

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

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