Показать сообщение отдельно
Старый 11.09.2008, 12:47   #15  
Vadik is offline
Vadik
Модератор
Аватар для Vadik
Лучший по профессии 2017
Лучший по профессии 2015
 
3,631 / 1850 (69) ++++++++
Регистрация: 18.11.2002
Адрес: гражданин Москвы
Цитата:
Сообщение от mazzy Посмотреть сообщение
Думаю, что надо дальше искать и анализировать тяжелые запросы
Уверен?

\Data Dictionary\Tables\ProdBOM\Methods\calcCostAmount

X++:
container calcRealCostAmount()
{
    InventTrans             inventTrans;
    InventDimParm           inventDimParmFinancial;
    InventDimParm           inventDimParmActive;
    InventDimGroupId        dimGroupId;
    InventQty               qty = 0;
    CostAmount              value = 0;
    boolean                 first = true;
    ;

    while select inventTrans                   // !!!
        index hint TransIdIdx
        where inventTrans.InventTransId       == this.InventTransId &&
              inventTrans.ItemId              == this.ItemId        &&
              inventTrans.StatusIssue         == StatusIssue::Deducted  &&
              inventTrans.ValueOpen           == InventTransOpen::Yes   &&
              inventTrans.PackingSlipReturned == NoYes::No
        {

            if (first)
            {
                dimGroupId  = InventTable::find(inventTrans.ItemId).DimGroupId;
                inventDimParmFinancial.initFinancialInvent(dimGroupId);
                inventDimParmActive.initDimActive(dimGroupId);
                first = false;
            }

            qty   += inventTrans.Qty;
            value += inventTrans.estimatedCostValue(inventDimParmFinancial,inventDimParmActive);   /// !!!
        }

    qty = abs(qty);
    value = abs(value);

    return [qty,value];
}
и как этому не тормозить при тысячах отборочных накладных по производственному заказу?
__________________
-ТСЯ или -ТЬСЯ ?