Показать сообщение отдельно
Старый 23.08.2012, 08:19   #19  
TravellerInTime is offline
TravellerInTime
Участник
Аватар для TravellerInTime
 
130 / 36 (2) +++
Регистрация: 14.07.2003
Адрес: Россия, Тула
Кстати, я нашел запрос, точнее это оказался апдейт, который вызывал тормоза.
Класс InventCostClosingCancel_WorkInvent метод duplicateSettlements()
X++:
update_recordset inventSettlement
        setting Cancelled             = NoYes::Yes,
                QtySettled            = -1 * inventSettlement.QtySettled,
                CostAmountSettled     = -1 * inventSettlement.CostAmountSettled,
                CostAmountAdjustment  = -1 * inventSettlement.CostAmountAdjustment
        where inventSettlement.Voucher                == newVoucher
           && inventSettlement.TransDate              == newTransDate
           // <GEEU>
           && inventSettlement.InventTransCurrency_RU == inventTransCurrency
           // </GEEU>
           && inventSettlement.Cancelled              == NoYes::No
           && inventSettlement.ItemId                 == itemId;
Анализ показал, что sql server применял не правильный индекс.
Как указать в update_recordset индекс я не нашел, поэтому изменил индекс ItemDateIdx, добавив в него поле Voucher. После этого склад отменяется за минуты вместо часов.
За это сообщение автора поблагодарили: mazzy (2), Bega (5), androzavr (1).