![]() |
#25 |
Участник
|
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; } |
|
|
|