Показать сообщение отдельно
Старый 18.11.2009, 16:27   #2  
_scorp_ is offline
_scorp_
Участник
Аватар для _scorp_
MCBMSS
 
488 / 369 (13) ++++++
Регистрация: 25.07.2007
Адрес: Москва
Скорее всего тормозит не запрос, а вставка во временную таблицу. Попробуйте закомментировать вот этот блок кода
X++:
if (qCustTrans)
        {
            tmpTable.clear();
            tmpTable.GroupFinancName    = ICLGroupsFinancTable::find(qContractTable.GroupFinancId).GroupFinancName;
            tmpTable.AccountNum         = qCustTrans.AccountNum;
            tmpTable.AccountName        = CustTable::find(qCustTrans.AccountNum).NameAlias;
            tmpTable.ContractNumberDate = qContractTable.contractNumberDate;
            tmpTable.Voucher            = qCustTrans.Voucher;
            tmpTable.Advance            = NoYes::No;
            tmpTable.DebtBeginPeriod    = qCustTrans.AmountCur;
            tmpTable.CurrentPayTotal    = tmpTable.BPayCurrent + tmpTable.PayCurrent;
            tmpTable.PayPeriodTotal     = tmpTable.BPay + tmpTable.Pay + tmpTable.CurrentPayTotal;
            tmpTable.CurrentDebt        = tmpTable.AddAmount + tmpTable.CurrentPayTotal;
            tmpTable.EndDebt            = tmpTable.DebtBeginPeriod + tmpTable.AddAmount + tmpTable.PayPeriodTotal;

            tmpTable.insert();
        }
и прогнать запрос снова. Если тормоза заключаются в этом, то Вам нужно пересматривать логику построения отчета.