Кстати, я нашел запрос, точнее это оказался апдейт, который вызывал тормоза.
Класс 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. После этого склад отменяется за минуты вместо часов.